diff --git a/ninjalist/.gitignore b/ninjalist/.gitignore new file mode 100644 index 00000000..1437c53f --- /dev/null +++ b/ninjalist/.gitignore @@ -0,0 +1,34 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel diff --git a/ninjalist/.next/build-manifest.json b/ninjalist/.next/build-manifest.json new file mode 100644 index 00000000..53c63fe3 --- /dev/null +++ b/ninjalist/.next/build-manifest.json @@ -0,0 +1,69 @@ +{ + "polyfillFiles": [ + "static/chunks/polyfills-ff94e68042added27a93.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [ + "static/xCKTnFHQKgKdw_5uZsJkh/_buildManifest.js", + "static/xCKTnFHQKgKdw_5uZsJkh/_ssgManifest.js" + ], + "pages": { + "/": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/b1d914279cf3de2ad9869035676d1b3a6d141437.14e1a187414478eec558.js", + "static/css/7cb200ab06758ac64216.css", + "static/chunks/pages/index-eb043439eacc7c79d72b.js" + ], + "/404": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/b1d914279cf3de2ad9869035676d1b3a6d141437.14e1a187414478eec558.js", + "static/chunks/pages/404-45903d5c3a1182a549b3.js" + ], + "/_app": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/b1d914279cf3de2ad9869035676d1b3a6d141437.14e1a187414478eec558.js", + "static/css/6d895b886801159d78ab.css", + "static/chunks/pages/_app-d2ca7cd0b7900c2032fa.js" + ], + "/_error": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/pages/_error-ae0c3139a590435d142f.js" + ], + "/about": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/pages/about-56eb620d081d2f880af4.js" + ], + "/ninjas": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/b1d914279cf3de2ad9869035676d1b3a6d141437.14e1a187414478eec558.js", + "static/css/5039f2be4c138e3811ec.css", + "static/chunks/pages/ninjas-462f9d094eda546dc2cf.js" + ], + "/ninjas/[id]": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/pages/ninjas/[id]-cc401e0f71d1db7aac93.js" + ], + "/ninjas/ninjas": [ + "static/chunks/main-3ef7ec120fd362589b7e.js", + "static/chunks/webpack-50bee04d1dc61f8adf5b.js", + "static/chunks/framework.abffcf18e526b7c0dbcd.js", + "static/chunks/pages/ninjas/ninjas-c168a487b80d3006e3f1.js" + ] + }, + "ampFirstPages": [] +} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/00/6d/89b805ad129e46ed6fbaedf2005263137b7467d2bc1cf8985d5cca65690110f3ecb769818679016b2fade458855cb3ef84779c8692734d3bf75ec09a550c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/00/6d/89b805ad129e46ed6fbaedf2005263137b7467d2bc1cf8985d5cca65690110f3ecb769818679016b2fade458855cb3ef84779c8692734d3bf75ec09a550c new file mode 100644 index 00000000..ce4ce7ed --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/00/6d/89b805ad129e46ed6fbaedf2005263137b7467d2bc1cf8985d5cca65690110f3ecb769818679016b2fade458855cb3ef84779c8692734d3bf75ec09a550c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n console.log(res);\n console.log(data);\n console.log(id);\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","console","log","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEFU,EAAAA,OAAO,CAACC,GAAR,CAAYd,GAAZ;AACAa,EAAAA,OAAO,CAACC,GAAR,CAAYZ,IAAZ;AACAW,EAAAA,OAAO,CAACC,GAAR,CAAYN,EAAZ;AACE,SAAO;AACHO,IAAAA,KAAK,EAAE;AAAET,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CAXM;;AAaP,MAAMc,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/1d/41d72bde9e378da757a8ab2526f89d154ab0bbb2c7159daa12e20653621b4fa51ceb03317d0704ddf8367ea95a1b0cec55508a0c4d8c37a5488528e366f7 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/1d/41d72bde9e378da757a8ab2526f89d154ab0bbb2c7159daa12e20653621b4fa51ceb03317d0704ddf8367ea95a1b0cec55508a0c4d8c37a5488528e366f7 new file mode 100644 index 00000000..e27b4960 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/1d/41d72bde9e378da757a8ab2526f89d154ab0bbb2c7159daa12e20653621b4fa51ceb03317d0704ddf8367ea95a1b0cec55508a0c4d8c37a5488528e366f7 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.getRouteMatcher = getRouteMatcher;\n\nfunction getRouteMatcher(routeRegex) {\n const {\n re,\n groups\n } = routeRegex;\n return pathname => {\n const routeMatch = re.exec(pathname);\n\n if (!routeMatch) {\n return false;\n }\n\n const decode = param => {\n try {\n return decodeURIComponent(param);\n } catch (_) {\n const err = new Error('failed to decode param');\n err.code = 'DECODE_FAILED';\n throw err;\n }\n };\n\n const params = {};\n Object.keys(groups).forEach(slugName => {\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n\n if (m !== undefined) {\n params[slugName] = ~m.indexOf('/') ? m.split('/').map(entry => decode(entry)) : g.repeat ? [decode(m)] : decode(m);\n }\n });\n return params;\n };\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/route-matcher.ts"],"names":["pathname","routeMatch","re","decode","param","decodeURIComponent","err","params","Object","slugName","g","groups","m","entry"],"mappings":";;;;;AAEO,SAAA,eAAA,CAAA,UAAA,EAAuE;AAC5E,QAAM;AAAA,IAAA,EAAA;AAAA,IAAA;AAAA,MAAN,UAAA;AACA,SAAQA,QAAD,IAAyC;AAC9C,UAAMC,UAAU,GAAGC,EAAE,CAAFA,IAAAA,CAAnB,QAAmBA,CAAnB;;AACA,QAAI,CAAJ,UAAA,EAAiB;AACf,aAAA,KAAA;AAGF;;AAAA,UAAMC,MAAM,GAAIC,KAAD,IAAmB;AAChC,UAAI;AACF,eAAOC,kBAAkB,CAAzB,KAAyB,CAAzB;AACA,OAFF,CAEE,OAAA,CAAA,EAAU;AACV,cAAMC,GAA8B,GAAG,IAAA,KAAA,CAAvC,wBAAuC,CAAvC;AAGAA,QAAAA,GAAG,CAAHA,IAAAA,GAAAA,eAAAA;AACA,cAAA,GAAA;AAEH;AAVD,KAAA;;AAWA,UAAMC,MAAkD,GAAxD,EAAA;AAEAC,IAAAA,MAAM,CAANA,IAAAA,CAAAA,MAAAA,EAAAA,OAAAA,CAA6BC,QAAD,IAAsB;AAChD,YAAMC,CAAC,GAAGC,MAAM,CAAhB,QAAgB,CAAhB;AACA,YAAMC,CAAC,GAAGX,UAAU,CAACS,CAAC,CAAtB,GAAoB,CAApB;;AACA,UAAIE,CAAC,KAAL,SAAA,EAAqB;AACnBL,QAAAA,MAAM,CAANA,QAAM,CAANA,GAAmB,CAACK,CAAC,CAADA,OAAAA,CAAD,GAACA,CAAD,GACfA,CAAC,CAADA,KAAAA,CAAAA,GAAAA,EAAAA,GAAAA,CAAkBC,KAAD,IAAWV,MAAM,CADnB,KACmB,CAAlCS,CADe,GAEfF,CAAC,CAADA,MAAAA,GACA,CAACP,MAAM,CADPO,CACO,CAAP,CADAA,GAEAP,MAAM,CAJVI,CAIU,CAJVA;AAMH;AAVDC,KAAAA;AAWA,WAAA,MAAA;AA9BF,GAAA;AAgCD","sourcesContent":["import { getRouteRegex } from './route-regex'\n\nexport function getRouteMatcher(routeRegex: ReturnType) {\n const { re, groups } = routeRegex\n return (pathname: string | null | undefined) => {\n const routeMatch = re.exec(pathname!)\n if (!routeMatch) {\n return false\n }\n\n const decode = (param: string) => {\n try {\n return decodeURIComponent(param)\n } catch (_) {\n const err: Error & { code?: string } = new Error(\n 'failed to decode param'\n )\n err.code = 'DECODE_FAILED'\n throw err\n }\n }\n const params: { [paramName: string]: string | string[] } = {}\n\n Object.keys(groups).forEach((slugName: string) => {\n const g = groups[slugName]\n const m = routeMatch[g.pos]\n if (m !== undefined) {\n params[slugName] = ~m.indexOf('/')\n ? m.split('/').map((entry) => decode(entry))\n : g.repeat\n ? [decode(m)]\n : decode(m)\n }\n })\n return params\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/c0/ebe74f89be6e7a07778364f8b869ef2c590102041b59d5069d41d12ca0fdfa0ab2a90220cc2051959bad9573ddecaf75ea0c6f4f7328fb5e824f3a763b4f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/c0/ebe74f89be6e7a07778364f8b869ef2c590102041b59d5069d41d12ca0fdfa0ab2a90220cc2051959bad9573ddecaf75ea0c6f4f7328fb5e824f3a763b4f new file mode 100644 index 00000000..2e82cbb2 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/01/c0/ebe74f89be6e7a07778364f8b869ef2c590102041b59d5069d41d12ca0fdfa0ab2a90220cc2051959bad9573ddecaf75ea0c6f4f7328fb5e824f3a763b4f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n children: /*#__PURE__*/_jsxDEV(\"a\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,IAAD;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YALJ,eAQI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAaE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtEF;AAwED","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n \n \n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/37/a8957e445e4edc2abc71c2d0173045e9499dfb4ef32d555eaf6f4cc2ca495e9ba072bfac14b692160ae9e2e51bab79835e491a20c2d087bc4520bf14c0b1 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/37/a8957e445e4edc2abc71c2d0173045e9499dfb4ef32d555eaf6f4cc2ca495e9ba072bfac14b692160ae9e2e51bab79835e491a20c2d087bc4520bf14c0b1 new file mode 100644 index 00000000..ca717160 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/37/a8957e445e4edc2abc71c2d0173045e9499dfb4ef32d555eaf6f4cc2ca495e9ba072bfac14b692160ae9e2e51bab79835e491a20c2d087bc4520bf14c0b1 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","id","single","name"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADE,EAEDA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACf,QAAC,IAAD;AAAM,MAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEX,MAAM,CAACY,MAArB;AAAA,+BACE;AAAA,oBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,YADD,CAFC;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeH,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/88/46a83e84c9573126321278dde84d734b76c86f3500b021ad4b8980919ba5f447329a22273b7b87f49745abc48106b97b846fe09595eb019efd36634a64ee b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/88/46a83e84c9573126321278dde84d734b76c86f3500b021ad4b8980919ba5f447329a22273b7b87f49745abc48106b97b846fe09595eb019efd36634a64ee new file mode 100644 index 00000000..794e7d1a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/88/46a83e84c9573126321278dde84d734b76c86f3500b021ad4b8980919ba5f447329a22273b7b87f49745abc48106b97b846fe09595eb019efd36634a64ee @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n
\r\n \r\n

{ ninja.name }

\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/95/7505d0c07405efbb91719a5edb6f5d9ea01952a450d91eb9016612714fd51e24f2d4ed7dd49fdb1d133faafee01fe6858f213dac4ed6bf1057d5dc07d014 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/95/7505d0c07405efbb91719a5edb6f5d9ea01952a450d91eb9016612714fd51e24f2d4ed7dd49fdb1d133faafee01fe6858f213dac4ed6bf1057d5dc07d014 new file mode 100644 index 00000000..6374b094 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/95/7505d0c07405efbb91719a5edb6f5d9ea01952a450d91eb9016612714fd51e24f2d4ed7dd49fdb1d133faafee01fe6858f213dac4ed6bf1057d5dc07d014 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\";\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nconst NotFound = () => {\n const router = useRouter();\n useEffect(() => {\n // console.log('use effect ran');\n setTimeout(() => {\n // router.go(-1);\n router.push('/');\n }, 3000);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 46\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 31\n }, this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n};\n\nexport default NotFound;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","router","setTimeout","push"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAEnB,QAAMC,MAAM,GAAGF,SAAS,EAAxB;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACZ;AACAI,IAAAA,UAAU,CAAC,MAAM;AACb;AACAD,MAAAA,MAAM,CAACE,IAAP,CAAY,GAAZ;AACH,KAHS,EAGP,IAHO,CAAV;AAIH,GANQ,EAMN,EANM,CAAT;AAQA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,cAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAOH,CAnBD;;AAqBA,eAAeH,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n const router = useRouter();\r\n\r\n useEffect(() => {\r\n // console.log('use effect ran');\r\n setTimeout(() => {\r\n // router.go(-1);\r\n router.push('/');\r\n }, 3000)\r\n }, [])\r\n\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/f2/88187faeaf2d7bd503eb1c99de1b5258c28f35570493c018bcaaa78308fb35b61ff7750809045448da42ee1b543149f33a94ed36221438c5affc0871530f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/f2/88187faeaf2d7bd503eb1c99de1b5258c28f35570493c018bcaaa78308fb35b61ff7750809045448da42ee1b543149f33a94ed36221438c5affc0871530f new file mode 100644 index 00000000..0c421aa8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/02/f2/88187faeaf2d7bd503eb1c99de1b5258c28f35570493c018bcaaa78308fb35b61ff7750809045448da42ee1b543149f33a94ed36221438c5affc0871530f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.address.city\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website","address","city"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ,eAKI;AAAA,gBAAKH,KAAK,CAACI,OAAN,CAAcC;AAAnB;AAAA;AAAA;AAAA;AAAA,aALJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMN,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async () => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n

{ ninja.address.city }

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/6e/463efabaa92dfe82b6e8a633d100bf6fbd1c4adc8a2e766085c5cc6488d51b4aeaecff71569029827f1e847f0a8470c0cca9b0242f89b6ff6b28d437d0e2 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/6e/463efabaa92dfe82b6e8a633d100bf6fbd1c4adc8a2e766085c5cc6488d51b4aeaecff71569029827f1e847f0a8470c0cca9b0242f89b6ff6b28d437d0e2 new file mode 100644 index 00000000..e78472ed --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/6e/463efabaa92dfe82b6e8a633d100bf6fbd1c4adc8a2e766085c5cc6488d51b4aeaecff71569029827f1e847f0a8470c0cca9b0242f89b6ff6b28d437d0e2 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\n// console.log(res);\nconsole.log(data);\nconsole.log(id);\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["console","log","data","id","Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAWA;AACEA,OAAO,CAACC,GAAR,CAAYC,IAAZ;AACAF,OAAO,CAACC,GAAR,CAAYE,EAAZ;;AAEF,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n// console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/84/d393de1c5a9cda9ee170d6b4ae25ffa54cddd2ef456332c374d2a3e7f8a6cef30094ace43ac34cef3592f7577ec4cbcbfa0c46aeafdcedf315e142b125fd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/84/d393de1c5a9cda9ee170d6b4ae25ffa54cddd2ef456332c374d2a3e7f8a6cef30094ace43ac34cef3592f7577ec4cbcbfa0c46aeafdcedf315e142b125fd new file mode 100644 index 00000000..460b8a09 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/03/84/d393de1c5a9cda9ee170d6b4ae25ffa54cddd2ef456332c374d2a3e7f8a6cef30094ace43ac34cef3592f7577ec4cbcbfa0c46aeafdcedf315e142b125fd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return (\n /*#__PURE__*/\n //
\n _jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.btn,\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n\n );\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home","title","text","btn"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B;AAAA;AAGM;AACA;AAAA,8BACI;AAAI,QAAA,SAAS,EAAEF,MAAM,CAACG,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADJ,eAEI;AAAG,QAAA,SAAS,EAAEH,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFJ,eAGI;AAAG,QAAA,SAAS,EAAEJ,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHJ,eAII,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,QAAX;AAAA,+BACA;AAAG,UAAA,SAAS,EAAEJ,MAAM,CAACK,GAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,cAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,YAJN,CAYE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AArEF;AAuED","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n //
\n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/04/2f/3e632fbb61bcbf150c7ddd89e778c2c091aba6189e1f5c790111f60c0a63e488231f897c97846f2d9b73c37d7bd43b6d2c44d5aae9e6dfa77b1008b229b1 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/04/2f/3e632fbb61bcbf150c7ddd89e778c2c091aba6189e1f5c790111f60c0a63e488231f897c97846f2d9b73c37d7bd43b6d2c44d5aae9e6dfa77b1008b229b1 new file mode 100644 index 00000000..96827457 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/04/2f/3e632fbb61bcbf150c7ddd89e778c2c091aba6189e1f5c790111f60c0a63e488231f897c97846f2d9b73c37d7bd43b6d2c44d5aae9e6dfa77b1008b229b1 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.default = resolveRewrites;\n\nfunction resolveRewrites() {}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/resolve-rewrites-noop.ts"],"names":[],"mappings":";;;;;AAAe,SAAA,eAAA,GAA2B,CAAE","sourcesContent":["export default function resolveRewrites() {}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/05/88/b20b35f6ef0aef499edb4e793f8baa8c4051d68dd006d141902cff934420b27a05699317076b01c2cf6a7889f45bb72db1daa68610a543cdbe72738d6cd0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/05/88/b20b35f6ef0aef499edb4e793f8baa8c4051d68dd006d141902cff934420b27a05699317076b01c2cf6a7889f45bb72db1daa68610a543cdbe72738d6cd0 new file mode 100644 index 00000000..c548a21c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/05/88/b20b35f6ef0aef499edb4e793f8baa8c4051d68dd006d141902cff934420b27a05699317076b01c2cf6a7889f45bb72db1daa68610a543cdbe72738d6cd0 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\",\n _this = this,\n _s = $RefreshSig$();\n\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nvar NotFound = function NotFound() {\n _s();\n\n useEffect(function () {\n console.log('use effect ran');\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 46\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 31\n }, _this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, _this);\n};\n\n_s(NotFound, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\n\n_c = NotFound;\nexport default NotFound;\n\nvar _c;\n\n$RefreshReg$(_c, \"NotFound\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","console","log"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AAAA;;AAEnBF,EAAAA,SAAS,CAAC,YAAM;AACZG,IAAAA,OAAO,CAACC,GAAR,CAAY,gBAAZ;AACH,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,eAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,aAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAOH,CAbD;;GAAMF,Q;;KAAAA,Q;AAeN,eAAeA,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n useEffect(() => {\r\n console.log('use effect ran');\r\n }, [])\r\n\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/62/cad83c84c011fa2c36c0395aaf1fcb00c6c9e1d8da6b01eec5a8440e8e46821739528b1c9bf55f570556ca83e852467a7705065f9548b1456d8a2dd14d1a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/62/cad83c84c011fa2c36c0395aaf1fcb00c6c9e1d8da6b01eec5a8440e8e46821739528b1c9bf55f570556ca83e852467a7705065f9548b1456d8a2dd14d1a new file mode 100644 index 00000000..d164ef61 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/62/cad83c84c011fa2c36c0395aaf1fcb00c6c9e1d8da6b01eec5a8440e8e46821739528b1c9bf55f570556ca83e852467a7705065f9548b1456d8a2dd14d1a @@ -0,0 +1 @@ +{"ast":null,"code":"import { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\about.js\",\n _this = this;\n\nimport Head from 'next/head';\n\nvar About = function About() {\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(Head, {\n children: [/*#__PURE__*/_jsxDEV(\"title\", {\n children: \"About Pg\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, _this), /*#__PURE__*/_jsxDEV(\"meta\", {\n name: \"keywords\",\n content: \"keyword, another\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, _this)]\n }, void 0, true);\n};\n\n_c = About;\nexport default About;\n\nvar _c;\n\n$RefreshReg$(_c, \"About\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/about.js"],"names":["Head","About"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,KAAK,GAAG,SAARA,KAAQ,GAAM;AAChB,sBAEE;AAAA,4BACA,QAAC,IAAD;AAAA,8BAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAFF,eAGE;AAAM,QAAA,IAAI,EAAC,UAAX;AAAsB,QAAA,OAAO,EAAC;AAA9B;AAAA;AAAA;AAAA;AAAA,eAHF;AAAA;AAAA;AAAA;AAAA;AAAA,aADA,eAME;AAAA,8BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,aANF;AAAA,kBAFF;AAeH,CAhBD;;KAAMA,K;AAkBN,eAAeA,KAAf","sourcesContent":["import Head from 'next/head'\r\n\r\nconst About = () => {\r\n return ( \r\n \r\n <>\r\n \r\n\r\n About Pg\r\n \r\n \r\n
\r\n

About

\r\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\r\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\r\n
\r\n \r\n );\r\n}\r\n \r\nexport default About;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/dd/37b10aed2c7cdda17098dc3a123b939c60f5eeaf782f1ffa5884eb0296c47d43b916960b576e30df2c29c94331e5efa95814d914e81226205a8f00cf81d8 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/dd/37b10aed2c7cdda17098dc3a123b939c60f5eeaf782f1ffa5884eb0296c47d43b916960b576e30df2c29c94331e5efa95814d914e81226205a8f00cf81d8 new file mode 100644 index 00000000..0fbb6450 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/06/dd/37b10aed2c7cdda17098dc3a123b939c60f5eeaf782f1ffa5884eb0296c47d43b916960b576e30df2c29c94331e5efa95814d914e81226205a8f00cf81d8 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\about.js\";\n\nconst About = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, this);\n};\n\nexport default About;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/about.js"],"names":["About"],"mappings":";;;AAAA,MAAMA,KAAK,GAAG,MAAM;AAChB,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAOH,CARD;;AAUA,eAAeA,KAAf","sourcesContent":["const About = () => {\r\n return ( \r\n
\r\n

About

\r\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\r\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\r\n
\r\n );\r\n}\r\n \r\nexport default About;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/01/c8c1410e9d6bb78f2ab4191e7c627996081d5b14af8545efded83db612e6620bc0be5944b48ef90dceeb4b0a6fcc4164bc3a83a83f42af6acb8c75790557 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/01/c8c1410e9d6bb78f2ab4191e7c627996081d5b14af8545efded83db612e6620bc0be5944b48ef90dceeb4b0a6fcc4164bc3a83a83f42af6acb8c75790557 new file mode 100644 index 00000000..dd810ba3 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/01/c8c1410e9d6bb78f2ab4191e7c627996081d5b14af8545efded83db612e6620bc0be5944b48ef90dceeb4b0a6fcc4164bc3a83a83f42af6acb8c75790557 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"test\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAaA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,MAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["export const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n
\r\n \r\n

{ ninja.name }

\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/12/f1831ce4c7d565c937958cd363a9f1a1bbaed93196bd037ec45111b92e61a422f499e91de744bef95ffb0e58158fdedb7f8410702a5358da24ffa5c9f012 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/12/f1831ce4c7d565c937958cd363a9f1a1bbaed93196bd037ec45111b92e61a422f499e91de744bef95ffb0e58158fdedb7f8410702a5358da24ffa5c9f012 new file mode 100644 index 00000000..2e898c0e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/12/f1831ce4c7d565c937958cd363a9f1a1bbaed93196bd037ec45111b92e61a422f499e91de744bef95ffb0e58158fdedb7f8410702a5358da24ffa5c9f012 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\nconsole.log({\n ninja: ninja\n}); // this function runs as many times as there are items in what you fetch\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["console","log","ninja","Details","name","email","website"],"mappings":";;;;;AAiBYA,OAAO,CAACC,GAAR,CAAY;AAACC,EAAAA,KAAK,EAALA;AAAD,CAAZ,E,CAGZ;;AAWA,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZD,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKH,KAAK,CAACI;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMH,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n console.log({ninja});\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/27/affe5ec6e8c78a766d116d6ae59684a3a92636a5bd95a9388cf12b3d271f889b4f54b9516a70bb259c6f016f6d9ae0da636bdf150f1f6420aebcfabc570c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/27/affe5ec6e8c78a766d116d6ae59684a3a92636a5bd95a9388cf12b3d271f889b4f54b9516a70bb259c6f016f6d9ae0da636bdf150f1f6420aebcfabc570c new file mode 100644 index 00000000..6ce17de6 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/08/27/affe5ec6e8c78a766d116d6ae59684a3a92636a5bd95a9388cf12b3d271f889b4f54b9516a70bb259c6f016f6d9ae0da636bdf150f1f6420aebcfabc570c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\nvar Details = function Details() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details"],"mappings":";;;;;AAiBA,IAAMA,OAAO,GAAG,SAAVA,OAAU,GAAM;AAClB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,O;;AAQN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\nconst Details = () => {\r\n return ( \r\n
\r\n

Details Page

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/0f/bc8afeb002a88036e1541c0a44765f2109c22d2edff71e46bb61d3a68ae9f131740a82717a10f2d9b8e13ac80dda20846bce14e42ca0ae941e040eca6fb3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/0f/bc8afeb002a88036e1541c0a44765f2109c22d2edff71e46bb61d3a68ae9f131740a82717a10f2d9b8e13ac80dda20846bce14e42ca0ae941e040eca6fb3 new file mode 100644 index 00000000..1056e79b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/0f/bc8afeb002a88036e1541c0a44765f2109c22d2edff71e46bb61d3a68ae9f131740a82717a10f2d9b8e13ac80dda20846bce14e42ca0ae941e040eca6fb3 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\nimport Image from 'next/image';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(Image, {\n src: \"/globe.svg\",\n width: 60,\n height: auto\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Image","Navbar","auto"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAGI,QAAC,KAAD;AAAO,QAAA,GAAG,EAAC,YAAX;AAAwB,QAAA,KAAK,EAAE,EAA/B;AAAmC,QAAA,MAAM,EAAEC;AAA3C;AAAA;AAAA;AAAA;AAAA;AAHJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YAPJ,eAQI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeD,MAAf","sourcesContent":["import Link from 'next/link'\r\nimport Image from 'next/image'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/b0/5cf2f007a476d2fd1d9b36379ba74855aa80069292fe22d4f33ca31bc3db3799be4fc5469e02413555f4ab26cc48b0b4c17afbc2c5e3f770b086ba6bb2f3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/b0/5cf2f007a476d2fd1d9b36379ba74855aa80069292fe22d4f33ca31bc3db3799be4fc5469e02413555f4ab26cc48b0b4c17afbc2c5e3f770b086ba6bb2f3 new file mode 100644 index 00000000..f77d503d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/09/b0/5cf2f007a476d2fd1d9b36379ba74855aa80069292fe22d4f33ca31bc3db3799be4fc5469e02413555f4ab26cc48b0b4c17afbc2c5e3f770b086ba6bb2f3 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _toConsumableArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = Image;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _head = _interopRequireDefault(require(\"../next-server/lib/head\"));\n\nvar _toBase = require(\"../next-server/lib/to-base-64\");\n\nvar _imageConfig = require(\"../next-server/server/image-config\");\n\nvar _useIntersection = require(\"./use-intersection\");\n\nif (false) {\n ;\n global.__NEXT_IMAGE_IMPORTED = true;\n}\n\nvar VALID_LOADING_VALUES = ['lazy', 'eager', undefined];\nvar loaders = new Map([['imgix', imgixLoader], ['cloudinary', cloudinaryLoader], ['akamai', akamaiLoader], ['default', defaultLoader]]);\nvar VALID_LAYOUT_VALUES = ['fill', 'fixed', 'intrinsic', 'responsive', undefined];\n\nvar _ref2 = process.env.__NEXT_IMAGE_OPTS || _imageConfig.imageConfigDefault,\n configDeviceSizes = _ref2.deviceSizes,\n configImageSizes = _ref2.imageSizes,\n configLoader = _ref2.loader,\n configPath = _ref2.path,\n configDomains = _ref2.domains; // sort smallest to largest\n\n\nvar allSizes = [].concat(_toConsumableArray(configDeviceSizes), _toConsumableArray(configImageSizes));\nconfigDeviceSizes.sort(function (a, b) {\n return a - b;\n});\nallSizes.sort(function (a, b) {\n return a - b;\n});\n\nfunction getWidths(width, layout) {\n if (typeof width !== 'number' || layout === 'fill' || layout === 'responsive') {\n return {\n widths: configDeviceSizes,\n kind: 'w'\n };\n }\n\n var widths = _toConsumableArray(new Set( // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2\n /*, width * 3*/\n ].map(function (w) {\n return allSizes.find(function (p) {\n return p >= w;\n }) || allSizes[allSizes.length - 1];\n })));\n\n return {\n widths: widths,\n kind: 'x'\n };\n}\n\nfunction generateImgAttrs(_ref3) {\n var src = _ref3.src,\n unoptimized = _ref3.unoptimized,\n layout = _ref3.layout,\n width = _ref3.width,\n quality = _ref3.quality,\n sizes = _ref3.sizes,\n loader = _ref3.loader;\n\n if (unoptimized) {\n return {\n src: src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n\n var _getWidths = getWidths(width, layout),\n widths = _getWidths.widths,\n kind = _getWidths.kind;\n\n var last = widths.length - 1;\n return {\n src: loader({\n src: src,\n quality: quality,\n width: widths[last]\n }),\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map(function (w, i) {\n return \"\".concat(loader({\n src: src,\n quality: quality,\n width: w\n }), \" \").concat(kind === 'w' ? w : i + 1).concat(kind);\n }).join(', ')\n };\n}\n\nfunction getInt(x) {\n if (typeof x === 'number') {\n return x;\n }\n\n if (typeof x === 'string') {\n return parseInt(x, 10);\n }\n\n return undefined;\n}\n\nfunction defaultImageLoader(loaderProps) {\n var load = loaders.get(configLoader);\n\n if (load) {\n return load((0, _extends2[\"default\"])({\n root: configPath\n }, loaderProps));\n }\n\n throw new Error(\"Unknown \\\"loader\\\" found in \\\"next.config.js\\\". Expected: \".concat(_imageConfig.VALID_LOADERS.join(', '), \". Received: \").concat(configLoader));\n}\n\nfunction Image(_ref) {\n var src = _ref.src,\n sizes = _ref.sizes,\n _ref$unoptimized = _ref.unoptimized,\n unoptimized = _ref$unoptimized === void 0 ? false : _ref$unoptimized,\n _ref$priority = _ref.priority,\n priority = _ref$priority === void 0 ? false : _ref$priority,\n loading = _ref.loading,\n className = _ref.className,\n quality = _ref.quality,\n width = _ref.width,\n height = _ref.height,\n objectFit = _ref.objectFit,\n objectPosition = _ref.objectPosition,\n _ref$loader = _ref.loader,\n loader = _ref$loader === void 0 ? defaultImageLoader : _ref$loader,\n all = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref, [\"src\", \"sizes\", \"unoptimized\", \"priority\", \"loading\", \"className\", \"quality\", \"width\", \"height\", \"objectFit\", \"objectPosition\", \"loader\"]);\n var rest = all;\n var layout = sizes ? 'responsive' : 'intrinsic';\n var unsized = false;\n\n if ('unsized' in rest) {\n unsized = Boolean(rest.unsized); // Remove property so it's not spread into image:\n\n delete rest['unsized'];\n } else if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout; // Remove property so it's not spread into image:\n\n delete rest['layout'];\n }\n\n if (true) {\n if (!src) {\n throw new Error(\"Image is missing required \\\"src\\\" property. Make sure you pass \\\"src\\\" in props to the `next/image` component. Received: \".concat(JSON.stringify({\n width: width,\n height: height,\n quality: quality\n })));\n }\n\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has invalid \\\"layout\\\" property. Provided \\\"\").concat(layout, \"\\\" should be one of \").concat(VALID_LAYOUT_VALUES.map(String).join(','), \".\"));\n }\n\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has invalid \\\"loading\\\" property. Provided \\\"\").concat(loading, \"\\\" should be one of \").concat(VALID_LOADING_VALUES.map(String).join(','), \".\"));\n }\n\n if (priority && loading === 'lazy') {\n throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has both \\\"priority\\\" and \\\"loading='lazy'\\\" properties. Only one should be used.\"));\n }\n\n if (unsized) {\n throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has deprecated \\\"unsized\\\" property, which was removed in favor of the \\\"layout='fill'\\\" property\"));\n }\n }\n\n var isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n\n if (src && src.startsWith('data:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n\n var _ref4 = (0, _useIntersection.useIntersection)({\n rootMargin: '200px',\n disabled: !isLazy\n }),\n _ref5 = _slicedToArray(_ref4, 2),\n setRef = _ref5[0],\n isIntersected = _ref5[1];\n\n var isVisible = !isLazy || isIntersected;\n var widthInt = getInt(width);\n var heightInt = getInt(height);\n var qualityInt = getInt(quality);\n var wrapperStyle;\n var sizerStyle;\n var sizerSvg;\n var imgStyle = {\n visibility: isVisible ? 'inherit' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n objectFit: objectFit,\n objectPosition: objectPosition\n };\n\n if (typeof widthInt !== 'undefined' && typeof heightInt !== 'undefined' && layout !== 'fill') {\n // \n var quotient = heightInt / widthInt;\n var paddingTop = isNaN(quotient) ? '100%' : \"\".concat(quotient * 100, \"%\");\n\n if (layout === 'responsive') {\n // \n wrapperStyle = {\n display: 'block',\n overflow: 'hidden',\n position: 'relative',\n boxSizing: 'border-box',\n margin: 0\n };\n sizerStyle = {\n display: 'block',\n boxSizing: 'border-box',\n paddingTop: paddingTop\n };\n } else if (layout === 'intrinsic') {\n // \n wrapperStyle = {\n display: 'inline-block',\n maxWidth: '100%',\n overflow: 'hidden',\n position: 'relative',\n boxSizing: 'border-box',\n margin: 0\n };\n sizerStyle = {\n boxSizing: 'border-box',\n display: 'block',\n maxWidth: '100%'\n };\n sizerSvg = \"\");\n } else if (layout === 'fixed') {\n // \n wrapperStyle = {\n overflow: 'hidden',\n boxSizing: 'border-box',\n display: 'inline-block',\n position: 'relative',\n width: widthInt,\n height: heightInt\n };\n }\n } else if (typeof widthInt === 'undefined' && typeof heightInt === 'undefined' && layout === 'fill') {\n // \n wrapperStyle = {\n display: 'block',\n overflow: 'hidden',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n boxSizing: 'border-box',\n margin: 0\n };\n } else {\n // \n if (true) {\n throw new Error(\"Image with src \\\"\".concat(src, \"\\\" must use \\\"width\\\" and \\\"height\\\" properties or \\\"layout='fill'\\\" property.\"));\n }\n }\n\n var imgAttributes = {\n src: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n srcSet: undefined,\n sizes: undefined\n };\n\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n src: src,\n unoptimized: unoptimized,\n layout: layout,\n width: widthInt,\n quality: qualityInt,\n sizes: sizes,\n loader: loader\n });\n }\n\n if (unsized) {\n wrapperStyle = undefined;\n sizerStyle = undefined;\n imgStyle = undefined;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: wrapperStyle\n }, sizerStyle ? /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: sizerStyle\n }, sizerSvg ? /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n style: {\n maxWidth: '100%',\n display: 'block',\n margin: 0,\n border: 'none',\n padding: 0\n },\n alt: \"\",\n \"aria-hidden\": true,\n role: \"presentation\",\n src: \"data:image/svg+xml;base64,\".concat((0, _toBase.toBase64)(sizerSvg))\n }) : null) : null, /*#__PURE__*/_react[\"default\"].createElement(\"img\", Object.assign({}, rest, imgAttributes, {\n decoding: \"async\",\n className: className,\n ref: setRef,\n style: imgStyle\n })), priority ?\n /*#__PURE__*/\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n _react[\"default\"].createElement(_head[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"link\", {\n key: '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes,\n rel: \"preload\",\n as: \"image\",\n href: imgAttributes.srcSet ? undefined : imgAttributes.src // @ts-ignore: imagesrcset is not yet in the link element type\n ,\n imagesrcset: imgAttributes.srcSet // @ts-ignore: imagesizes is not yet in the link element type\n ,\n imagesizes: imgAttributes.sizes\n })) : null);\n} //BUILT IN LOADERS\n\n\n_c = Image;\n\nfunction normalizeSrc(src) {\n return src[0] === '/' ? src.slice(1) : src;\n}\n\nfunction imgixLoader(_ref6) {\n var root = _ref6.root,\n src = _ref6.src,\n width = _ref6.width,\n quality = _ref6.quality;\n // Demo: https://static.imgix.net/daisy.png?format=auto&fit=max&w=300\n var params = ['auto=format', 'fit=max', 'w=' + width];\n var paramsString = '';\n\n if (quality) {\n params.push('q=' + quality);\n }\n\n if (params.length) {\n paramsString = '?' + params.join('&');\n }\n\n return \"\".concat(root).concat(normalizeSrc(src)).concat(paramsString);\n}\n\nfunction akamaiLoader(_ref7) {\n var root = _ref7.root,\n src = _ref7.src,\n width = _ref7.width;\n return \"\".concat(root).concat(normalizeSrc(src), \"?imwidth=\").concat(width);\n}\n\nfunction cloudinaryLoader(_ref8) {\n var root = _ref8.root,\n src = _ref8.src,\n width = _ref8.width,\n quality = _ref8.quality;\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n var params = ['f_auto', 'c_limit', 'w_' + width, 'q_' + (quality || 'auto')];\n var paramsString = params.join(',') + '/';\n return \"\".concat(root).concat(paramsString).concat(normalizeSrc(src));\n}\n\nfunction defaultLoader(_ref9) {\n var root = _ref9.root,\n src = _ref9.src,\n width = _ref9.width,\n quality = _ref9.quality;\n\n if (true) {\n var missingValues = []; // these should always be provided but make sure they are\n\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \".concat(missingValues.join(', '), \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \").concat(JSON.stringify({\n src: src,\n width: width,\n quality: quality\n })));\n }\n\n if (src.startsWith('//')) {\n throw new Error(\"Failed to parse src \\\"\".concat(src, \"\\\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)\"));\n }\n\n if (!src.startsWith('/') && configDomains) {\n var parsedSrc;\n\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error(\"Failed to parse src \\\"\".concat(src, \"\\\" on `next/image`, if using relative image it must start with a leading slash \\\"/\\\" or be an absolute URL (http:// or https://)\"));\n }\n\n if (!configDomains.includes(parsedSrc.hostname)) {\n throw new Error(\"Invalid src prop (\".concat(src, \") on `next/image`, hostname \\\"\").concat(parsedSrc.hostname, \"\\\" is not configured under images in your `next.config.js`\\n\") + \"See more info: https://err.sh/next.js/next-image-unconfigured-host\");\n }\n }\n }\n\n return \"\".concat(root, \"?url=\").concat(encodeURIComponent(src), \"&w=\").concat(width, \"&q=\").concat(quality || 75);\n}\n\nvar _c;\n\n$RefreshReg$(_c, \"Image\");","map":{"version":3,"sources":["../../client/image.tsx"],"names":["global","VALID_LOADING_VALUES","loaders","VALID_LAYOUT_VALUES","deviceSizes","imageSizes","loader","path","domains","process","imageConfigDefault","allSizes","configDeviceSizes","a","layout","widths","kind","width","w","p","src","srcSet","sizes","getWidths","last","quality","i","parseInt","load","root","VALID_LOADERS","unoptimized","priority","all","rest","unsized","Boolean","JSON","height","loading","isLazy","rootMargin","disabled","isVisible","widthInt","getInt","heightInt","qualityInt","imgStyle","visibility","position","top","left","bottom","right","boxSizing","padding","border","margin","display","minWidth","maxWidth","minHeight","maxHeight","objectFit","objectPosition","quotient","paddingTop","isNaN","wrapperStyle","overflow","sizerStyle","sizerSvg","imgAttributes","generateImgAttrs","params","paramsString","normalizeSrc","missingValues","parsedSrc","console","configDomains","encodeURIComponent"],"mappings":"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","sourcesContent":["import React from 'react'\nimport Head from '../next-server/lib/head'\nimport { toBase64 } from '../next-server/lib/to-base-64'\nimport {\n ImageConfig,\n imageConfigDefault,\n LoaderValue,\n VALID_LOADERS,\n} from '../next-server/server/image-config'\nimport { useIntersection } from './use-intersection'\n\nif (typeof window === 'undefined') {\n ;(global as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\ntype LoadingValue = typeof VALID_LOADING_VALUES[number]\n\nexport type ImageLoader = (resolverProps: ImageLoaderProps) => string\n\nexport type ImageLoaderProps = {\n src: string\n width: number\n quality?: number\n}\n\ntype DefaultImageLoaderProps = ImageLoaderProps & { root: string }\n\nconst loaders = new Map<\n LoaderValue,\n (props: DefaultImageLoaderProps) => string\n>([\n ['imgix', imgixLoader],\n ['cloudinary', cloudinaryLoader],\n ['akamai', akamaiLoader],\n ['default', defaultLoader],\n])\n\nconst VALID_LAYOUT_VALUES = [\n 'fill',\n 'fixed',\n 'intrinsic',\n 'responsive',\n undefined,\n] as const\ntype LayoutValue = typeof VALID_LAYOUT_VALUES[number]\n\ntype ImgElementStyle = NonNullable\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'width' | 'height' | 'loading' | 'style'\n> & {\n src: string\n loader?: ImageLoader\n quality?: number | string\n priority?: boolean\n loading?: LoadingValue\n unoptimized?: boolean\n objectFit?: ImgElementStyle['objectFit']\n objectPosition?: ImgElementStyle['objectPosition']\n} & (\n | {\n width?: never\n height?: never\n /** @deprecated Use `layout=\"fill\"` instead */\n unsized: true\n }\n | { width?: never; height?: never; layout: 'fill' }\n | {\n width: number | string\n height: number | string\n layout?: Exclude\n }\n )\n\nconst {\n deviceSizes: configDeviceSizes,\n imageSizes: configImageSizes,\n loader: configLoader,\n path: configPath,\n domains: configDomains,\n} =\n ((process.env.__NEXT_IMAGE_OPTS as any) as ImageConfig) || imageConfigDefault\n// sort smallest to largest\nconst allSizes = [...configDeviceSizes, ...configImageSizes]\nconfigDeviceSizes.sort((a, b) => a - b)\nallSizes.sort((a, b) => a - b)\n\nfunction getWidths(\n width: number | undefined,\n layout: LayoutValue\n): { widths: number[]; kind: 'w' | 'x' } {\n if (\n typeof width !== 'number' ||\n layout === 'fill' ||\n layout === 'responsive'\n ) {\n return { widths: configDeviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n src: string\n unoptimized: boolean\n layout: LayoutValue\n loader: ImageLoader\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n src,\n unoptimized,\n layout,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(width, layout)\n const last = widths.length - 1\n\n return {\n src: loader({ src, quality, width: widths[last] }),\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n }\n}\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'number') {\n return x\n }\n if (typeof x === 'string') {\n return parseInt(x, 10)\n }\n return undefined\n}\n\nfunction defaultImageLoader(loaderProps: ImageLoaderProps) {\n const load = loaders.get(configLoader)\n if (load) {\n return load({ root: configPath, ...loaderProps })\n }\n throw new Error(\n `Unknown \"loader\" found in \"next.config.js\". Expected: ${VALID_LOADERS.join(\n ', '\n )}. Received: ${configLoader}`\n )\n}\n\nexport default function Image({\n src,\n sizes,\n unoptimized = false,\n priority = false,\n loading,\n className,\n quality,\n width,\n height,\n objectFit,\n objectPosition,\n loader = defaultImageLoader,\n ...all\n}: ImageProps) {\n let rest: Partial = all\n let layout: NonNullable = sizes ? 'responsive' : 'intrinsic'\n let unsized = false\n if ('unsized' in rest) {\n unsized = Boolean(rest.unsized)\n // Remove property so it's not spread into image:\n delete rest['unsized']\n } else if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout\n\n // Remove property so it's not spread into image:\n delete rest['layout']\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n throw new Error(\n `Image is missing required \"src\" property. Make sure you pass \"src\" in props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { width, height, quality }\n )}`\n )\n }\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"layout\" property. Provided \"${layout}\" should be one of ${VALID_LAYOUT_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (unsized) {\n throw new Error(\n `Image with src \"${src}\" has deprecated \"unsized\" property, which was removed in favor of the \"layout='fill'\" property`\n )\n }\n }\n\n let isLazy =\n !priority && (loading === 'lazy' || typeof loading === 'undefined')\n if (src && src.startsWith('data:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n\n const [setRef, isIntersected] = useIntersection({\n rootMargin: '200px',\n disabled: !isLazy,\n })\n const isVisible = !isLazy || isIntersected\n\n const widthInt = getInt(width)\n const heightInt = getInt(height)\n const qualityInt = getInt(quality)\n\n let wrapperStyle: JSX.IntrinsicElements['div']['style'] | undefined\n let sizerStyle: JSX.IntrinsicElements['div']['style'] | undefined\n let sizerSvg: string | undefined\n let imgStyle: ImgElementStyle | undefined = {\n visibility: isVisible ? 'inherit' : 'hidden',\n\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n\n objectFit,\n objectPosition,\n }\n if (\n typeof widthInt !== 'undefined' &&\n typeof heightInt !== 'undefined' &&\n layout !== 'fill'\n ) {\n // \n const quotient = heightInt / widthInt\n const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`\n if (layout === 'responsive') {\n // \n wrapperStyle = {\n display: 'block',\n overflow: 'hidden',\n position: 'relative',\n\n boxSizing: 'border-box',\n margin: 0,\n }\n sizerStyle = { display: 'block', boxSizing: 'border-box', paddingTop }\n } else if (layout === 'intrinsic') {\n // \n wrapperStyle = {\n display: 'inline-block',\n maxWidth: '100%',\n overflow: 'hidden',\n position: 'relative',\n boxSizing: 'border-box',\n margin: 0,\n }\n sizerStyle = {\n boxSizing: 'border-box',\n display: 'block',\n maxWidth: '100%',\n }\n sizerSvg = ``\n } else if (layout === 'fixed') {\n // \n wrapperStyle = {\n overflow: 'hidden',\n boxSizing: 'border-box',\n display: 'inline-block',\n position: 'relative',\n width: widthInt,\n height: heightInt,\n }\n }\n } else if (\n typeof widthInt === 'undefined' &&\n typeof heightInt === 'undefined' &&\n layout === 'fill'\n ) {\n // \n wrapperStyle = {\n display: 'block',\n overflow: 'hidden',\n\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n\n boxSizing: 'border-box',\n margin: 0,\n }\n } else {\n // \n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Image with src \"${src}\" must use \"width\" and \"height\" properties or \"layout='fill'\" property.`\n )\n }\n }\n\n let imgAttributes: GenImgAttrsResult = {\n src:\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n srcSet: undefined,\n sizes: undefined,\n }\n\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n }\n\n if (unsized) {\n wrapperStyle = undefined\n sizerStyle = undefined\n imgStyle = undefined\n }\n return (\n
\n {sizerStyle ? (\n
\n {sizerSvg ? (\n \n ) : null}\n
\n ) : null}\n \n {priority ? (\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n \n \n \n ) : null}\n
\n )\n}\n\n//BUILT IN LOADERS\n\nfunction normalizeSrc(src: string): string {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nfunction imgixLoader({\n root,\n src,\n width,\n quality,\n}: DefaultImageLoaderProps): string {\n // Demo: https://static.imgix.net/daisy.png?format=auto&fit=max&w=300\n const params = ['auto=format', 'fit=max', 'w=' + width]\n let paramsString = ''\n if (quality) {\n params.push('q=' + quality)\n }\n\n if (params.length) {\n paramsString = '?' + params.join('&')\n }\n return `${root}${normalizeSrc(src)}${paramsString}`\n}\n\nfunction akamaiLoader({ root, src, width }: DefaultImageLoaderProps): string {\n return `${root}${normalizeSrc(src)}?imwidth=${width}`\n}\n\nfunction cloudinaryLoader({\n root,\n src,\n width,\n quality,\n}: DefaultImageLoaderProps): string {\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n const params = ['f_auto', 'c_limit', 'w_' + width, 'q_' + (quality || 'auto')]\n let paramsString = params.join(',') + '/'\n return `${root}${paramsString}${normalizeSrc(src)}`\n}\n\nfunction defaultLoader({\n root,\n src,\n width,\n quality,\n}: DefaultImageLoaderProps): string {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = []\n\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src')\n if (!width) missingValues.push('width')\n\n if (missingValues.length > 0) {\n throw new Error(\n `Next Image Optimization requires ${missingValues.join(\n ', '\n )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { src, width, quality }\n )}`\n )\n }\n\n if (src.startsWith('//')) {\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`\n )\n }\n\n if (!src.startsWith('/') && configDomains) {\n let parsedSrc: URL\n try {\n parsedSrc = new URL(src)\n } catch (err) {\n console.error(err)\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`\n )\n }\n\n if (!configDomains.includes(parsedSrc.hostname)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` +\n `See more info: https://err.sh/next.js/next-image-unconfigured-host`\n )\n }\n }\n }\n\n return `${root}?url=${encodeURIComponent(src)}&w=${width}&q=${quality || 75}`\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0b/e7/6f3137baae363123635db73e84802359647ab01a5b311ed26dcaca41e27ec861cecb377203640c468d92dccac1fae56bcfb7e4a9e4862a2e766c812b008f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0b/e7/6f3137baae363123635db73e84802359647ab01a5b311ed26dcaca41e27ec861cecb377203640c468d92dccac1fae56bcfb7e4a9e4862a2e766c812b008f new file mode 100644 index 00000000..a70a9be7 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0b/e7/6f3137baae363123635db73e84802359647ab01a5b311ed26dcaca41e27ec861cecb377203640c468d92dccac1fae56bcfb7e4a9e4862a2e766c812b008f @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/regenerator\");\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _asyncToGenerator = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.markAssetError = markAssetError;\nexports.isAssetError = isAssetError;\nexports.getClientBuildManifest = getClientBuildManifest;\nexports[\"default\"] = void 0;\n\nvar _getAssetPathFromRoute = _interopRequireDefault(require(\"../next-server/lib/router/utils/get-asset-path-from-route\"));\n\nvar _requestIdleCallback = require(\"./request-idle-callback\"); // 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\n\n\nvar MS_MAX_IDLE_DELAY = 3800;\n\nfunction withFuture(key, map, generator) {\n var entry = map.get(key);\n\n if (entry) {\n if ('future' in entry) {\n return entry.future;\n }\n\n return Promise.resolve(entry);\n }\n\n var resolver;\n var prom = new Promise(function (resolve) {\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? // eslint-disable-next-line no-sequences\n generator().then(function (value) {\n return resolver(value), value;\n }) : prom;\n}\n\nfunction hasPrefetch(link) {\n try {\n link = document.createElement('link');\n return (// detect IE11 since it supports prefetch but isn't detected\n // with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports('prefetch')\n );\n } catch (_unused) {\n return false;\n }\n}\n\nvar canPrefetch = hasPrefetch();\n\nfunction prefetchViaDom(href, as, link) {\n return new Promise(function (res, rej) {\n if (document.querySelector(\"link[rel=\\\"prefetch\\\"][href^=\\\"\".concat(href, \"\\\"]\"))) {\n return res();\n }\n\n link = document.createElement('link'); // The order of property assignment here is intentional:\n\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = process.env.__NEXT_CROSS_ORIGIN;\n link.onload = res;\n link.onerror = rej; // `href` should always be last:\n\n link.href = href;\n document.head.appendChild(link);\n });\n}\n\nvar ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR'); // TODO: unexport\n\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\n\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\n\nfunction appendScript(src, script) {\n return new Promise(function (resolve, reject) {\n script = document.createElement('script'); // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n\n script.onload = resolve;\n\n script.onerror = function () {\n return reject(markAssetError(new Error(\"Failed to load script: \".concat(src))));\n }; // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n\n\n script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN; // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n\n script.src = src;\n document.body.appendChild(script);\n });\n}\n\nfunction idleTimeout(ms, err) {\n return new Promise(function (_resolve, reject) {\n return (0, _requestIdleCallback.requestIdleCallback)(function () {\n return setTimeout(function () {\n return reject(err);\n }, ms);\n });\n });\n} // TODO: stop exporting or cache the failure\n// It'd be best to stop exporting this. It's an implementation detail. We're\n// only exporting it for backwards compatibilty with the `page-loader`.\n// Only cache this response as a last resort if we cannot eliminate all other\n// code branches that use the Build Manifest Callback and push them through\n// the Route Loader interface.\n\n\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n\n var onBuildManifest = new Promise(function (resolve) {\n // Mandatory because this is not concurrent safe:\n var cb = self.__BUILD_MANIFEST_CB;\n\n self.__BUILD_MANIFEST_CB = function () {\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return Promise.race([onBuildManifest, idleTimeout(MS_MAX_IDLE_DELAY, markAssetError(new Error('Failed to load client build manifest')))]);\n}\n\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n return Promise.resolve({\n scripts: [assetPrefix + '/_next/static/chunks/pages' + encodeURI((0, _getAssetPathFromRoute[\"default\"])(route, '.js'))],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n\n return getClientBuildManifest().then(function (manifest) {\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \".concat(route)));\n }\n\n var allFiles = manifest[route].map(function (entry) {\n return assetPrefix + '/_next/' + encodeURI(entry);\n });\n return {\n scripts: allFiles.filter(function (v) {\n return v.endsWith('.js');\n }),\n css: allFiles.filter(function (v) {\n return v.endsWith('.css');\n })\n };\n });\n}\n\nfunction createRouteLoader(assetPrefix) {\n var entrypoints = new Map();\n var loadedScripts = new Map();\n var styleSheets = new Map();\n var routes = new Map();\n\n function maybeExecuteScript(src) {\n var prom = loadedScripts.get(src);\n\n if (prom) {\n return prom;\n } // Skip executing script if it's already in the DOM:\n\n\n if (document.querySelector(\"script[src^=\\\"\".concat(src, \"\\\"]\"))) {\n return Promise.resolve();\n }\n\n loadedScripts.set(src, prom = appendScript(src));\n return prom;\n }\n\n function fetchStyleSheet(href) {\n var prom = styleSheets.get(href);\n\n if (prom) {\n return prom;\n }\n\n styleSheets.set(href, prom = fetch(href).then(function (res) {\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \".concat(href));\n }\n\n return res.text().then(function (text) {\n return {\n href: href,\n content: text\n };\n });\n })[\"catch\"](function (err) {\n throw markAssetError(err);\n }));\n return prom;\n }\n\n return {\n whenEntrypoint: function whenEntrypoint(route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint: function onEntrypoint(route, execute) {\n Promise.resolve(execute).then(function (fn) {\n return fn();\n }).then(function (exports) {\n return {\n component: exports && exports[\"default\"] || exports,\n exports: exports\n };\n }, function (err) {\n return {\n error: err\n };\n }).then(function (input) {\n var old = entrypoints.get(route);\n entrypoints.set(route, input);\n if (old && 'resolve' in old) old.resolve(input);\n });\n },\n loadRoute: function loadRoute(route) {\n var _this = this;\n\n return withFuture(route, routes, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _yield$getFilesForRou, scripts, css, _yield$Promise$all, _yield$Promise$all2, styles, entrypoint, res;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return getFilesForRoute(assetPrefix, route);\n\n case 3:\n _yield$getFilesForRou = _context.sent;\n scripts = _yield$getFilesForRou.scripts;\n css = _yield$getFilesForRou.css;\n _context.next = 8;\n return Promise.all([entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)), Promise.all(css.map(fetchStyleSheet))]);\n\n case 8:\n _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n styles = _yield$Promise$all2[1];\n _context.next = 13;\n return Promise.race([_this.whenEntrypoint(route), idleTimeout(MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \".concat(route))))]);\n\n case 13:\n entrypoint = _context.sent;\n res = Object.assign({\n styles: styles\n }, entrypoint);\n return _context.abrupt(\"return\", 'error' in entrypoint ? entrypoint : res);\n\n case 18:\n _context.prev = 18;\n _context.t0 = _context[\"catch\"](0);\n return _context.abrupt(\"return\", {\n error: _context.t0\n });\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 18]]);\n })));\n },\n prefetch: function prefetch(route) {\n var _this2 = this;\n\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n var cn;\n\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n\n return getFilesForRoute(assetPrefix, route).then(function (output) {\n return Promise.all(canPrefetch ? output.scripts.map(function (script) {\n return prefetchViaDom(script, 'script');\n }) : []);\n }).then(function () {\n (0, _requestIdleCallback.requestIdleCallback)(function () {\n return _this2.loadRoute(route);\n });\n })[\"catch\"]( // swallow prefetch errors\n function () {});\n }\n };\n}\n\nvar _default = createRouteLoader;\nexports[\"default\"] = _default;","map":{"version":3,"sources":["../../client/route-loader.ts"],"names":["MS_MAX_IDLE_DELAY","entry","map","Promise","prom","resolve","resolver","future","generator","value","link","document","window","canPrefetch","hasPrefetch","res","process","ASSET_LOAD_ERROR","Symbol","Object","err","script","reject","markAssetError","setTimeout","self","onBuildManifest","cb","idleTimeout","scripts","assetPrefix","encodeURI","css","getClientBuildManifest","manifest","route","allFiles","v","entrypoints","loadedScripts","styleSheets","routes","appendScript","fetch","text","href","content","whenEntrypoint","withFuture","onEntrypoint","fn","exports","component","error","input","old","loadRoute","getFilesForRoute","entrypoint","styles","prefetch","cn","navigator","output","prefetchViaDom","createRouteLoader"],"mappings":"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","sourcesContent":["import { ComponentType } from 'react'\nimport { ClientBuildManifest } from '../build/webpack/plugins/build-manifest-plugin'\nimport getAssetPathFromRoute from '../next-server/lib/router/utils/get-asset-path-from-route'\nimport { requestIdleCallback } from './request-idle-callback'\n\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800\n\ndeclare global {\n interface Window {\n __BUILD_MANIFEST?: ClientBuildManifest\n __BUILD_MANIFEST_CB?: Function\n }\n}\n\nexport interface LoadedEntrypointSuccess {\n component: ComponentType\n exports: any\n}\nexport interface LoadedEntrypointFailure {\n error: unknown\n}\nexport type RouteEntrypoint = LoadedEntrypointSuccess | LoadedEntrypointFailure\n\nexport interface RouteStyleSheet {\n href: string\n content: string\n}\n\nexport interface LoadedRouteSuccess extends LoadedEntrypointSuccess {\n styles: RouteStyleSheet[]\n}\nexport interface LoadedRouteFailure {\n error: unknown\n}\nexport type RouteLoaderEntry = LoadedRouteSuccess | LoadedRouteFailure\n\nexport type Future = {\n resolve: (entrypoint: V) => void\n future: Promise\n}\nfunction withFuture(\n key: string,\n map: Map | T>,\n generator?: () => Promise\n): Promise {\n let entry: Future | T | undefined = map.get(key)\n if (entry) {\n if ('future' in entry) {\n return entry.future\n }\n return Promise.resolve(entry)\n }\n let resolver: (entrypoint: T) => void\n const prom: Promise = new Promise((resolve) => {\n resolver = resolve\n })\n map.set(key, (entry = { resolve: resolver!, future: prom }))\n return generator\n ? // eslint-disable-next-line no-sequences\n generator().then((value) => (resolver(value), value))\n : prom\n}\n\nexport interface RouteLoader {\n whenEntrypoint(route: string): Promise\n onEntrypoint(route: string, execute: () => unknown): void\n loadRoute(route: string): Promise\n prefetch(route: string): Promise\n}\n\nfunction hasPrefetch(link?: HTMLLinkElement): boolean {\n try {\n link = document.createElement('link')\n return (\n // detect IE11 since it supports prefetch but isn't detected\n // with relList.support\n (!!window.MSInputMethodContext && !!(document as any).documentMode) ||\n link.relList.supports('prefetch')\n )\n } catch {\n return false\n }\n}\n\nconst canPrefetch: boolean = hasPrefetch()\n\nfunction prefetchViaDom(\n href: string,\n as: string,\n link?: HTMLLinkElement\n): Promise {\n return new Promise((res, rej) => {\n if (document.querySelector(`link[rel=\"prefetch\"][href^=\"${href}\"]`)) {\n return res()\n }\n\n link = document.createElement('link')\n\n // The order of property assignment here is intentional:\n if (as) link!.as = as\n link!.rel = `prefetch`\n link!.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n link!.onload = res\n link!.onerror = rej\n\n // `href` should always be last:\n link!.href = href\n\n document.head.appendChild(link)\n })\n}\n\nconst ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR')\n// TODO: unexport\nexport function markAssetError(err: Error): Error {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {})\n}\n\nexport function isAssetError(err?: Error): boolean | undefined {\n return err && ASSET_LOAD_ERROR in err\n}\n\nfunction appendScript(\n src: string,\n script?: HTMLScriptElement\n): Promise {\n return new Promise((resolve, reject) => {\n script = document.createElement('script')\n\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve\n script.onerror = () =>\n reject(markAssetError(new Error(`Failed to load script: ${src}`)))\n\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src\n document.body.appendChild(script)\n })\n}\n\nfunction idleTimeout(ms: number, err: Error): Promise {\n return new Promise((_resolve, reject) =>\n requestIdleCallback(() => setTimeout(() => reject(err), ms))\n )\n}\n\n// TODO: stop exporting or cache the failure\n// It'd be best to stop exporting this. It's an implementation detail. We're\n// only exporting it for backwards compatibilty with the `page-loader`.\n// Only cache this response as a last resort if we cannot eliminate all other\n// code branches that use the Build Manifest Callback and push them through\n// the Route Loader interface.\nexport function getClientBuildManifest(): Promise {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST)\n }\n\n const onBuildManifest: Promise = new Promise<\n ClientBuildManifest\n >((resolve) => {\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB\n self.__BUILD_MANIFEST_CB = () => {\n resolve(self.__BUILD_MANIFEST)\n cb && cb()\n }\n })\n return Promise.race([\n onBuildManifest,\n idleTimeout(\n MS_MAX_IDLE_DELAY,\n markAssetError(new Error('Failed to load client build manifest'))\n ),\n ])\n}\n\ninterface RouteFiles {\n scripts: string[]\n css: string[]\n}\nfunction getFilesForRoute(\n assetPrefix: string,\n route: string\n): Promise {\n if (process.env.NODE_ENV === 'development') {\n return Promise.resolve({\n scripts: [\n assetPrefix +\n '/_next/static/chunks/pages' +\n encodeURI(getAssetPathFromRoute(route, '.js')),\n ],\n // Styles are handled by `style-loader` in development:\n css: [],\n })\n }\n return getClientBuildManifest().then((manifest) => {\n if (!(route in manifest)) {\n throw markAssetError(new Error(`Failed to lookup route: ${route}`))\n }\n const allFiles = manifest[route].map(\n (entry) => assetPrefix + '/_next/' + encodeURI(entry)\n )\n return {\n scripts: allFiles.filter((v) => v.endsWith('.js')),\n css: allFiles.filter((v) => v.endsWith('.css')),\n }\n })\n}\n\nfunction createRouteLoader(assetPrefix: string): RouteLoader {\n const entrypoints: Map<\n string,\n Future | RouteEntrypoint\n > = new Map()\n const loadedScripts: Map> = new Map()\n const styleSheets: Map> = new Map()\n const routes: Map<\n string,\n Future | RouteLoaderEntry\n > = new Map()\n\n function maybeExecuteScript(src: string): Promise {\n let prom: Promise | undefined = loadedScripts.get(src)\n if (prom) {\n return prom\n }\n\n // Skip executing script if it's already in the DOM:\n if (document.querySelector(`script[src^=\"${src}\"]`)) {\n return Promise.resolve()\n }\n\n loadedScripts.set(src, (prom = appendScript(src)))\n return prom\n }\n\n function fetchStyleSheet(href: string): Promise {\n let prom: Promise | undefined = styleSheets.get(href)\n if (prom) {\n return prom\n }\n\n styleSheets.set(\n href,\n (prom = fetch(href)\n .then((res) => {\n if (!res.ok) {\n throw new Error(`Failed to load stylesheet: ${href}`)\n }\n return res.text().then((text) => ({ href: href, content: text }))\n })\n .catch((err) => {\n throw markAssetError(err)\n }))\n )\n return prom\n }\n\n return {\n whenEntrypoint(route: string) {\n return withFuture(route, entrypoints)\n },\n onEntrypoint(route: string, execute: () => unknown) {\n Promise.resolve(execute)\n .then((fn) => fn())\n .then(\n (exports: any) => ({\n component: (exports && exports.default) || exports,\n exports: exports,\n }),\n (err) => ({ error: err })\n )\n .then((input: RouteEntrypoint) => {\n const old = entrypoints.get(route)\n entrypoints.set(route, input)\n if (old && 'resolve' in old) old.resolve(input)\n })\n },\n loadRoute(route: string) {\n return withFuture(route, routes, async () => {\n try {\n const { scripts, css } = await getFilesForRoute(assetPrefix, route)\n const [, styles] = await Promise.all([\n entrypoints.has(route)\n ? []\n : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet)),\n ] as const)\n\n const entrypoint: RouteEntrypoint = await Promise.race([\n this.whenEntrypoint(route),\n idleTimeout(\n MS_MAX_IDLE_DELAY,\n markAssetError(\n new Error(`Route did not complete loading: ${route}`)\n )\n ),\n ])\n const res: RouteLoaderEntry = Object.assign<\n { styles: RouteStyleSheet[] },\n RouteEntrypoint\n >({ styles }, entrypoint)\n return 'error' in entrypoint ? entrypoint : res\n } catch (err) {\n return { error: err }\n }\n })\n },\n prefetch(route: string): Promise {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn\n if ((cn = (navigator as any).connection)) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve()\n }\n return getFilesForRoute(assetPrefix, route)\n .then((output) =>\n Promise.all(\n canPrefetch\n ? output.scripts.map((script) => prefetchViaDom(script, 'script'))\n : []\n )\n )\n .then(() => {\n requestIdleCallback(() => this.loadRoute(route))\n })\n .catch(\n // swallow prefetch errors\n () => {}\n )\n },\n }\n}\n\nexport default createRouteLoader\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0d/44/18eea7dc0ba9ae8be8c567481ad8d9384ae69650a8a817118d2047686bd1a7c82ce2eaacf02ce2bcddc003dea5f1506b6dc750c584535387b19c26f23c21 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0d/44/18eea7dc0ba9ae8be8c567481ad8d9384ae69650a8a817118d2047686bd1a7c82ce2eaacf02ce2bcddc003dea5f1506b6dc750c584535387b19c26f23c21 new file mode 100644 index 00000000..633d5c5e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0d/44/18eea7dc0ba9ae8be8c567481ad8d9384ae69650a8a817118d2047686bd1a7c82ce2eaacf02ce2bcddc003dea5f1506b6dc750c584535387b19c26f23c21 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAWE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApEF;AAsED;KAvEuBA,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/1d/3addad9424738d752145a985e7a9d3d489489d55b095f49491676b260d2cf4bda47f0877dc9297939fa3f8d3a2e9eb04529bf6ce33795442066e694ed441 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/1d/3addad9424738d752145a985e7a9d3d489489d55b095f49491676b260d2cf4bda47f0877dc9297939fa3f8d3a2e9eb04529bf6ce33795442066e694ed441 new file mode 100644 index 00000000..b5e69045 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/1d/3addad9424738d752145a985e7a9d3d489489d55b095f49491676b260d2cf4bda47f0877dc9297939fa3f8d3a2e9eb04529bf6ce33795442066e694ed441 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.useIntersection = useIntersection;\n\nvar _react = require(\"react\");\n\nvar _requestIdleCallback = require(\"./request-idle-callback\");\n\nconst hasIntersectionObserver = typeof IntersectionObserver !== 'undefined';\n\nfunction useIntersection({\n rootMargin,\n disabled\n}) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const unobserve = (0, _react.useRef)();\n const [visible, setVisible] = (0, _react.useState)(false);\n const setRef = (0, _react.useCallback)(el => {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n if (isDisabled || visible) return;\n\n if (el && el.tagName) {\n unobserve.current = observe(el, isVisible => isVisible && setVisible(isVisible), {\n rootMargin\n });\n }\n }, [isDisabled, rootMargin, visible]);\n (0, _react.useEffect)(() => {\n if (!hasIntersectionObserver) {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback.requestIdleCallback)(() => setVisible(true));\n return () => (0, _requestIdleCallback.cancelIdleCallback)(idleCallback);\n }\n }\n }, [visible]);\n return [setRef, visible];\n}\n\nfunction observe(element, callback, options) {\n const {\n id,\n observer,\n elements\n } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element); // Destroy observer when there's nothing left to watch:\n\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n }\n };\n}\n\nconst observers = new Map();\n\nfunction createObserver(options) {\n const id = options.rootMargin || '';\n let instance = observers.get(id);\n\n if (instance) {\n return instance;\n }\n\n const elements = new Map();\n const observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n observers.set(id, instance = {\n id,\n observer,\n elements\n });\n return instance;\n}","map":{"version":3,"sources":["../../client/use-intersection.tsx"],"names":["hasIntersectionObserver","isDisabled","disabled","unobserve","setRef","el","observe","isVisible","setVisible","idleCallback","createObserver","elements","observer","observers","id","options","instance","entries","entry","callback"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport {\n requestIdleCallback,\n cancelIdleCallback,\n} from './request-idle-callback'\n\ntype UseIntersectionObserverInit = Pick\ntype UseIntersection = { disabled?: boolean } & UseIntersectionObserverInit\ntype ObserveCallback = (isVisible: boolean) => void\ntype Observer = {\n id: string\n observer: IntersectionObserver\n elements: Map\n}\n\nconst hasIntersectionObserver = typeof IntersectionObserver !== 'undefined'\n\nexport function useIntersection({\n rootMargin,\n disabled,\n}: UseIntersection): [(element: T | null) => void, boolean] {\n const isDisabled: boolean = disabled || !hasIntersectionObserver\n\n const unobserve = useRef()\n const [visible, setVisible] = useState(false)\n\n const setRef = useCallback(\n (el: T | null) => {\n if (unobserve.current) {\n unobserve.current()\n unobserve.current = undefined\n }\n\n if (isDisabled || visible) return\n\n if (el && el.tagName) {\n unobserve.current = observe(\n el,\n (isVisible) => isVisible && setVisible(isVisible),\n { rootMargin }\n )\n }\n },\n [isDisabled, rootMargin, visible]\n )\n\n useEffect(() => {\n if (!hasIntersectionObserver) {\n if (!visible) {\n const idleCallback = requestIdleCallback(() => setVisible(true))\n return () => cancelIdleCallback(idleCallback)\n }\n }\n }, [visible])\n\n return [setRef, visible]\n}\n\nfunction observe(\n element: Element,\n callback: ObserveCallback,\n options: UseIntersectionObserverInit\n): () => void {\n const { id, observer, elements } = createObserver(options)\n elements.set(element, callback)\n\n observer.observe(element)\n return function unobserve(): void {\n elements.delete(element)\n observer.unobserve(element)\n\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect()\n observers.delete(id)\n }\n }\n}\n\nconst observers = new Map()\nfunction createObserver(options: UseIntersectionObserverInit): Observer {\n const id = options.rootMargin || ''\n let instance = observers.get(id)\n if (instance) {\n return instance\n }\n\n const elements = new Map()\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n const callback = elements.get(entry.target)\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0\n if (callback && isVisible) {\n callback(isVisible)\n }\n })\n }, options)\n\n observers.set(\n id,\n (instance = {\n id,\n observer,\n elements,\n })\n )\n return instance\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/43/c1d753f4436a22e566c50c2775a1613ee23c73be48c90eafe46a601b669bf97209d2695a5ae3e4f4333c55c174b4aee31f94d56b0b9cc2104615b6b81936 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/43/c1d753f4436a22e566c50c2775a1613ee23c73be48c90eafe46a601b669bf97209d2695a5ae3e4f4333c55c174b4aee31f94d56b0b9cc2104615b6b81936 new file mode 100644 index 00000000..9ac3dad6 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/43/c1d753f4436a22e566c50c2775a1613ee23c73be48c90eafe46a601b669bf97209d2695a5ae3e4f4333c55c174b4aee31f94d56b0b9cc2104615b6b81936 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async () => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.address.city\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website","address","city"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMH,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAA,gBAAKX,KAAK,CAACY,OAAN,CAAcC;AAAnB;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async () => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n

{ ninja.address.city }

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/6c/58a151ce6232b19151d6b0dc6cae08ad5a72d66ebcaf71b29473d515ecc018bafa183cf119583307f6758ac8d22e4522be0a73a80d7469d4ae29cdb4fa84 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/6c/58a151ce6232b19151d6b0dc6cae08ad5a72d66ebcaf71b29473d515ecc018bafa183cf119583307f6758ac8d22e4522be0a73a80d7469d4ae29cdb4fa84 new file mode 100644 index 00000000..edbda308 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/0e/6c/58a151ce6232b19151d6b0dc6cae08ad5a72d66ebcaf71b29473d515ecc018bafa183cf119583307f6758ac8d22e4522be0a73a80d7469d4ae29cdb4fa84 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _eventSourcePolyfill = _interopRequireDefault(require(\"./event-source-polyfill\"));\n\nvar _eventsource = require(\"./error-overlay/eventsource\");\n\nvar _onDemandEntriesUtils = require(\"./on-demand-entries-utils\");\n\nvar _fouc = require(\"./fouc\");\n/* globals __webpack_hash__ */\n\n\nif (!window.EventSource) {\n window.EventSource = _eventSourcePolyfill[\"default\"];\n}\n\nvar data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\nvar assetPrefix = data.assetPrefix,\n page = data.page;\nassetPrefix = assetPrefix || '';\nvar mostRecentHash = null;\n/* eslint-disable-next-line */\n\nvar curHash = __webpack_hash__;\nvar hotUpdatePath = assetPrefix + (assetPrefix.endsWith('/') ? '' : '/') + '_next/static/webpack/'; // Is there a newer version of this code available?\n\nfunction isUpdateAvailable() {\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n\n /* eslint-disable-next-line */\n return mostRecentHash !== __webpack_hash__;\n} // Webpack disallows updates in other states.\n\n\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle';\n} // This function reads code updates on the fly and hard\n// reloads the page when it has changed.\n\n\nfunction tryApplyUpdates() {\n return _tryApplyUpdates.apply(this, arguments);\n}\n\nfunction _tryApplyUpdates() {\n _tryApplyUpdates = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var res, jsonData, curPage, pageUpdated;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(!isUpdateAvailable() || !canApplyUpdates())) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.prev = 2;\n _context.next = 5;\n return fetch(\"\".concat(hotUpdatePath).concat(curHash, \".hot-update.json\"));\n\n case 5:\n res = _context.sent;\n _context.next = 8;\n return res.json();\n\n case 8:\n jsonData = _context.sent;\n curPage = page === '/' ? 'index' : page; // webpack 5 uses an array instead\n\n pageUpdated = (Array.isArray(jsonData.c) ? jsonData.c : Object.keys(jsonData.c)).some(function (mod) {\n return mod.indexOf(\"pages\".concat(curPage.substr(0, 1) === '/' ? curPage : \"/\".concat(curPage))) !== -1 || mod.indexOf(\"pages\".concat(curPage.substr(0, 1) === '/' ? curPage : \"/\".concat(curPage)).replace(/\\//g, '\\\\')) !== -1;\n });\n\n if (pageUpdated) {\n document.location.reload(true);\n } else {\n curHash = mostRecentHash;\n }\n\n _context.next = 18;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](2);\n console.error('Error occurred checking for update', _context.t0);\n document.location.reload(true);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 14]]);\n }));\n return _tryApplyUpdates.apply(this, arguments);\n}\n\n(0, _eventsource.getEventSourceWrapper)({\n path: \"\".concat(assetPrefix, \"/_next/webpack-hmr\")\n}).addMessageListener(function (event) {\n if (event.data === \"\\uD83D\\uDC93\") {\n return;\n }\n\n try {\n var message = JSON.parse(event.data);\n\n if (message.action === 'sync' || message.action === 'built') {\n if (!message.hash) {\n return;\n }\n\n mostRecentHash = message.hash;\n tryApplyUpdates();\n } else if (message.action === 'reloadPage') {\n document.location.reload(true);\n }\n } catch (ex) {\n console.warn('Invalid HMR message: ' + event.data + '\\n' + ex);\n }\n});\n(0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {\n return page;\n});\n(0, _fouc.displayContent)();","map":{"version":3,"sources":["../../../client/dev/amp-dev.js"],"names":["window","EventSourcePolyfill","data","JSON","document","assetPrefix","mostRecentHash","curHash","hotUpdatePath","module","isUpdateAvailable","canApplyUpdates","res","fetch","jsonData","curPage","page","pageUpdated","Array","Object","mod","console","path","event","message","tryApplyUpdates"],"mappings":"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","sourcesContent":["/* globals __webpack_hash__ */\nimport EventSourcePolyfill from './event-source-polyfill'\nimport { getEventSourceWrapper } from './error-overlay/eventsource'\nimport { setupPing } from './on-demand-entries-utils'\nimport { displayContent } from './fouc'\n\nif (!window.EventSource) {\n window.EventSource = EventSourcePolyfill\n}\n\nconst data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent)\nlet { assetPrefix, page } = data\nassetPrefix = assetPrefix || ''\nlet mostRecentHash = null\n/* eslint-disable-next-line */\nlet curHash = __webpack_hash__\nconst hotUpdatePath =\n assetPrefix + (assetPrefix.endsWith('/') ? '' : '/') + '_next/static/webpack/'\n\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n /* eslint-disable-next-line */\n return mostRecentHash !== __webpack_hash__\n}\n\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle'\n}\n\n// This function reads code updates on the fly and hard\n// reloads the page when it has changed.\nasync function tryApplyUpdates() {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return\n }\n try {\n const res = await fetch(`${hotUpdatePath}${curHash}.hot-update.json`)\n const jsonData = await res.json()\n const curPage = page === '/' ? 'index' : page\n // webpack 5 uses an array instead\n const pageUpdated = (Array.isArray(jsonData.c)\n ? jsonData.c\n : Object.keys(jsonData.c)\n ).some((mod) => {\n return (\n mod.indexOf(\n `pages${curPage.substr(0, 1) === '/' ? curPage : `/${curPage}`}`\n ) !== -1 ||\n mod.indexOf(\n `pages${\n curPage.substr(0, 1) === '/' ? curPage : `/${curPage}`\n }`.replace(/\\//g, '\\\\')\n ) !== -1\n )\n })\n\n if (pageUpdated) {\n document.location.reload(true)\n } else {\n curHash = mostRecentHash\n }\n } catch (err) {\n console.error('Error occurred checking for update', err)\n document.location.reload(true)\n }\n}\n\ngetEventSourceWrapper({\n path: `${assetPrefix}/_next/webpack-hmr`,\n}).addMessageListener((event) => {\n if (event.data === '\\uD83D\\uDC93') {\n return\n }\n\n try {\n const message = JSON.parse(event.data)\n\n if (message.action === 'sync' || message.action === 'built') {\n if (!message.hash) {\n return\n }\n mostRecentHash = message.hash\n tryApplyUpdates()\n } else if (message.action === 'reloadPage') {\n document.location.reload(true)\n }\n } catch (ex) {\n console.warn('Invalid HMR message: ' + event.data + '\\n' + ex)\n }\n})\n\nsetupPing(assetPrefix, () => page)\ndisplayContent()\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/3c/4daf383b9764ee3ede9fcdbb05f978c30c56c170c978aca865eb040869d37b075b999ee8b63b4116e60351ba757a05e5cd1a69684d8609da28d7efb53bbb b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/3c/4daf383b9764ee3ede9fcdbb05f978c30c56c170c978aca865eb040869d37b075b999ee8b63b4116e60351ba757a05e5cd1a69684d8609da28d7efb53bbb new file mode 100644 index 00000000..053c9a8c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/3c/4daf383b9764ee3ede9fcdbb05f978c30c56c170c978aca865eb040869d37b075b999ee8b63b4116e60351ba757a05e5cd1a69684d8609da28d7efb53bbb @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/cd/264f1bdf41fe96b5f0fd417283b02cc937b53a3b95ba53a39004ec9583de6230c47bc7e2880d8e5d0eb0848921c954d5db720f996faa4ffbb6e1c6b02a90 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/cd/264f1bdf41fe96b5f0fd417283b02cc937b53a3b95ba53a39004ec9583de6230c47bc7e2880d8e5d0eb0848921c954d5db720f996faa4ffbb6e1c6b02a90 new file mode 100644 index 00000000..ca2cd985 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/10/cd/264f1bdf41fe96b5f0fd417283b02cc937b53a3b95ba53a39004ec9583de6230c47bc7e2880d8e5d0eb0848921c954d5db720f996faa4ffbb6e1c6b02a90 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _hotDevClient = _interopRequireDefault(require(\"./error-overlay/hot-dev-client\"));\n\nvar _default = function _default(_ref) {\n var assetPrefix = _ref.assetPrefix;\n var options = {\n path: \"\".concat(assetPrefix, \"/_next/webpack-hmr\")\n };\n var devClient = (0, _hotDevClient[\"default\"])(options);\n devClient.subscribeToHmrEvent(function (obj) {\n if (obj.action === 'reloadPage') {\n return window.location.reload();\n }\n\n if (obj.action === 'removedPage') {\n var _obj$data = _slicedToArray(obj.data, 1),\n page = _obj$data[0];\n\n if (page === window.next.router.pathname) {\n return window.location.reload();\n }\n\n return;\n }\n\n if (obj.action === 'addedPage') {\n var _obj$data2 = _slicedToArray(obj.data, 1),\n _page = _obj$data2[0];\n\n if (_page === window.next.router.pathname && typeof window.next.router.components[_page] === 'undefined') {\n return window.location.reload();\n }\n\n return;\n }\n\n throw new Error('Unexpected action ' + obj.action);\n });\n return devClient;\n};\n\nexports[\"default\"] = _default;","map":{"version":3,"sources":["../../../client/dev/webpack-hot-middleware-client.js"],"names":["options","path","devClient","obj","window","page"],"mappings":";;;;;;;;;AAAA,IAAA,aAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,gCAAA,CAAA,CAAA;;eAEe,S,QAAA,OAAqB;AAAA,MAArB,WAAqB,QAArB,WAAqB;AAClC,MAAMA,OAAO,GAAG;AACdC,IAAAA,IAAI,YADN,WACM;AADU,GAAhB;AAIA,MAAMC,SAAS,GAAG,CAAA,GAAA,aAAA,WAAA,EAAlB,OAAkB,CAAlB;AAEAA,EAAAA,SAAS,CAATA,mBAAAA,CAA+BC,UAAAA,GAAD,EAAS;AACrC,QAAIA,GAAG,CAAHA,MAAAA,KAAJ,YAAA,EAAiC;AAC/B,aAAOC,MAAM,CAANA,QAAAA,CAAP,MAAOA,EAAP;AAEF;;AAAA,QAAID,GAAG,CAAHA,MAAAA,KAAJ,aAAA,EAAkC;AAAA,qCACjBA,GAAG,CAAlB,IADgC;AAAA,UAC1B,IAD0B;;AAEhC,UAAIE,IAAI,KAAKD,MAAM,CAANA,IAAAA,CAAAA,MAAAA,CAAb,QAAA,EAA0C;AACxC,eAAOA,MAAM,CAANA,QAAAA,CAAP,MAAOA,EAAP;AAEF;;AAAA;AAEF;;AAAA,QAAID,GAAG,CAAHA,MAAAA,KAAJ,WAAA,EAAgC;AAAA,sCACfA,GAAG,CAAlB,IAD8B;AAAA,UACxB,KADwB;;AAE9B,UACEE,KAAI,KAAKD,MAAM,CAANA,IAAAA,CAAAA,MAAAA,CAATC,QAAAA,IACA,OAAOD,MAAM,CAANA,IAAAA,CAAAA,MAAAA,CAAAA,UAAAA,CAAP,KAAOA,CAAP,KAFF,WAAA,EAGE;AACA,eAAOA,MAAM,CAANA,QAAAA,CAAP,MAAOA,EAAP;AAEF;;AAAA;AAEF;;AAAA,UAAM,IAAA,KAAA,CAAU,uBAAuBD,GAAG,CAA1C,MAAM,CAAN;AArBFD,GAAAA;AAwBA,SAAA,SAAA","sourcesContent":["import connect from './error-overlay/hot-dev-client'\n\nexport default ({ assetPrefix }) => {\n const options = {\n path: `${assetPrefix}/_next/webpack-hmr`,\n }\n\n const devClient = connect(options)\n\n devClient.subscribeToHmrEvent((obj) => {\n if (obj.action === 'reloadPage') {\n return window.location.reload()\n }\n if (obj.action === 'removedPage') {\n const [page] = obj.data\n if (page === window.next.router.pathname) {\n return window.location.reload()\n }\n return\n }\n if (obj.action === 'addedPage') {\n const [page] = obj.data\n if (\n page === window.next.router.pathname &&\n typeof window.next.router.components[page] === 'undefined'\n ) {\n return window.location.reload()\n }\n return\n }\n throw new Error('Unexpected action ' + obj.action)\n })\n\n return devClient\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/12/ef/a3bd1db236716fc2bdcfbfc32284a16a0a45b8e83fa22b8c11893c5aa6c9e82cfb6504d1822f4cd3a07f214bd41b5b576de39f874b214ec554b1f2a074af b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/12/ef/a3bd1db236716fc2bdcfbfc32284a16a0a45b8e83fa22b8c11893c5aa6c9e82cfb6504d1822f4cd3a07f214bd41b5b576de39f874b214ec554b1f2a074af new file mode 100644 index 00000000..66ca9d4c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/12/ef/a3bd1db236716fc2bdcfbfc32284a16a0a45b8e83fa22b8c11893c5aa6c9e82cfb6504d1822f4cd3a07f214bd41b5b576de39f874b214ec554b1f2a074af @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\";\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nconst NotFound = () => {\n const router = useRouter();\n useEffect(() => {\n // console.log('use effect ran');\n setTimeout(() => {\n // router.go(-1);\n router.push('/');\n }, 3000);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 46\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 31\n }, this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n};\n\nexport default NotFound;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","router","setTimeout","push"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAEnB,QAAMC,MAAM,GAAGF,SAAS,EAAxB;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACZ;AACAI,IAAAA,UAAU,CAAC,MAAM;AACb;AACAD,MAAAA,MAAM,CAACE,IAAP,CAAY,GAAZ;AACH,KAHS,EAGP,IAHO,CAAV;AAIH,GANQ,EAMN,EANM,CAAT;AAQA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,cAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAOH,CAnBD;;AAqBA,eAAeH,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n const router = useRouter();\r\n\r\n useEffect(() => {\r\n // console.log('use effect ran');\r\n setTimeout(() => {\r\n // router.go(-1);\r\n router.push('/');\r\n }, 3000)\r\n }, [])\r\n\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;\r\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/1b/bf8529827a6f43375c3e00797f931a6eaa09592ff3efce2450baaba52e0037f12f53e84fae6ebefdecd5a43ddb41d2f1be32d420b216531dd318b45fc221 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/1b/bf8529827a6f43375c3e00797f931a6eaa09592ff3efce2450baaba52e0037f12f53e84fae6ebefdecd5a43ddb41d2f1be32d420b216531dd318b45fc221 new file mode 100644 index 00000000..d31d02c7 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/1b/bf8529827a6f43375c3e00797f931a6eaa09592ff3efce2450baaba52e0037f12f53e84fae6ebefdecd5a43ddb41d2f1be32d420b216531dd318b45fc221 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YALJ,eAQI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAaE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtEF;AAwED;KAzEuBA,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/76/36c2393156a3be6c20a446f0ef62bd5e3257cb8ffaf9a585158e29384d255fa729f382c22fdafee2ec07b70a41ffbf1bad8bf972e3283179164fb5f23893 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/76/36c2393156a3be6c20a446f0ef62bd5e3257cb8ffaf9a585158e29384d255fa729f382c22fdafee2ec07b70a41ffbf1bad8bf972e3283179164fb5f23893 new file mode 100644 index 00000000..8f4b3693 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/14/76/36c2393156a3be6c20a446f0ef62bd5e3257cb8ffaf9a585158e29384d255fa729f382c22fdafee2ec07b70a41ffbf1bad8bf972e3283179164fb5f23893 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.parseRelativeUrl = parseRelativeUrl;\n\nvar _utils = require(\"../../utils\");\n\nvar _querystring = require(\"./querystring\");\n/**\n* Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative\n* (e.g. `./hello`) then at least base must be.\n* Absolute urls are rejected with one exception, in the browser, absolute urls that are on\n* the current origin will be parsed as relative\n*/\n\n\nfunction parseRelativeUrl(url, base) {\n var globalBase = new URL(false ? 'http://n' : (0, _utils.getLocationOrigin)());\n var resolvedBase = base ? new URL(base, globalBase) : globalBase;\n\n var _URL = new URL(url, resolvedBase),\n pathname = _URL.pathname,\n searchParams = _URL.searchParams,\n search = _URL.search,\n hash = _URL.hash,\n href = _URL.href,\n origin = _URL.origin;\n\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \".concat(url));\n }\n\n return {\n pathname: pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search: search,\n hash: hash,\n href: href.slice(globalBase.origin.length)\n };\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/parse-relative-url.ts"],"names":["globalBase","resolvedBase","base","origin","pathname","query","search","hash","href"],"mappings":";;;;;AAAA,IAAA,MAAA,GAAA,OAAA,CAAA,aAAA,CAAA;;AACA,IAAA,YAAA,GAAA,OAAA,CAAA,eAAA,CAAA;AAEA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAA,gBAAA,CAAA,GAAA,EAAA,IAAA,EAAsD;AAC3D,MAAMA,UAAU,GAAG,IAAA,GAAA,CACjB,QAAA,UAAA,GAA6C,CAAA,GAAA,MAAA,CAD/C,iBAC+C,GAD5B,CAAnB;AAGA,MAAMC,YAAY,GAAGC,IAAI,GAAG,IAAA,GAAA,CAAA,IAAA,EAAH,UAAG,CAAH,GAAzB,UAAA;;AAJ2D,aAKI,IAAA,GAAA,CAAA,GAAA,EAA/D,YAA+D,CALJ;AAAA,MAKrD,QALqD,QAKrD,QALqD;AAAA,MAKrD,YALqD,QAKrD,YALqD;AAAA,MAKrD,MALqD,QAKrD,MALqD;AAAA,MAKrD,IALqD,QAKrD,IALqD;AAAA,MAKrD,IALqD,QAKrD,IALqD;AAAA,MAKrD,MALqD,QAKrD,MALqD;;AAS3D,MAAIC,MAAM,KAAKH,UAAU,CAAzB,MAAA,EAAkC;AAChC,UAAM,IAAA,KAAA,4DAAN,GAAM,EAAN;AAEF;;AAAA,SAAO;AACLI,IAAAA,QADK,EACLA,QADK;AAELC,IAAAA,KAAK,EAAE,CAAA,GAAA,YAAA,CAAA,sBAAA,EAFF,YAEE,CAFF;AAGLC,IAAAA,MAHK,EAGLA,MAHK;AAILC,IAAAA,IAJK,EAILA,IAJK;AAKLC,IAAAA,IAAI,EAAEA,IAAI,CAAJA,KAAAA,CAAWR,UAAU,CAAVA,MAAAA,CALnB,MAKQQ;AALD,GAAP;AAOD","sourcesContent":["import { getLocationOrigin } from '../../utils'\nimport { searchParamsToUrlQuery } from './querystring'\n\n/**\n * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative\n * (e.g. `./hello`) then at least base must be.\n * Absolute urls are rejected with one exception, in the browser, absolute urls that are on\n * the current origin will be parsed as relative\n */\nexport function parseRelativeUrl(url: string, base?: string) {\n const globalBase = new URL(\n typeof window === 'undefined' ? 'http://n' : getLocationOrigin()\n )\n const resolvedBase = base ? new URL(base, globalBase) : globalBase\n const { pathname, searchParams, search, hash, href, origin } = new URL(\n url,\n resolvedBase\n )\n if (origin !== globalBase.origin) {\n throw new Error(`invariant: invalid relative URL, router received ${url}`)\n }\n return {\n pathname,\n query: searchParamsToUrlQuery(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length),\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/c8/473ade9aff6a989f09782605657286a29c88147d610eaf0c3cee77cfb3853669fbb041126ab98fe28a7bc19b0babeca6498177b8f939d90fde861b252f68 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/c8/473ade9aff6a989f09782605657286a29c88147d610eaf0c3cee77cfb3853669fbb041126ab98fe28a7bc19b0babeca6498177b8f939d90fde861b252f68 new file mode 100644 index 00000000..5b58281c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/c8/473ade9aff6a989f09782605657286a29c88147d610eaf0c3cee77cfb3853669fbb041126ab98fe28a7bc19b0babeca6498177b8f939d90fde861b252f68 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,SAAS,EAAC,eAAb;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/d7/59dc55c3a42396917188a5fba4b3a436cde0987c62d4dc806cfcebd4c56f843725ed929dadf4e1ca8f296d444cd42d99e60f56fc971f77f16582a6851c9c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/d7/59dc55c3a42396917188a5fba4b3a436cde0987c62d4dc806cfcebd4c56f843725ed929dadf4e1ca8f296d444cd42d99e60f56fc971f77f16582a6851c9c new file mode 100644 index 00000000..75ff689c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/15/d7/59dc55c3a42396917188a5fba4b3a436cde0987c62d4dc806cfcebd4c56f843725ed929dadf4e1ca8f296d444cd42d99e60f56fc971f77f16582a6851c9c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 5\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AA2BA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC7B,sBACE;AAAA,4BACE;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aADF,eAEE;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAFF,eAGE;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAHF;AAAA;AAAA;AAAA;AAAA;AAAA,WADF;AAQD,CATD;;KAAMJ,O;;AAWN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n // map data to an array of path objects with params (id)\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id);\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return (\r\n
\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n\r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/19/3e/e7f75cfa48aff9dd073b61f1e01416aaabcf795c6461a86934b253df7ce1af61923fbb1084ddf1df22446a526bc923f7ebea07b19f434a3041af8afdc030 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/19/3e/e7f75cfa48aff9dd073b61f1e01416aaabcf795c6461a86934b253df7ce1af61923fbb1084ddf1df22446a526bc923f7ebea07b19f434a3041af8afdc030 new file mode 100644 index 00000000..102a8a14 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/19/3e/e7f75cfa48aff9dd073b61f1e01416aaabcf795c6461a86934b253df7ce1af61923fbb1084ddf1df22446a526bc923f7ebea07b19f434a3041af8afdc030 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC;AAA1B;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YALJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YAPJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAWH,CAZD;;AAcA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1d/45/a67e65e1082c38c29752f1d74582f571409ba1c8a6cde887fd2bdaff6cd2ee2e431ac1dcdd0d2f439742c3d05f1bd0bdad86a20de538a3291d31394e7d49 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1d/45/a67e65e1082c38c29752f1d74582f571409ba1c8a6cde887fd2bdaff6cd2ee2e431ac1dcdd0d2f439742c3d05f1bd0bdad86a20de538a3291d31394e7d49 new file mode 100644 index 00000000..21e8750f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1d/45/a67e65e1082c38c29752f1d74582f571409ba1c8a6cde887fd2bdaff6cd2ee2e431ac1dcdd0d2f439742c3d05f1bd0bdad86a20de538a3291d31394e7d49 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninjas List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 34\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAII;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aAJJ,eAKI;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aALJ,eAMI;AAAM,MAAA,IAAI,EAAC,SAAX;AAAA,6BAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAArB;AAAA;AAAA;AAAA;AAAA,aANJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAUH,CAXD;;KAAMA,M;AAaN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1e/44/79809b938691ffa4f92926a8f2deb0c60b4930aba37285d2674494079cba6326ad279364c17a9e6990503ba5866f78ad78433e69816c9512c67b9c2e7109 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1e/44/79809b938691ffa4f92926a8f2deb0c60b4930aba37285d2674494079cba6326ad279364c17a9e6990503ba5866f78ad78433e69816c9512c67b9c2e7109 new file mode 100644 index 00000000..e020f585 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1e/44/79809b938691ffa4f92926a8f2deb0c60b4930aba37285d2674494079cba6326ad279364c17a9e6990503ba5866f78ad78433e69816c9512c67b9c2e7109 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n console.log('te11t');\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","console","log","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGQY,EAAAA,OAAO,CAACC,GAAR,CAAY,OAAZ;AACX,CATM;;AAWP,MAAMC,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log('te11t');\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1f/d5/a552902599ee21f644b8f4b9d16d32637ec67b6ceb628935017d18ca4e0f751fb66d9d9f5d42769d43381037665c5775c027a269a51ce883d60ecec2fe99 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1f/d5/a552902599ee21f644b8f4b9d16d32637ec67b6ceb628935017d18ca4e0f751fb66d9d9f5d42769d43381037665c5775c027a269a51ce883d60ecec2fe99 new file mode 100644 index 00000000..c7fb5faf --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/1f/d5/a552902599ee21f644b8f4b9d16d32637ec67b6ceb628935017d18ca4e0f751fb66d9d9f5d42769d43381037665c5775c027a269a51ce883d60ecec2fe99 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","console","log","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAE7BC,EAAAA,OAAO,CAACC,GAAR,CAAYF,KAAZ;AAEE,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKH,KAAK,CAACI;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKJ,KAAK,CAACK;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAbD;;KAAMN,O;;AAeN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(ninja);\r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/66/bc33d725a1ef2ce7cc7f9d84dc925f99192966ffda40667d995c67e5d49722df6bf80342e30b023d07ac5c387180982f347865840bd47b7b308c1cec61ec b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/66/bc33d725a1ef2ce7cc7f9d84dc925f99192966ffda40667d995c67e5d49722df6bf80342e30b023d07ac5c387180982f347865840bd47b7b308c1cec61ec new file mode 100644 index 00000000..e5976918 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/66/bc33d725a1ef2ce7cc7f9d84dc925f99192966ffda40667d995c67e5d49722df6bf80342e30b023d07ac5c387180982f347865840bd47b7b308c1cec61ec @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/90/7a66db80afcd01c28798019bbf422faf2fac73de2014d2d28c962608262e6140aaeb8559bc1bca752458ed0ebf466dd60822e0f2b91df11d2fb71db34d13 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/90/7a66db80afcd01c28798019bbf422faf2fac73de2014d2d28c962608262e6140aaeb8559bc1bca752458ed0ebf466dd60822e0f2b91df11d2fb71db34d13 new file mode 100644 index 00000000..ca224624 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/90/7a66db80afcd01c28798019bbf422faf2fac73de2014d2d28c962608262e6140aaeb8559bc1bca752458ed0ebf466dd60822e0f2b91df11d2fb71db34d13 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\";\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nconst NotFound = () => {\n useEffect(() => {\n console.log('use effect ran');\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 46\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 31\n }, this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this);\n};\n\nexport default NotFound;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","console","log"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAEnBF,EAAAA,SAAS,CAAC,MAAM;AACZG,IAAAA,OAAO,CAACC,GAAR,CAAY,gBAAZ;AACH,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,cAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAOH,CAbD;;AAeA,eAAeF,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n useEffect(() => {\r\n console.log('use effect ran');\r\n }, [])\r\n\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/9e/e438a95cedfe12e21db5e4841947600166d51240d7ede0ccd20663dddfa6cf59412589c2d78ec5ba8c7b4875052bf67d28aab77bdccdd7894e1cbacd69ee b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/9e/e438a95cedfe12e21db5e4841947600166d51240d7ede0ccd20663dddfa6cf59412589c2d78ec5ba8c7b4875052bf67d28aab77bdccdd7894e1cbacd69ee new file mode 100644 index 00000000..8db8dc7f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/20/9e/e438a95cedfe12e21db5e4841947600166d51240d7ede0ccd20663dddfa6cf59412589c2d78ec5ba8c7b4875052bf67d28aab77bdccdd7894e1cbacd69ee @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(Head, {\n children: [/*#__PURE__*/_jsxDEV(\"title\", {\n children: \"Create Next App\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"link\", {\n rel: \"icon\",\n href: \"/favicon.ico\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"main\", {\n className: styles.main,\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: [\"Welcome to \", /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://nextjs.org\",\n children: \"Next.js!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 22\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"footer\", {\n className: styles.footer,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [\"Powered by\", ' ', /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/vercel.svg\",\n alt: \"Vercel Logo\",\n className: styles.logo\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","styles","Home","container","main","title","footer","logo"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBACE;AAAK,IAAA,SAAS,EAAED,MAAM,CAACE,SAAvB;AAAA,4BACE,QAAC,IAAD;AAAA,8BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE;AAAM,QAAA,GAAG,EAAC,MAAV;AAAiB,QAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAME;AAAM,MAAA,SAAS,EAAEF,MAAM,CAACG,IAAxB;AAAA,6BACE;AAAI,QAAA,SAAS,EAAEH,MAAM,CAACI,KAAtB;AAAA,+CACa;AAAG,UAAA,IAAI,EAAC,oBAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADb;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YANF,eAaE;AAAQ,MAAA,SAAS,EAAEJ,MAAM,CAACK,MAA1B;AAAA,6BACE;AACE,QAAA,IAAI,EAAC,wGADP;AAEE,QAAA,MAAM,EAAC,QAFT;AAGE,QAAA,GAAG,EAAC,qBAHN;AAAA,iCAKa,GALb,eAME;AAAK,UAAA,GAAG,EAAC,aAAT;AAAuB,UAAA,GAAG,EAAC,aAA3B;AAAyC,UAAA,SAAS,EAAEL,MAAM,CAACM;AAA3D;AAAA;AAAA;AAAA;AAAA,gBANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAbF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AA0BD","sourcesContent":["import Head from 'next/head'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n
\n \n Create Next App\n \n \n\n
\n

\n Welcome to Next.js!\n

\n\n
\n\n
\n \n Powered by{' '}\n \"Vercel\n \n
\n
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/21/b2/7def5d5577d26d01c1b6ce2d282a7d7bd263a85f7531f01c99c18c2a8756eb77d43decdec0945bef07899b603cd3b767cf32ed3ecce1a922142c32b6fa41 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/21/b2/7def5d5577d26d01c1b6ce2d282a7d7bd263a85f7531f01c99c18c2a8756eb77d43decdec0945bef07899b603cd3b767cf32ed3ecce1a922142c32b6fa41 new file mode 100644 index 00000000..6be5b07a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/21/b2/7def5d5577d26d01c1b6ce2d282a7d7bd263a85f7531f01c99c18c2a8756eb77d43decdec0945bef07899b603cd3b767cf32ed3ecce1a922142c32b6fa41 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\nimport Image from 'next/image';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(Image, {\n src: \"/globe.svg\",\n width: 60,\n height: auto\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 35\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Image","Navbar","auto"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAGI,QAAC,KAAD;AAAO,QAAA,GAAG,EAAC,YAAX;AAAwB,QAAA,KAAK,EAAE,EAA/B;AAAmC,QAAA,MAAM,EAAEC;AAA3C;AAAA;AAAA;AAAA;AAAA;AAHJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aAPJ,eAQI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,aARJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAMD,M;AAeN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\nimport Image from 'next/image'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/27/8fc6e88ff9f309054a2298b49562258a9b6092917ed74ff8fd407a01b402b43c01448d072d517443eead80bc37cf3e7b12b16759871466a11fbe2bde11e8 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/27/8fc6e88ff9f309054a2298b49562258a9b6092917ed74ff8fd407a01b402b43c01448d072d517443eead80bc37cf3e7b12b16759871466a11fbe2bde11e8 new file mode 100644 index 00000000..fcdbff5a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/27/8fc6e88ff9f309054a2298b49562258a9b6092917ed74ff8fd407a01b402b43c01448d072d517443eead80bc37cf3e7b12b16759871466a11fbe2bde11e8 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.getRouteRegex = getRouteRegex; // this isn't importing the escape-string-regex module\n// to reduce bytes\n\nfunction escapeRegex(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&');\n}\n\nfunction parseParameter(param) {\n var optional = param.startsWith('[') && param.endsWith(']');\n\n if (optional) {\n param = param.slice(1, -1);\n }\n\n var repeat = param.startsWith('...');\n\n if (repeat) {\n param = param.slice(3);\n }\n\n return {\n key: param,\n repeat: repeat,\n optional: optional\n };\n}\n\nfunction getRouteRegex(normalizedRoute) {\n var segments = (normalizedRoute.replace(/\\/$/, '') || '/').slice(1).split('/');\n var groups = {};\n var groupIndex = 1;\n var parameterizedRoute = segments.map(function (segment) {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n var _parseParameter = parseParameter(segment.slice(1, -1)),\n key = _parseParameter.key,\n optional = _parseParameter.optional,\n repeat = _parseParameter.repeat;\n\n groups[key] = {\n pos: groupIndex++,\n repeat: repeat,\n optional: optional\n };\n return repeat ? optional ? '(?:/(.+?))?' : '/(.+?)' : '/([^/]+?)';\n } else {\n return \"/\".concat(escapeRegex(segment));\n }\n }).join(''); // dead code eliminate for browser since it's only needed\n // while generating routes-manifest\n\n if (false) {\n var routeKeyCharCode = 97;\n var routeKeyCharLength = 1; // builds a minimal routeKey using only a-z and minimal number of characters\n\n var getSafeRouteKey = function getSafeRouteKey() {\n var routeKey = '';\n\n for (var i = 0; i < routeKeyCharLength; i++) {\n routeKey += String.fromCharCode(routeKeyCharCode);\n routeKeyCharCode++;\n\n if (routeKeyCharCode > 122) {\n routeKeyCharLength++;\n routeKeyCharCode = 97;\n }\n }\n\n return routeKey;\n };\n\n var routeKeys = {};\n var namedParameterizedRoute = segments.map(function (segment) {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n var _parseParameter2 = parseParameter(segment.slice(1, -1)),\n key = _parseParameter2.key,\n optional = _parseParameter2.optional,\n repeat = _parseParameter2.repeat; // replace any non-word characters since they can break\n // the named regex\n\n\n var cleanedKey = key.replace(/\\W/g, '');\n var invalidKey = false; // check if the key is still invalid and fallback to using a known\n // safe key\n\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n\n if (!isNaN(parseInt(cleanedKey.substr(0, 1)))) {\n invalidKey = true;\n }\n\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n\n routeKeys[cleanedKey] = key;\n return repeat ? optional ? \"(?:/(?<\".concat(cleanedKey, \">.+?))?\") : \"/(?<\".concat(cleanedKey, \">.+?)\") : \"/(?<\".concat(cleanedKey, \">[^/]+?)\");\n } else {\n return \"/\".concat(escapeRegex(segment));\n }\n }).join('');\n return {\n re: new RegExp(\"^\".concat(parameterizedRoute, \"(?:/)?$\")),\n groups: groups,\n routeKeys: routeKeys,\n namedRegex: \"^\".concat(namedParameterizedRoute, \"(?:/)?$\")\n };\n }\n\n return {\n re: new RegExp(\"^\".concat(parameterizedRoute, \"(?:/)?$\")),\n groups: groups\n };\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/route-regex.ts"],"names":["str","optional","param","repeat","key","segments","normalizedRoute","groups","groupIndex","parameterizedRoute","segment","parseParameter","pos","escapeRegex","routeKeyCharCode","routeKeyCharLength","getSafeRouteKey","routeKey","i","String","routeKeys","namedParameterizedRoute","cleanedKey","invalidKey","isNaN","parseInt","re","namedRegex"],"mappings":"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","sourcesContent":["export interface Group {\n pos: number\n repeat: boolean\n optional: boolean\n}\n\n// this isn't importing the escape-string-regex module\n// to reduce bytes\nfunction escapeRegex(str: string) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&')\n}\n\nfunction parseParameter(param: string) {\n const optional = param.startsWith('[') && param.endsWith(']')\n if (optional) {\n param = param.slice(1, -1)\n }\n const repeat = param.startsWith('...')\n if (repeat) {\n param = param.slice(3)\n }\n return { key: param, repeat, optional }\n}\n\nexport function getRouteRegex(\n normalizedRoute: string\n): {\n re: RegExp\n namedRegex?: string\n routeKeys?: { [named: string]: string }\n groups: { [groupName: string]: Group }\n} {\n const segments = (normalizedRoute.replace(/\\/$/, '') || '/')\n .slice(1)\n .split('/')\n\n const groups: { [groupName: string]: Group } = {}\n let groupIndex = 1\n const parameterizedRoute = segments\n .map((segment) => {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n const { key, optional, repeat } = parseParameter(segment.slice(1, -1))\n groups[key] = { pos: groupIndex++, repeat, optional }\n return repeat ? (optional ? '(?:/(.+?))?' : '/(.+?)') : '/([^/]+?)'\n } else {\n return `/${escapeRegex(segment)}`\n }\n })\n .join('')\n\n // dead code eliminate for browser since it's only needed\n // while generating routes-manifest\n if (typeof window === 'undefined') {\n let routeKeyCharCode = 97\n let routeKeyCharLength = 1\n\n // builds a minimal routeKey using only a-z and minimal number of characters\n const getSafeRouteKey = () => {\n let routeKey = ''\n\n for (let i = 0; i < routeKeyCharLength; i++) {\n routeKey += String.fromCharCode(routeKeyCharCode)\n routeKeyCharCode++\n\n if (routeKeyCharCode > 122) {\n routeKeyCharLength++\n routeKeyCharCode = 97\n }\n }\n return routeKey\n }\n\n const routeKeys: { [named: string]: string } = {}\n\n let namedParameterizedRoute = segments\n .map((segment) => {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n const { key, optional, repeat } = parseParameter(segment.slice(1, -1))\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, '')\n let invalidKey = false\n\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true\n }\n if (!isNaN(parseInt(cleanedKey.substr(0, 1)))) {\n invalidKey = true\n }\n\n if (invalidKey) {\n cleanedKey = getSafeRouteKey()\n }\n\n routeKeys[cleanedKey] = key\n return repeat\n ? optional\n ? `(?:/(?<${cleanedKey}>.+?))?`\n : `/(?<${cleanedKey}>.+?)`\n : `/(?<${cleanedKey}>[^/]+?)`\n } else {\n return `/${escapeRegex(segment)}`\n }\n })\n .join('')\n\n return {\n re: new RegExp(`^${parameterizedRoute}(?:/)?$`),\n groups,\n routeKeys,\n namedRegex: `^${namedParameterizedRoute}(?:/)?$`,\n }\n }\n\n return {\n re: new RegExp(`^${parameterizedRoute}(?:/)?$`),\n groups,\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/b4/d7384ec248bf1a63cb4d96e5c76e2e15678aeb51e0bf6fca7d62f901192e41fad7a6e17cdb9c24e970b9815e51a11f165e40ce5c76c86f89ae9054dd7e7b b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/b4/d7384ec248bf1a63cb4d96e5c76e2e15678aeb51e0bf6fca7d62f901192e41fad7a6e17cdb9c24e970b9815e51a11f165e40ce5c76c86f89ae9054dd7e7b new file mode 100644 index 00000000..9eb34f97 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/22/b4/d7384ec248bf1a63cb4d96e5c76e2e15678aeb51e0bf6fca7d62f901192e41fad7a6e17cdb9c24e970b9815e51a11f165e40ce5c76c86f89ae9054dd7e7b @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAWE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApEF;AAsED","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/1c/2547ab613037f11b0fc37588e29ae6aca16fa4aaef986ff3b93ea7e62f40e9b9d32cbaa1afa29a18fb5b98e095beed2f908a54a56a665b3a5b30c9a4ceb2 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/1c/2547ab613037f11b0fc37588e29ae6aca16fa4aaef986ff3b93ea7e62f40e9b9d32cbaa1afa29a18fb5b98e095beed2f908a54a56a665b3a5b30c9a4ceb2 new file mode 100644 index 00000000..62922b60 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/1c/2547ab613037f11b0fc37588e29ae6aca16fa4aaef986ff3b93ea7e62f40e9b9d32cbaa1afa29a18fb5b98e095beed2f908a54a56a665b3a5b30c9a4ceb2 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.normalizeLocalePath = normalizeLocalePath;\n\nfunction normalizeLocalePath(pathname, locales) {\n var detectedLocale; // first item will be empty string from splitting at first char\n\n var pathnameParts = pathname.split('/');\n (locales || []).some(function (locale) {\n if (pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join('/') || '/';\n return true;\n }\n\n return false;\n });\n return {\n pathname: pathname,\n detectedLocale: detectedLocale\n };\n}","map":{"version":3,"sources":["../../../../next-server/lib/i18n/normalize-locale-path.ts"],"names":["pathnameParts","pathname","locales","locale","detectedLocale"],"mappings":";;;;;AAAO,SAAA,mBAAA,CAAA,QAAA,EAAA,OAAA,EAML;AACA,MAAA,cAAA,CADA,CAEA;;AACA,MAAMA,aAAa,GAAGC,QAAQ,CAARA,KAAAA,CAAtB,GAAsBA,CAAtB;AAEC,GAACC,OAAO,IAAR,EAAA,EAAA,IAAA,CAAsBC,UAAAA,MAAD,EAAY;AAChC,QAAIH,aAAa,CAAbA,CAAa,CAAbA,CAAAA,WAAAA,OAAmCG,MAAM,CAA7C,WAAuCA,EAAvC,EAA6D;AAC3DC,MAAAA,cAAc,GAAdA,MAAAA;AACAJ,MAAAA,aAAa,CAAbA,MAAAA,CAAAA,CAAAA,EAAAA,CAAAA;AACAC,MAAAA,QAAQ,GAAGD,aAAa,CAAbA,IAAAA,CAAAA,GAAAA,KAAXC,GAAAA;AACA,aAAA,IAAA;AAEF;;AAAA,WAAA,KAAA;AAPD,GAAA;AAUD,SAAO;AACLA,IAAAA,QADK,EACLA,QADK;AAELG,IAAAA,cAFF,EAEEA;AAFK,GAAP;AAID","sourcesContent":["export function normalizeLocalePath(\n pathname: string,\n locales?: string[]\n): {\n detectedLocale?: string\n pathname: string\n} {\n let detectedLocale: string | undefined\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split('/')\n\n ;(locales || []).some((locale) => {\n if (pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale\n pathnameParts.splice(1, 1)\n pathname = pathnameParts.join('/') || '/'\n return true\n }\n return false\n })\n\n return {\n pathname,\n detectedLocale,\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/dc/809e120a2f54da17cd48acbe4b8a17eaace8318aaac248dc19436fb612cdbc876e8480fb3a1d7cc70108db7574f38af17b795c1895511b0a5200bf37c09e b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/dc/809e120a2f54da17cd48acbe4b8a17eaace8318aaac248dc19436fb612cdbc876e8480fb3a1d7cc70108db7574f38af17b795c1895511b0a5200bf37c09e new file mode 100644 index 00000000..918b7048 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/24/dc/809e120a2f54da17cd48acbe4b8a17eaace8318aaac248dc19436fb612cdbc876e8480fb3a1d7cc70108db7574f38af17b795c1895511b0a5200bf37c09e @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n console.log(res);\n console.log(data);\n console.log(id);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","console","log","res","data","id","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAE7BC,EAAAA,OAAO,CAACC,GAAR,CAAYC,GAAZ;AACAF,EAAAA,OAAO,CAACC,GAAR,CAAYE,IAAZ;AACAH,EAAAA,OAAO,CAACC,GAAR,CAAYG,EAAZ;AAEE,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAML,KAAK,CAACM;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKN,KAAK,CAACO;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKP,KAAK,CAACQ;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAfD;;KAAMT,O;;AAiBN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/28/0a/903e36ace7522b50b4b5fce8eef00ff354b434c264e61a166dde65427c3c3a462a5794ac82699027f1b164b55daf4eefa0157c78316731f3f5e16345ec1c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/28/0a/903e36ace7522b50b4b5fce8eef00ff354b434c264e61a166dde65427c3c3a462a5794ac82699027f1b164b55daf4eefa0157c78316731f3f5e16345ec1c new file mode 100644 index 00000000..2f86ed65 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/28/0a/903e36ace7522b50b4b5fce8eef00ff354b434c264e61a166dde65427c3c3a462a5794ac82699027f1b164b55daf4eefa0157c78316731f3f5e16345ec1c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/85/b45163894d89c6fe9ba2974900c81c2a815880a4eeba008e57248d3f5c78e68b205ea1fcc191246a1c6482cf485208d598441ba768d8effb38288f293cf0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/85/b45163894d89c6fe9ba2974900c81c2a815880a4eeba008e57248d3f5c78e68b205ea1fcc191246a1c6482cf485208d598441ba768d8effb38288f293cf0 new file mode 100644 index 00000000..56caf946 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/85/b45163894d89c6fe9ba2974900c81c2a815880a4eeba008e57248d3f5c78e68b205ea1fcc191246a1c6482cf485208d598441ba768d8effb38288f293cf0 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.execOnce = execOnce;\nexports.getLocationOrigin = getLocationOrigin;\nexports.getURL = getURL;\nexports.getDisplayName = getDisplayName;\nexports.isResSent = isResSent;\nexports.loadGetInitialProps = loadGetInitialProps;\nexports.formatWithValidation = formatWithValidation;\nexports.ST = exports.SP = exports.urlObjectKeys = void 0;\n\nvar _formatUrl = require(\"./router/utils/format-url\");\n/**\n* Utils\n*/\n\n\nfunction execOnce(fn) {\n let used = false;\n let result;\n return (...args) => {\n if (!used) {\n used = true;\n result = fn(...args);\n }\n\n return result;\n };\n}\n\nfunction getLocationOrigin() {\n const {\n protocol,\n hostname,\n port\n } = window.location;\n return `${protocol}//${hostname}${port ? ':' + port : ''}`;\n}\n\nfunction getURL() {\n const {\n href\n } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\n\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';\n}\n\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\n\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App$prototype;\n\n if ((_App$prototype = App.prototype) != null && _App$prototype.getInitialProps) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" is defined as an instance method - visit https://err.sh/vercel/next.js/get-initial-props-as-an-instance-method for more information.`;\n throw new Error(message);\n }\n } // when called from _app `ctx` is nested in `ctx`\n\n\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n\n return {};\n }\n\n const props = await App.getInitialProps(ctx);\n\n if (res && isResSent(res)) {\n return props;\n }\n\n if (!props) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`;\n throw new Error(message);\n }\n\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(`${getDisplayName(App)} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://err.sh/vercel/next.js/empty-object-getInitialProps`);\n }\n }\n\n return props;\n}\n\nconst urlObjectKeys = ['auth', 'hash', 'host', 'hostname', 'href', 'path', 'pathname', 'port', 'protocol', 'query', 'search', 'slashes'];\nexports.urlObjectKeys = urlObjectKeys;\n\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach(key => {\n if (urlObjectKeys.indexOf(key) === -1) {\n console.warn(`Unknown key passed via urlObject into url.format: ${key}`);\n }\n });\n }\n }\n\n return (0, _formatUrl.formatUrl)(url);\n}\n\nconst SP = typeof performance !== 'undefined';\nexports.SP = SP;\nconst ST = SP && typeof performance.mark === 'function' && typeof performance.measure === 'function';\nexports.ST = ST;","map":{"version":3,"sources":["../../../next-server/lib/utils.ts"],"names":["used","result","fn","window","protocol","hostname","port","origin","getLocationOrigin","href","Component","res","App","message","getDisplayName","ctx","pageProps","loadGetInitialProps","props","isResSent","Object","console","urlObjectKeys","url","key","SP","ST","performance"],"mappings":"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","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { ParsedUrlQuery } from 'querystring'\nimport { ComponentType } from 'react'\nimport { UrlObject } from 'url'\nimport { formatUrl } from './router/utils/format-url'\nimport { ManifestItem } from '../server/load-components'\nimport { NextRouter } from './router/router'\nimport { Env } from '@next/env'\nimport { BuildManifest } from '../server/get-page-files'\nimport { DomainLocales } from '../server/config'\n\n/**\n * Types used by both next and next-server\n */\n\nexport type NextComponentType<\n C extends BaseContext = NextPageContext,\n IP = {},\n P = {}\n> = ComponentType

& {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param ctx Context of `page`\n */\n getInitialProps?(context: C): IP | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n> & {\n renderDocument(\n Document: DocumentType,\n props: DocumentProps\n ): React.ReactElement\n}\n\nexport type AppType = NextComponentType<\n AppContextType,\n AppInitialProps,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport type NextWebVitalsMetric = {\n id: string\n label: string\n name: string\n startTime: number\n value: number\n}\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => RenderPageResult | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n runtimeConfig?: { [key: string]: any }\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n dynamicIds?: string[]\n err?: Error & { statusCode?: number }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: R\n}\n\nexport type AppInitialProps = {\n pageProps: any\n}\n\nexport type AppPropsType<\n R extends NextRouter = NextRouter,\n P = {}\n> = AppInitialProps & {\n Component: NextComponentType\n router: R\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | React.ReactFragment\n}\n\nexport type DocumentProps = DocumentInitialProps & {\n __NEXT_DATA__: NEXT_DATA\n dangerousAsPath: string\n docComponentsRendered: {\n Html?: boolean\n Main?: boolean\n Head?: boolean\n NextScript?: boolean\n }\n buildManifest: BuildManifest\n ampPath: string\n inAmpMode: boolean\n hybridAmp: boolean\n isDevelopment: boolean\n dynamicImports: ManifestItem[]\n assetPrefix?: string\n canonicalBase: string\n headTags: any[]\n unstable_runtimeJS?: false\n unstable_JsPreload?: false\n devOnlyCacheBusterQueryString: string\n scriptLoader: { defer?: string[]; eager?: any[] }\n locale?: string\n}\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: {\n [key: string]: string | string[]\n }\n /**\n * Object of `cookies` from header\n */\n cookies: {\n [key: string]: string\n }\n\n body: any\n\n env: Env\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: any\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n }\n ) => NextApiResponse\n clearPreviewData: () => NextApiResponse\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => void | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {}\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://err.sh/vercel/next.js/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://err.sh/vercel/next.js/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const urlObjectKeys = [\n 'auth',\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'path',\n 'pathname',\n 'port',\n 'protocol',\n 'query',\n 'search',\n 'slashes',\n]\n\nexport function formatWithValidation(url: UrlObject): string {\n if (process.env.NODE_ENV === 'development') {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach((key) => {\n if (urlObjectKeys.indexOf(key) === -1) {\n console.warn(\n `Unknown key passed via urlObject into url.format: ${key}`\n )\n }\n })\n }\n }\n\n return formatUrl(url)\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n typeof performance.mark === 'function' &&\n typeof performance.measure === 'function'\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/dd/2ec57b96981544ecb0233e1ee4d3c6a487bb9d96ff8b06389519a3ae837b466c7e2db1ad71dd2f72e24d1cbe319062deb76e0152e7b7f5496ef099534db3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/dd/2ec57b96981544ecb0233e1ee4d3c6a487bb9d96ff8b06389519a3ae837b466c7e2db1ad71dd2f72e24d1cbe319062deb76e0152e7b7f5496ef099534db3 new file mode 100644 index 00000000..0fbaa55a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/29/dd/2ec57b96981544ecb0233e1ee4d3c6a487bb9d96ff8b06389519a3ae837b466c7e2db1ad71dd2f72e24d1cbe319062deb76e0152e7b7f5496ef099534db3 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Footer.js\";\n\nconst Footer = () => {\n return /*#__PURE__*/_jsxDEV(\"footer\", {\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Copyrights \\xA9 2021\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, this);\n};\n\nexport default Footer;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Footer.js"],"names":["Footer"],"mappings":";;;AAAA,MAAMA,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,UADJ;AAKH,CAND;;AAQA,eAAeA,MAAf","sourcesContent":["const Footer = () => {\r\n return ( \r\n

\r\n

Copyrights © 2021

\r\n
\r\n );\r\n}\r\n \r\nexport default Footer;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2c/73/e3a6a9fd13e9849201da4ef2e16250e87b7a4df8df2fe2d48943743df232ce98c4c802e010cc90a3dace2ee4601bba00f8bb0345c175635cda0d47ec481d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2c/73/e3a6a9fd13e9849201da4ef2e16250e87b7a4df8df2fe2d48943743df232ce98c4c802e010cc90a3dace2ee4601bba00f8bb0345c175635cda0d47ec481d new file mode 100644 index 00000000..2eeeb4cc --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2c/73/e3a6a9fd13e9849201da4ef2e16250e87b7a4df8df2fe2d48943743df232ce98c4c802e010cc90a3dace2ee4601bba00f8bb0345c175635cda0d47ec481d @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.AmpStateContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar AmpStateContext = /*#__PURE__*/_react[\"default\"].createContext({});\n\nexports.AmpStateContext = AmpStateContext;\n\nif (true) {\n AmpStateContext.displayName = 'AmpStateContext';\n}","map":{"version":3,"sources":["../../../next-server/lib/amp-context.ts"],"names":["AmpStateContext","React"],"mappings":";;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;;;;;AAEO;;AAAA,IAAMA,eAAmC,GAAA,aAAGC,MAAAA,WAAAA,CAAAA,aAAAA,CAA5C,EAA4CA,CAA5C;;;;AAEP,UAA2C;AACzCD,EAAAA,eAAe,CAAfA,WAAAA,GAAAA,iBAAAA;AACD","sourcesContent":["import React from 'react'\n\nexport const AmpStateContext: React.Context = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n AmpStateContext.displayName = 'AmpStateContext'\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2d/53/2209530e6bc67a6b70950071299a5bfcf0abc374de00dc033eb37f154ccd4c3f15c436c5e398ea3a162921a959c6b2c1e3b85b04f7f9f381d1a424a51a6a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2d/53/2209530e6bc67a6b70950071299a5bfcf0abc374de00dc033eb37f154ccd4c3f15c436c5e398ea3a162921a959c6b2c1e3b85b04f7f9f381d1a424a51a6a new file mode 100644 index 00000000..dbe6cfed --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/2d/53/2209530e6bc67a6b70950071299a5bfcf0abc374de00dc033eb37f154ccd4c3f15c436c5e398ea3a162921a959c6b2c1e3b85b04f7f9f381d1a424a51a6a @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _router = _interopRequireDefault(require(\"next/router\"));\n\nvar _onDemandEntriesUtils = require(\"./on-demand-entries-utils\");\n\nvar _default = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var assetPrefix;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n assetPrefix = _ref.assetPrefix;\n\n _router[\"default\"].ready(function () {\n _router[\"default\"].events.on('routeChangeComplete', _onDemandEntriesUtils.setupPing.bind(void 0, assetPrefix, function () {\n return _router[\"default\"].pathname;\n }));\n });\n\n (0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {\n return _router[\"default\"].pathname;\n }, _onDemandEntriesUtils.currentPage); // prevent HMR connection from being closed when running tests\n\n if (!process.env.__NEXT_TEST_MODE) {\n document.addEventListener('visibilitychange', function (_event) {\n var state = document.visibilityState;\n\n if (state === 'visible') {\n (0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {\n return _router[\"default\"].pathname;\n }, true);\n } else {\n (0, _onDemandEntriesUtils.closePing)();\n }\n });\n window.addEventListener('beforeunload', function () {\n (0, _onDemandEntriesUtils.closePing)();\n });\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function _default(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports[\"default\"] = _default;","map":{"version":3,"sources":["../../../client/dev/on-demand-entries-client.js"],"names":["Router","setupPing","currentPage","process","document","_event","state","window"],"mappings":";;;;;;;;;;;AAAA,IAAA,OAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;AACA,IAAA,qBAAA,GAAA,OAAA,CAAA,2BAAA,CAAA;;;uEAEe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAA,WAAA,QAAA,WAAA;;AACbA,YAAAA,OAAAA,WAAAA,CAAAA,KAAAA,CAAa,YAAM;AACjBA,cAAAA,OAAAA,WAAAA,CAAAA,MAAAA,CAAAA,EAAAA,CAAAA,qBAAAA,EAEEC,qBAAAA,CAAAA,SAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA,EAAAA,WAAAA,EAAkC;AAAA,uBAAMD,OAAAA,WAAAA,CAF1CA,QAEoC;AAAA,eAAlCC,CAFFD;AADFA,aAAAA;;AAOA,aAAA,GAAA,qBAAA,CAAA,SAAA,EAAA,WAAA,EAAuB;AAAA,qBAAMA,OAAAA,WAAAA,CAA7B,QAAuB;AAAA,aAAvB,EAA8CE,qBAAAA,CAA9C,WAAA,EARa,CAUb;;AACA,gBAAI,CAACC,OAAO,CAAPA,GAAAA,CAAL,gBAAA,EAAmC;AACjCC,cAAAA,QAAQ,CAARA,gBAAAA,CAAAA,kBAAAA,EAA+CC,UAAAA,MAAD,EAAY;AACxD,oBAAMC,KAAK,GAAGF,QAAQ,CAAtB,eAAA;;AACA,oBAAIE,KAAK,KAAT,SAAA,EAAyB;AACvB,mBAAA,GAAA,qBAAA,CAAA,SAAA,EAAA,WAAA,EAAuB;AAAA,2BAAMN,OAAAA,WAAAA,CAA7B,QAAuB;AAAA,mBAAvB,EAAA,IAAA;AADF,iBAAA,MAEO;AACL,mBAAA,GAAA,qBAAA,CAAA,SAAA;AAEH;AAPDI,eAAAA;AASAG,cAAAA,MAAM,CAANA,gBAAAA,CAAAA,cAAAA,EAAwC,YAAM;AAC5C,iBAAA,GAAA,qBAAA,CAAA,SAAA;AADFA,eAAAA;AAIH;;AAzBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import Router from 'next/router'\nimport { setupPing, currentPage, closePing } from './on-demand-entries-utils'\n\nexport default async ({ assetPrefix }) => {\n Router.ready(() => {\n Router.events.on(\n 'routeChangeComplete',\n setupPing.bind(this, assetPrefix, () => Router.pathname)\n )\n })\n\n setupPing(assetPrefix, () => Router.pathname, currentPage)\n\n // prevent HMR connection from being closed when running tests\n if (!process.env.__NEXT_TEST_MODE) {\n document.addEventListener('visibilitychange', (_event) => {\n const state = document.visibilityState\n if (state === 'visible') {\n setupPing(assetPrefix, () => Router.pathname, true)\n } else {\n closePing()\n }\n })\n\n window.addEventListener('beforeunload', () => {\n closePing()\n })\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/29/4b044dc48124959d1595e12a27b71a8558844aa15f7cab0d43a0b5343cd500313b86c2c2ca9ee3c13b8ca3035dc1afeb576860569a3ea7ec74756c6b1d11 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/29/4b044dc48124959d1595e12a27b71a8558844aa15f7cab0d43a0b5343cd500313b86c2c2ca9ee3c13b8ca3035dc1afeb576860569a3ea7ec74756c6b1d11 new file mode 100644 index 00000000..8cf0bfa6 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/29/4b044dc48124959d1595e12a27b71a8558844aa15f7cab0d43a0b5343cd500313b86c2c2ca9ee3c13b8ca3035dc1afeb576860569a3ea7ec74756c6b1d11 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.address.city\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website","address","city"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAA,gBAAKX,KAAK,CAACY,OAAN,CAAcC;AAAnB;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n

{ ninja.address.city }

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/45/ed356d44cd37bb06371e623684ee5d77401115aae45db349cee24f3e0fb77525099a4bf904722d6a75423c61007ec64dd4ce8a0ea386f7f0c99fb0c7d353 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/45/ed356d44cd37bb06371e623684ee5d77401115aae45db349cee24f3e0fb77525099a4bf904722d6a75423c61007ec64dd4ce8a0ea386f7f0c99fb0c7d353 new file mode 100644 index 00000000..1a9df09a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/30/45/ed356d44cd37bb06371e623684ee5d77401115aae45db349cee24f3e0fb77525099a4bf904722d6a75423c61007ec64dd4ce8a0ea386f7f0c99fb0c7d353 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","single","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,SAAS,EAAEV,MAAM,CAACW,MAArB;AAAA,+BACI;AAAA,oBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeL,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/32/36/2cc96cdd4f7dadd6684aec8963f23b0bbf7a26a3c78ab022b850d9579052e7c274ecf8c8e70852059752e6b411dd628c03d20376bf43a84b2bbd88dbd0c9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/32/36/2cc96cdd4f7dadd6684aec8963f23b0bbf7a26a3c78ab022b850d9579052e7c274ecf8c8e70852059752e6b411dd628c03d20376bf43a84b2bbd88dbd0c9 new file mode 100644 index 00000000..ae568c4b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/32/36/2cc96cdd4f7dadd6684aec8963f23b0bbf7a26a3c78ab022b850d9579052e7c274ecf8c8e70852059752e6b411dd628c03d20376bf43a84b2bbd88dbd0c9 @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\_app.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport Layout from '../components/Layout';\nimport '../styles/globals.css';\n\nfunction MyApp(_ref) {\n var Component = _ref.Component,\n pageProps = _ref.pageProps;\n return /*#__PURE__*/_jsxDEV(Layout, {\n children: /*#__PURE__*/_jsxDEV(Component, _objectSpread({}, pageProps), void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n\n_c = MyApp;\nexport default MyApp;\n\nvar _c;\n\n$RefreshReg$(_c, \"MyApp\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/_app.js"],"names":["Layout","MyApp","Component","pageProps"],"mappings":";;;;;;;;AAAA,OAAOA,MAAP,MAAmB,sBAAnB;AACA,OAAO,uBAAP;;AAEA,SAASC,KAAT,OAAyC;AAAA,MAAxBC,SAAwB,QAAxBA,SAAwB;AAAA,MAAbC,SAAa,QAAbA,SAAa;AACvC,sBACE,QAAC,MAAD;AAAA,2BACE,QAAC,SAAD,oBAAeA,SAAf;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAKD;;KANQF,K;AAQT,eAAeA,KAAf","sourcesContent":["import Layout from '../components/Layout'\nimport '../styles/globals.css'\n\nfunction MyApp({ Component, pageProps }) {\n return (\n \n \n \n )\n}\n\nexport default MyApp"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/66/2106eba846d4b978ba071535ca7d3dbe4bc739bc4b1f318e87fa4c8afa718481c90f96e71aa5a3ca2aad0d75391aca95fdb12497f745cd99b276a2fe2226 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/66/2106eba846d4b978ba071535ca7d3dbe4bc739bc4b1f318e87fa4c8afa718481c90f96e71aa5a3ca2aad0d75391aca95fdb12497f745cd99b276a2fe2226 new file mode 100644 index 00000000..352e91c7 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/66/2106eba846d4b978ba071535ca7d3dbe4bc739bc4b1f318e87fa4c8afa718481c90f96e71aa5a3ca2aad0d75391aca95fdb12497f745cd99b276a2fe2226 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Layout.js\";\nimport Footer from \"./Footer\";\nimport Navbar from \"./Navbar\";\n\nconst Layout = ({\n children\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content\",\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, this), children, /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 9\n }, this);\n};\n\nexport default Layout;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Layout.js"],"names":["Footer","Navbar","Layout","children"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,MAAM,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAmB;AAC9B,sBACI;AAAK,IAAA,SAAS,EAAC,SAAf;AAAA,4BACI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADJ,EAEMA,QAFN,eAGI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAOH,CARD;;AAUA,eAAeD,MAAf","sourcesContent":["import Footer from \"./Footer\"\r\nimport Navbar from \"./Navbar\"\r\n\r\nconst Layout = ( { children }) => {\r\n return ( \r\n
\r\n \r\n { children }\r\n
\r\n
\r\n );\r\n}\r\n \r\nexport default Layout;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/a5/34b5fbbe71c58d8af4404cb149074ea5977d96cb9671e3ffe85e1aa8380c68c92b00411f14d86dd8cb4ed1fe43c86edecc781712473643be69bef3308ef0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/a5/34b5fbbe71c58d8af4404cb149074ea5977d96cb9671e3ffe85e1aa8380c68c92b00411f14d86dd8cb4ed1fe43c86edecc781712473643be69bef3308ef0 new file mode 100644 index 00000000..2c14abb9 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/33/a5/34b5fbbe71c58d8af4404cb149074ea5977d96cb9671e3ffe85e1aa8380c68c92b00411f14d86dd8cb4ed1fe43c86edecc781712473643be69bef3308ef0 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link';\nexport const getStaticProps = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n // console.log(ninjas)\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 5\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","id","single","name"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEH;AAAV;AADF,GAAP;AAGD,CAPM;;AASP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC7B;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,EAEGA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACf,QAAC,IAAD;AAAM,MAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEZ,MAAM,CAACa,MAArB;AAAA,+BACE;AAAA,oBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,YADD,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAYD,CAfD;;AAiBA,eAAeH,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n // console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/34/9c/771b55a5f1616e21b8f4aa30d6b15e291a304f63c7b9a9a01c36062399b068ba9422c97c955d0fed59f06d1001817381681c8a1309c8ba1c88002ca0891f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/34/9c/771b55a5f1616e21b8f4aa30d6b15e291a304f63c7b9a9a01c36062399b068ba9422c97c955d0fed59f06d1001817381681c8a1309c8ba1c88002ca0891f new file mode 100644 index 00000000..becf7394 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/34/9c/771b55a5f1616e21b8f4aa30d6b15e291a304f63c7b9a9a01c36062399b068ba9422c97c955d0fed59f06d1001817381681c8a1309c8ba1c88002ca0891f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/36/7b/a2d29a10b2fb0c4a2cc99d1d51e9fb9155309d2684b4c5fc536cd1506b556fd878595d51d06a1bdfc6781ebc5bc96ffedf17064333069f17c673ee6e688f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/36/7b/a2d29a10b2fb0c4a2cc99d1d51e9fb9155309d2684b4c5fc536cd1506b556fd878595d51d06a1bdfc6781ebc5bc96ffedf17064333069f17c673ee6e688f new file mode 100644 index 00000000..34fcfcfe --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/36/7b/a2d29a10b2fb0c4a2cc99d1d51e9fb9155309d2684b4c5fc536cd1506b556fd878595d51d06a1bdfc6781ebc5bc96ffedf17064333069f17c673ee6e688f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\",\n className: \"logo-img\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC,OAA1B;AAAkC,QAAA,SAAS,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YALJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YAPJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAWH,CAZD;;AAcA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/35/5dc729af06c942d7a7b4d1a585df5229d972f3afc93f75c800df9c4b4011b5ac8d511d71f6b17a3eead387f21bab503268ae97346dd71bca4cea5d6128b3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/35/5dc729af06c942d7a7b4d1a585df5229d972f3afc93f75c800df9c4b4011b5ac8d511d71f6b17a3eead387f21bab503268ae97346dd71bca4cea5d6128b3 new file mode 100644 index 00000000..de99deec --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/35/5dc729af06c942d7a7b4d1a585df5229d972f3afc93f75c800df9c4b4011b5ac8d511d71f6b17a3eead387f21bab503268ae97346dd71bca4cea5d6128b3 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","console","log","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE7BS,EAAAA,OAAO,CAACC,GAAR,CAAYV,KAAZ;AAEE,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAbD;;AAeA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(ninja);\r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/dd/80df8ad18ffc7c2a40f936c51b3ebb6eac32f48cfd9b9e47d1605f5dc0d55f2cffdc46b235f2bbc52ba19bac8ff5737d6083746503e20c14f13c56826580 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/dd/80df8ad18ffc7c2a40f936c51b3ebb6eac32f48cfd9b9e47d1605f5dc0d55f2cffdc46b235f2bbc52ba19bac8ff5737d6083746503e20c14f13c56826580 new file mode 100644 index 00000000..f22f6f97 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3a/dd/80df8ad18ffc7c2a40f936c51b3ebb6eac32f48cfd9b9e47d1605f5dc0d55f2cffdc46b235f2bbc52ba19bac8ff5737d6083746503e20c14f13c56826580 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Jobs.module.css';\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 7\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 5\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","console","log","map","ninja","single","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,8BAAnB;;AAWA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC7BC,EAAAA,OAAO,CAACC,GAAR,CAAYF,MAAZ;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADF,EAEGA,MAAM,CAACG,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACf;AAAA,+BACE;AAAG,UAAA,SAAS,EAAEN,MAAM,CAACO,MAArB;AAAA,iCACE;AAAA,sBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,SAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,eADe;AAAA,KAAhB,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,WADF;AAYD,CAfD;;KAAMR,M;;AAiBN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Jobs.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/4b/9ae613148d5ad3da4b3006654f746b7a33cb8a4c9af6a4d4f9eecdd1e7680b5dbed066ec1bba96032574ae672eb685824c5c976eaa5467d9168584a221c6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/4b/9ae613148d5ad3da4b3006654f746b7a33cb8a4c9af6a4d4f9eecdd1e7680b5dbed066ec1bba96032574ae672eb685824c5c976eaa5467d9168584a221c6 new file mode 100644 index 00000000..32df500b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/4b/9ae613148d5ad3da4b3006654f746b7a33cb8a4c9af6a4d4f9eecdd1e7680b5dbed066ec1bba96032574ae672eb685824c5c976eaa5467d9168584a221c6 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nconsole.log('ninja');\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["console","log","Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAUYA,OAAO,CAACC,GAAR,CAAY,OAAZ;;AAEZ,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMJ,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n console.log('ninja');\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/9d/32b65da673379edb33aad4e8507daea0af555b4266f56115ce307c09398563da747c9a278d11df628ffcf31d4c3ad4b2dc700cb337a25f193dbc0c70637c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/9d/32b65da673379edb33aad4e8507daea0af555b4266f56115ce307c09398563da747c9a278d11df628ffcf31d4c3ad4b2dc700cb337a25f193dbc0c70637c new file mode 100644 index 00000000..38e1db4d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3b/9d/32b65da673379edb33aad4e8507daea0af555b4266f56115ce307c09398563da747c9a278d11df628ffcf31d4c3ad4b2dc700cb337a25f193dbc0c70637c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\nconsole.log(res);\nconsole.log(data);\nconsole.log(id); // this function runs as many times as there are items in what you fetch\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["console","log","res","data","id","Details","ninja","name","email","website"],"mappings":";;;;;AAkBEA,OAAO,CAACC,GAAR,CAAYC,GAAZ;AACAF,OAAO,CAACC,GAAR,CAAYE,IAAZ;AACAH,OAAO,CAACC,GAAR,CAAYG,EAAZ,E,CAEF;;AAYA,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/0e/0ce0d7033bf6717a3548c39fa2de816e51ba0d89d3752522b9f7c917c3bcb3a33f56a1b1244ee9faaa78a426ddfcfcc218cb33c63a9d50d61f23d82cf164 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/0e/0ce0d7033bf6717a3548c39fa2de816e51ba0d89d3752522b9f7c917c3bcb3a33f56a1b1244ee9faaa78a426ddfcfcc218cb33c63a9d50d61f23d82cf164 new file mode 100644 index 00000000..6503379d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/0e/0ce0d7033bf6717a3548c39fa2de816e51ba0d89d3752522b9f7c917c3bcb3a33f56a1b1244ee9faaa78a426ddfcfcc218cb33c63a9d50d61f23d82cf164 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: [ninja.name, \"ll\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BAEI;AAAA,iBAAMA,KAAK,CAACS,IAAZ;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }ll

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/2c/aa1bc07a36d901280cdc7fcba0f0a8e4d730e6e17d4f72b8a1fb5955a60efc80bbe7f045d7aed17ed5aa1755c3a3ddfa17d8eaac2e6e1a92265ea5a56bc9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/2c/aa1bc07a36d901280cdc7fcba0f0a8e4d730e6e17d4f72b8a1fb5955a60efc80bbe7f045d7aed17ed5aa1755c3a3ddfa17d8eaac2e6e1a92265ea5a56bc9 new file mode 100644 index 00000000..b029bf81 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3d/2c/aa1bc07a36d901280cdc7fcba0f0a8e4d730e6e17d4f72b8a1fb5955a60efc80bbe7f045d7aed17ed5aa1755c3a3ddfa17d8eaac2e6e1a92265ea5a56bc9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 35\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC;AAA1B;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aALJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,aAPJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAWH,CAZD;;KAAMA,M;AAcN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3e/2d/32ab146a29ce6449b7b5691981cbecb19d7148628a380bddccc86eae4abd7b47fd394a196d76b19a4b8f890b3edafaf284d32b9708da50ac3e122c3df085 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3e/2d/32ab146a29ce6449b7b5691981cbecb19d7148628a380bddccc86eae4abd7b47fd394a196d76b19a4b8f890b3edafaf284d32b9708da50ac3e122c3df085 new file mode 100644 index 00000000..5670cd2e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/3e/2d/32ab146a29ce6449b7b5691981cbecb19d7148628a380bddccc86eae4abd7b47fd394a196d76b19a4b8f890b3edafaf284d32b9708da50ac3e122c3df085 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAeA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/40/fe/816abe9ad5a731bf24fa836e60c2b932ad1dfef3f5089fc7d1a2141f02ebf7f52c1e785c72094c41a4642965ec874a6084a491c367d974f1c68652515ab2 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/40/fe/816abe9ad5a731bf24fa836e60c2b932ad1dfef3f5089fc7d1a2141f02ebf7f52c1e785c72094c41a4642965ec874a6084a491c367d974f1c68652515ab2 new file mode 100644 index 00000000..12f86646 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/40/fe/816abe9ad5a731bf24fa836e60c2b932ad1dfef3f5089fc7d1a2141f02ebf7f52c1e785c72094c41a4642965ec874a6084a491c367d974f1c68652515ab2 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _s = $RefreshSig$();\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _router = require(\"../next-server/lib/router/router\");\n\nvar _router2 = require(\"./router\");\n\nvar _useIntersection = require(\"./use-intersection\");\n\nvar prefetched = {};\n\nfunction prefetch(router, href, as, options) {\n if (false || !router) return;\n if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n\n router.prefetch(href, as, options)[\"catch\"](function (err) {\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n var curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale; // Join on an invalid URI character\n\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\n\nfunction isModifiedEvent(event) {\n var target = event.currentTarget.target;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\n\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale) {\n var nodeName = e.currentTarget.nodeName;\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n\n e.preventDefault(); // avoid scroll for urls with anchor refs\n\n if (scroll == null) {\n scroll = as.indexOf('#') < 0;\n } // replace state instead of push if prop is present\n\n\n router[replace ? 'replace' : 'push'](href, as, {\n shallow: shallow,\n locale: locale,\n scroll: scroll\n }).then(function (success) {\n if (!success) return;\n\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus();\n }\n });\n}\n\nfunction Link(props) {\n _s();\n\n if (true) {\n var createPropError = function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\".concat(args.key, \"` expects a \").concat(args.expected, \" in ``, but got `\").concat(args.actual, \"` instead.\") + (true ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n }; // TypeScript trick for type-guarding:\n\n\n var requiredPropsGuard = {\n href: true\n };\n var requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach(function (key) {\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key: key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _ = key;\n }\n }); // TypeScript trick for type-guarding:\n\n var optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true\n };\n var optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach(function (key) {\n var valType = typeof props[key];\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key: key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key: key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key: key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _ = key;\n }\n }); // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n\n var hasWarned = _react[\"default\"].useRef(false);\n\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/vercel/next.js/prefetch-true-deprecated');\n }\n }\n\n var p = props.prefetch !== false;\n var router = (0, _router2.useRouter)();\n var pathname = router && router.pathname || '/';\n\n var _react$default$useMem = _react[\"default\"].useMemo(function () {\n var _ref = (0, _router.resolveHref)(pathname, props.href, true),\n _ref2 = _slicedToArray(_ref, 2),\n resolvedHref = _ref2[0],\n resolvedAs = _ref2[1];\n\n return {\n href: resolvedHref,\n as: props.as ? (0, _router.resolveHref)(pathname, props.as) : resolvedAs || resolvedHref\n };\n }, [pathname, props.href, props.as]),\n href = _react$default$useMem.href,\n as = _react$default$useMem.as;\n\n var children = props.children,\n replace = props.replace,\n shallow = props.shallow,\n scroll = props.scroll,\n locale = props.locale; // Deprecated. Warning shown by propType check. If the children provided is a string (example) we wrap it in an tag\n\n if (typeof children === 'string') {\n children = /*#__PURE__*/_react[\"default\"].createElement(\"a\", null, children);\n } // This will return the first child, if multiple are provided it will throw an error\n\n\n var child = _react.Children.only(children);\n\n var childRef = child && typeof child === 'object' && child.ref;\n\n var _ref3 = (0, _useIntersection.useIntersection)({\n rootMargin: '200px'\n }),\n _ref4 = _slicedToArray(_ref3, 2),\n setIntersectionRef = _ref4[0],\n isVisible = _ref4[1];\n\n var setRef = _react[\"default\"].useCallback(function (el) {\n setIntersectionRef(el);\n\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [childRef, setIntersectionRef]);\n\n (0, _react.useEffect)(function () {\n var shouldPrefetch = isVisible && p && (0, _router.isLocalURL)(href);\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n var isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [as, href, isVisible, locale, p, router]);\n var childProps = {\n ref: setRef,\n onClick: function onClick(e) {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale);\n }\n }\n };\n\n childProps.onMouseEnter = function (e) {\n if (!(0, _router.isLocalURL)(href)) return;\n\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n\n prefetch(router, href, as, {\n priority: true\n });\n }; // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n\n\n if (props.passHref || child.type === 'a' && !('href' in child.props)) {\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale; // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n\n var localeDomain = router && router.isLocaleDomain && (0, _router.getDomainLocale)(as, curLocale, router && router.locales, router && router.domainLocales);\n childProps.href = localeDomain || (0, _router.addBasePath)((0, _router.addLocale)(as, curLocale, router && router.defaultLocale));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(child, childProps);\n}\n\n_s(Link, \"7cX92ILFgstKFyzTMH+g73G4t5k=\");\n\n_c = Link;\nvar _default = Link;\nexports[\"default\"] = _default;\n\nvar _c;\n\n$RefreshReg$(_c, \"Link\");","map":{"version":3,"sources":["../../client/link.tsx"],"names":["prefetched","router","err","curLocale","options","href","event","target","e","nodeName","isModifiedEvent","scroll","as","replace","shallow","locale","success","document","args","key","expected","requiredPropsGuard","requiredProps","Object","props","createPropError","actual","_","optionalPropsGuard","passHref","prefetch","optionalProps","valType","hasWarned","React","console","p","pathname","resolvedAs","children","child","Children","childRef","rootMargin","setRef","el","setIntersectionRef","shouldPrefetch","isVisible","isPrefetched","childProps","ref","onClick","linkClicked","priority","localeDomain","Link"],"mappings":"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","sourcesContent":["import React, { Children, useEffect } from 'react'\nimport { UrlObject } from 'url'\nimport {\n addBasePath,\n addLocale,\n getDomainLocale,\n isLocalURL,\n NextRouter,\n PrefetchOptions,\n resolveHref,\n} from '../next-server/lib/router/router'\nimport { useRouter } from './router'\nimport { useIntersection } from './use-intersection'\n\ntype Url = string | UrlObject\ntype RequiredKeys = {\n [K in keyof T]-?: {} extends Pick ? never : K\n}[keyof T]\ntype OptionalKeys = {\n [K in keyof T]-?: {} extends Pick ? K : never\n}[keyof T]\n\nexport type LinkProps = {\n href: Url\n as?: Url\n replace?: boolean\n scroll?: boolean\n shallow?: boolean\n passHref?: boolean\n prefetch?: boolean\n locale?: string | false\n}\ntype LinkPropsRequired = RequiredKeys\ntype LinkPropsOptional = OptionalKeys\n\nconst prefetched: { [cacheKey: string]: boolean } = {}\n\nfunction prefetch(\n router: NextRouter,\n href: string,\n as: string,\n options?: PrefetchOptions\n): void {\n if (typeof window === 'undefined' || !router) return\n if (!isLocalURL(href)) return\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n router.prefetch(href, as, options).catch((err) => {\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err\n }\n })\n const curLocale =\n options && typeof options.locale !== 'undefined'\n ? options.locale\n : router && router.locale\n\n // Join on an invalid URI character\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true\n}\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const { target } = event.currentTarget as HTMLAnchorElement\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n router: NextRouter,\n href: string,\n as: string,\n replace?: boolean,\n shallow?: boolean,\n scroll?: boolean,\n locale?: string | false\n): void {\n const { nodeName } = e.currentTarget\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !isLocalURL(href))) {\n // ignore click for browser’s default behavior\n return\n }\n\n e.preventDefault()\n\n // avoid scroll for urls with anchor refs\n if (scroll == null) {\n scroll = as.indexOf('#') < 0\n }\n\n // replace state instead of push if prop is present\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll,\n }).then((success: boolean) => {\n if (!success) return\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus()\n }\n })\n}\n\nfunction Link(props: React.PropsWithChildren) {\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'prefetch'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = React.useRef(false)\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true\n console.warn(\n 'Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/vercel/next.js/prefetch-true-deprecated'\n )\n }\n }\n const p = props.prefetch !== false\n\n const router = useRouter()\n const pathname = (router && router.pathname) || '/'\n\n const { href, as } = React.useMemo(() => {\n const [resolvedHref, resolvedAs] = resolveHref(pathname, props.href, true)\n return {\n href: resolvedHref,\n as: props.as\n ? resolveHref(pathname, props.as)\n : resolvedAs || resolvedHref,\n }\n }, [pathname, props.href, props.as])\n\n let { children, replace, shallow, scroll, locale } = props\n\n // Deprecated. Warning shown by propType check. If the children provided is a string (example) we wrap it in an tag\n if (typeof children === 'string') {\n children = {children}\n }\n\n // This will return the first child, if multiple are provided it will throw an error\n const child: any = Children.only(children)\n const childRef: any = child && typeof child === 'object' && child.ref\n\n const [setIntersectionRef, isVisible] = useIntersection({\n rootMargin: '200px',\n })\n const setRef = React.useCallback(\n (el: Element) => {\n setIntersectionRef(el)\n if (childRef) {\n if (typeof childRef === 'function') childRef(el)\n else if (typeof childRef === 'object') {\n childRef.current = el\n }\n }\n },\n [childRef, setIntersectionRef]\n )\n useEffect(() => {\n const shouldPrefetch = isVisible && p && isLocalURL(href)\n const curLocale =\n typeof locale !== 'undefined' ? locale : router && router.locale\n const isPrefetched =\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')]\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale,\n })\n }\n }, [as, href, isVisible, locale, p, router])\n\n const childProps: {\n onMouseEnter?: React.MouseEventHandler\n onClick: React.MouseEventHandler\n href?: string\n ref?: any\n } = {\n ref: setRef,\n onClick: (e: React.MouseEvent) => {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e)\n }\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale)\n }\n },\n }\n\n childProps.onMouseEnter = (e: React.MouseEvent) => {\n if (!isLocalURL(href)) return\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e)\n }\n prefetch(router, href, as, { priority: true })\n }\n\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n if (props.passHref || (child.type === 'a' && !('href' in child.props))) {\n const curLocale =\n typeof locale !== 'undefined' ? locale : router && router.locale\n\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain =\n router &&\n router.isLocaleDomain &&\n getDomainLocale(\n as,\n curLocale,\n router && router.locales,\n router && router.domainLocales\n )\n\n childProps.href =\n localeDomain ||\n addBasePath(addLocale(as, curLocale, router && router.defaultLocale))\n }\n\n return React.cloneElement(child, childProps)\n}\n\nexport default Link\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/04/89ea677d2e68fae7303beca13c4db50b66641dc4ef382eb58b38e6d20a5644ae93c1bd4b862ee26825b94e01be2bd97eb34e39963e617dea723a8212d89e b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/04/89ea677d2e68fae7303beca13c4db50b66641dc4ef382eb58b38e6d20a5644ae93c1bd4b862ee26825b94e01be2bd97eb34e39963e617dea723a8212d89e new file mode 100644 index 00000000..b8ba7aeb --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/04/89ea677d2e68fae7303beca13c4db50b66641dc4ef382eb58b38e6d20a5644ae93c1bd4b862ee26825b94e01be2bd97eb34e39963e617dea723a8212d89e @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 7\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 11\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","id","single","name"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADE,EAEDA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACf,QAAC,IAAD;AAAM,QAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,+BACE;AAAG,UAAA,SAAS,EAAEL,MAAM,CAACM,MAArB;AAAA,iCACE;AAAA,sBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,SAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,eADe;AAAA,KAAhB,CAFC;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAMJ,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/6b/8f03b07a5e51774b9ef62943ccafe5038c127be0b80ed37074bbb5fa6c7b2abc489e0ba15e52f07854902c9ce04aff2a8b30980e692c5cd6bf6d37b7e0cb b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/6b/8f03b07a5e51774b9ef62943ccafe5038c127be0b80ed37074bbb5fa6c7b2abc489e0ba15e52f07854902c9ce04aff2a8b30980e692c5cd6bf6d37b7e0cb new file mode 100644 index 00000000..f4ccec9c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/41/6b/8f03b07a5e51774b9ef62943ccafe5038c127be0b80ed37074bbb5fa6c7b2abc489e0ba15e52f07854902c9ce04aff2a8b30980e692c5cd6bf6d37b7e0cb @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\nvar Details = function Details() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details"],"mappings":";;;;;AAAA,IAAMA,OAAO,GAAG,SAAVA,OAAU,GAAM;AAClB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,O;AAQN,eAAeA,OAAf","sourcesContent":["const Details = () => {\r\n return ( \r\n
\r\n

Details Page

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/42/4a/bfaeeb8ba6417f8497b3fd232999436a19b98d3dc66030d8d4902951aed7d34f7a2c1bc6320336181a85c1b072765d87b6bd6abdc7a4c5d9be2d24fa4c06 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/42/4a/bfaeeb8ba6417f8497b3fd232999436a19b98d3dc66030d8d4902951aed7d34f7a2c1bc6320336181a85c1b072765d87b6bd6abdc7a4c5d9be2d24fa4c06 new file mode 100644 index 00000000..6eb96efe --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/42/4a/bfaeeb8ba6417f8497b3fd232999436a19b98d3dc66030d8d4902951aed7d34f7a2c1bc6320336181a85c1b072765d87b6bd6abdc7a4c5d9be2d24fa4c06 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _classCallCheck = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _router = require(\"../next-server/lib/router/router\");\n\nvar _getAssetPathFromRoute = _interopRequireDefault(require(\"../next-server/lib/router/utils/get-asset-path-from-route\"));\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n\nvar _parseRelativeUrl = require(\"../next-server/lib/router/utils/parse-relative-url\");\n\nvar _routeLoader = _interopRequireWildcard(require(\"./route-loader\"));\n\nfunction normalizeRoute(route) {\n if (route[0] !== '/') {\n throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\".concat(route, \"\\\"\"));\n }\n\n if (route === '/') return route;\n return route.replace(/\\/$/, '');\n}\n\nvar PageLoader = /*#__PURE__*/function () {\n function PageLoader(buildId, assetPrefix) {\n _classCallCheck(this, PageLoader);\n\n this.buildId = void 0;\n this.assetPrefix = void 0;\n this.promisedSsgManifest = void 0;\n this.promisedDevPagesManifest = void 0;\n this.routeLoader = void 0;\n this.routeLoader = (0, _routeLoader[\"default\"])(assetPrefix);\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n /** @type {Promise>} */\n\n this.promisedSsgManifest = new Promise(function (resolve) {\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n ;\n\n window.__SSG_MANIFEST_CB = function () {\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n }\n\n _createClass(PageLoader, [{\n key: \"getPageList\",\n value: function getPageList() {\n if (false) {\n return (0, _routeLoader.getClientBuildManifest)().then(function (manifest) {\n return manifest.sortedPages;\n });\n } else {\n if (window.__DEV_PAGES_MANIFEST) {\n return window.__DEV_PAGES_MANIFEST.pages;\n } else {\n if (!this.promisedDevPagesManifest) {\n this.promisedDevPagesManifest = fetch(\"\".concat(this.assetPrefix, \"/_next/static/development/_devPagesManifest.json\")).then(function (res) {\n return res.json();\n }).then(function (manifest) {\n ;\n window.__DEV_PAGES_MANIFEST = manifest;\n return manifest.pages;\n })[\"catch\"](function (err) {\n console.log(\"Failed to fetch devPagesManifest\", err);\n });\n }\n\n return this.promisedDevPagesManifest;\n }\n }\n }\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n * @returns {string}\n */\n\n }, {\n key: \"getDataHref\",\n value: function getDataHref(href, asPath, ssg, locale) {\n var _this = this;\n\n var _ref = (0, _parseRelativeUrl.parseRelativeUrl)(href),\n hrefPathname = _ref.pathname,\n query = _ref.query,\n search = _ref.search;\n\n var _ref2 = (0, _parseRelativeUrl.parseRelativeUrl)(asPath),\n asPathname = _ref2.pathname;\n\n var route = normalizeRoute(hrefPathname);\n\n var getHrefForSlug = function getHrefForSlug(path) {\n var dataRoute = (0, _getAssetPathFromRoute[\"default\"])((0, _router.addLocale)(path, locale), '.json');\n return (0, _router.addBasePath)(\"/_next/data/\".concat(_this.buildId).concat(dataRoute).concat(ssg ? '' : search));\n };\n\n var isDynamic = (0, _isDynamic.isDynamicRoute)(route);\n var interpolatedRoute = isDynamic ? (0, _router.interpolateAs)(hrefPathname, asPathname, query).result : '';\n return isDynamic ? interpolatedRoute && getHrefForSlug(interpolatedRoute) : getHrefForSlug(route);\n }\n /**\n * @param {string} href the route href (file-system path)\n */\n\n }, {\n key: \"_isSsg\",\n value: function _isSsg(href) {\n var _ref3 = (0, _parseRelativeUrl.parseRelativeUrl)(href),\n hrefPathname = _ref3.pathname;\n\n var route = normalizeRoute(hrefPathname);\n return this.promisedSsgManifest.then(function (s) {\n return s.has(route);\n });\n }\n }, {\n key: \"loadPage\",\n value: function loadPage(route) {\n return this.routeLoader.loadRoute(route).then(function (res) {\n if ('component' in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map(function (o) {\n return {\n href: o.href,\n text: o.content\n };\n })\n };\n }\n\n throw res.error;\n });\n }\n }, {\n key: \"prefetch\",\n value: function prefetch(route) {\n return this.routeLoader.prefetch(route);\n }\n }]);\n\n return PageLoader;\n}();\n\nexports[\"default\"] = PageLoader;","map":{"version":3,"sources":["../../client/page-loader.ts"],"names":["route","PageLoader","buildId","assetPrefix","promisedSsgManifest","promisedDevPagesManifest","routeLoader","constructor","resolve","window","getPageList","manifest","fetch","res","err","console","pathname","normalizeRoute","getHrefForSlug","path","dataRoute","ssg","isDynamic","interpolatedRoute","s","loadPage","page","mod","styleSheets","o","href","text","prefetch"],"mappings":"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","sourcesContent":["import { ComponentType } from 'react'\nimport { ClientSsgManifest } from '../build'\nimport {\n addBasePath,\n addLocale,\n interpolateAs,\n} from '../next-server/lib/router/router'\nimport getAssetPathFromRoute from '../next-server/lib/router/utils/get-asset-path-from-route'\nimport { isDynamicRoute } from '../next-server/lib/router/utils/is-dynamic'\nimport { parseRelativeUrl } from '../next-server/lib/router/utils/parse-relative-url'\nimport createRouteLoader, {\n getClientBuildManifest,\n RouteLoader,\n} from './route-loader'\n\nfunction normalizeRoute(route: string): string {\n if (route[0] !== '/') {\n throw new Error(`Route name should start with a \"/\", got \"${route}\"`)\n }\n\n if (route === '/') return route\n return route.replace(/\\/$/, '')\n}\n\nexport type StyleSheetTuple = { href: string; text: string }\nexport type GoodPageCache = {\n page: ComponentType\n mod: any\n styleSheets: StyleSheetTuple[]\n}\n\nexport default class PageLoader {\n private buildId: string\n private assetPrefix: string\n\n private promisedSsgManifest?: Promise\n private promisedDevPagesManifest?: Promise\n public routeLoader: RouteLoader\n\n constructor(buildId: string, assetPrefix: string) {\n this.routeLoader = createRouteLoader(assetPrefix)\n\n this.buildId = buildId\n this.assetPrefix = assetPrefix\n\n /** @type {Promise>} */\n this.promisedSsgManifest = new Promise((resolve) => {\n if ((window as any).__SSG_MANIFEST) {\n resolve((window as any).__SSG_MANIFEST)\n } else {\n ;(window as any).__SSG_MANIFEST_CB = () => {\n resolve((window as any).__SSG_MANIFEST)\n }\n }\n })\n }\n\n getPageList() {\n if (process.env.NODE_ENV === 'production') {\n return getClientBuildManifest().then((manifest) => manifest.sortedPages)\n } else {\n if ((window as any).__DEV_PAGES_MANIFEST) {\n return (window as any).__DEV_PAGES_MANIFEST.pages\n } else {\n if (!this.promisedDevPagesManifest) {\n this.promisedDevPagesManifest = fetch(\n `${this.assetPrefix}/_next/static/development/_devPagesManifest.json`\n )\n .then((res) => res.json())\n .then((manifest) => {\n ;(window as any).__DEV_PAGES_MANIFEST = manifest\n return manifest.pages\n })\n .catch((err) => {\n console.log(`Failed to fetch devPagesManifest`, err)\n })\n }\n return this.promisedDevPagesManifest\n }\n }\n }\n\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n * @returns {string}\n */\n getDataHref(\n href: string,\n asPath: string,\n ssg: boolean,\n locale?: string | false\n ): string {\n const { pathname: hrefPathname, query, search } = parseRelativeUrl(href)\n const { pathname: asPathname } = parseRelativeUrl(asPath)\n const route = normalizeRoute(hrefPathname)\n\n const getHrefForSlug = (path: string) => {\n const dataRoute = getAssetPathFromRoute(addLocale(path, locale), '.json')\n return addBasePath(\n `/_next/data/${this.buildId}${dataRoute}${ssg ? '' : search}`\n )\n }\n\n const isDynamic: boolean = isDynamicRoute(route)\n const interpolatedRoute = isDynamic\n ? interpolateAs(hrefPathname, asPathname, query).result\n : ''\n\n return isDynamic\n ? interpolatedRoute && getHrefForSlug(interpolatedRoute)\n : getHrefForSlug(route)\n }\n\n /**\n * @param {string} href the route href (file-system path)\n */\n _isSsg(href: string): Promise {\n const { pathname: hrefPathname } = parseRelativeUrl(href)\n const route = normalizeRoute(hrefPathname)\n return this.promisedSsgManifest!.then((s: ClientSsgManifest) =>\n s.has(route)\n )\n }\n\n loadPage(route: string): Promise {\n return this.routeLoader.loadRoute(route).then((res) => {\n if ('component' in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map((o) => ({\n href: o.href,\n text: o.content,\n })),\n }\n }\n throw res.error\n })\n }\n\n prefetch(route: string): Promise {\n return this.routeLoader.prefetch(route)\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/74/5085a87efcf508c845f7a48cb77d0e1f28c7912b39d82281a6a5d7ed1a63e75070a917f6c97552f05ef42ac68da4afd94a1b9746b312bccf4041d2cb4057 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/74/5085a87efcf508c845f7a48cb77d0e1f28c7912b39d82281a6a5d7ed1a63e75070a917f6c97552f05ef42ac68da4afd94a1b9746b312bccf4041d2cb4057 new file mode 100644 index 00000000..f188c60c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/74/5085a87efcf508c845f7a48cb77d0e1f28c7912b39d82281a6a5d7ed1a63e75070a917f6c97552f05ef42ac68da4afd94a1b9746b312bccf4041d2cb4057 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAcA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/f7/d0662fae1f8db49a2547f3c15043f3a7109cc2af2c5a532484b7910f20097fb593c33459f621f4b37f36b1ebb32ddd49f3707b639ce6bba5d1a1ba19daa6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/f7/d0662fae1f8db49a2547f3c15043f3a7109cc2af2c5a532484b7910f20097fb593c33459f621f4b37f36b1ebb32ddd49f3707b639ce6bba5d1a1ba19daa6 new file mode 100644 index 00000000..f1029271 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/44/f7/d0662fae1f8db49a2547f3c15043f3a7109cc2af2c5a532484b7910f20097fb593c33459f621f4b37f36b1ebb32ddd49f3707b639ce6bba5d1a1ba19daa6 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninjas List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 34\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAII;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YALJ,eAMI;AAAM,MAAA,IAAI,EAAC,SAAX;AAAA,6BAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAArB;AAAA;AAAA;AAAA;AAAA,YANJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link';\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/47/8a/066a17457652c3f6c03283f96608e3c37ac9984c501abeff124666f5b5ab869af094a5da5845b8b5819c95500b145e676953f263ca5d0c269b5e453b5be5 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/47/8a/066a17457652c3f6c03283f96608e3c37ac9984c501abeff124666f5b5ab869af094a5da5845b8b5819c95500b145e676953f263ca5d0c269b5e453b5be5 new file mode 100644 index 00000000..fa81bc47 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/47/8a/066a17457652c3f6c03283f96608e3c37ac9984c501abeff124666f5b5ab869af094a5da5845b8b5819c95500b145e676953f263ca5d0c269b5e453b5be5 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Jobs.module.css';\nexport const getStaticProps = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 5\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","console","log","map","ninja","single","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,8BAAnB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEH;AAAV;AADF,GAAP;AAGD,CAPM;;AASP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC7BE,EAAAA,OAAO,CAACC,GAAR,CAAYH,MAAZ;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,EAEGA,MAAM,CAACI,GAAP,CAAWC,KAAK,iBACf;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEZ,MAAM,CAACa,MAArB;AAAA,+BACE;AAAA,oBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,YADD,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAYD,CAfD;;AAiBA,eAAeP,MAAf","sourcesContent":["import styles from '../../styles/Jobs.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4b/3c/2be94406a4c45baea78341fc04bfb2a3bc0b36d9cd83547f06528d216ac65a4a263ecdb6adecc8da59f17bb2130bd76cdf384c756a7b0fe671e735834aa0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4b/3c/2be94406a4c45baea78341fc04bfb2a3bc0b36d9cd83547f06528d216ac65a4a263ecdb6adecc8da59f17bb2130bd76cdf384c756a7b0fe671e735834aa0 new file mode 100644 index 00000000..fbb27f4b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4b/3c/2be94406a4c45baea78341fc04bfb2a3bc0b36d9cd83547f06528d216ac65a4a263ecdb6adecc8da59f17bb2130bd76cdf384c756a7b0fe671e735834aa0 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YALJ,eAQI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAaE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtEF;AAwED","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4c/7a/a986702bd63084ad7557fc34e2914b5e47e59de6847e50737eea7a11ffc094664af36336a1ec8ba9589c4a867a010ede42da678a69558397bd7d66b040ac b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4c/7a/a986702bd63084ad7557fc34e2914b5e47e59de6847e50737eea7a11ffc094664af36336a1ec8ba9589c4a867a010ede42da678a69558397bd7d66b040ac new file mode 100644 index 00000000..e4c8b5b4 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4c/7a/a986702bd63084ad7557fc34e2914b5e47e59de6847e50737eea7a11ffc094664af36336a1ec8ba9589c4a867a010ede42da678a69558397bd7d66b040ac @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.default = mitt;\n/*\nMIT License\nCopyright (c) Jason Miller (https://jasonformat.com/)\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n// This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nfunction mitt() {\n const all = Object.create(null);\n return {\n on(type, handler) {\n ;\n (all[type] || (all[type] = [])).push(handler);\n },\n\n off(type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n\n emit(type, ...evts) {\n // eslint-disable-next-line array-callback-return\n ;\n (all[type] || []).slice().map(handler => {\n handler(...evts);\n });\n }\n\n };\n}","map":{"version":3,"sources":["../../../next-server/lib/mitt.ts"],"names":["all","Object","on","off","emit","handler"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;;AAUe,SAAA,IAAA,GAA6B;AAC1C,QAAMA,GAA+B,GAAGC,MAAM,CAANA,MAAAA,CAAxC,IAAwCA,CAAxC;AAEA,SAAO;AACLC,IAAAA,EAAE,CAAA,IAAA,EAAA,OAAA,EAAiC;AACjC;AAAC,OAACF,GAAG,CAAHA,IAAG,CAAHA,KAAcA,GAAG,CAAHA,IAAG,CAAHA,GAAf,EAACA,CAAD,EAAA,IAAA,CAAA,OAAA;AAFE,KAAA;;AAKLG,IAAAA,GAAG,CAAA,IAAA,EAAA,OAAA,EAAiC;AAClC,UAAIH,GAAG,CAAP,IAAO,CAAP,EAAe;AACbA,QAAAA,GAAG,CAAHA,IAAG,CAAHA,CAAAA,MAAAA,CAAiBA,GAAG,CAAHA,IAAG,CAAHA,CAAAA,OAAAA,CAAAA,OAAAA,MAAjBA,CAAAA,EAAAA,CAAAA;AAEH;AATI,KAAA;;AAWLI,IAAAA,IAAI,CAAA,IAAA,EAAe,GAAf,IAAA,EAA+B;AACjC;AACA;AAAC,OAACJ,GAAG,CAAHA,IAAG,CAAHA,IAAD,EAAA,EAAA,KAAA,GAAA,GAAA,CAA+BK,OAAD,IAAsB;AACnDA,QAAAA,OAAO,CAAC,GAARA,IAAO,CAAPA;AADD,OAAA;AAbL;;AAAO,GAAP;AAkBD","sourcesContent":["/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\ntype Handler = (...evts: any[]) => void\n\nexport type MittEmitter = {\n on(type: string, handler: Handler): void\n off(type: string, handler: Handler): void\n emit(type: string, ...evts: any[]): void\n}\n\nexport default function mitt(): MittEmitter {\n const all: { [s: string]: Handler[] } = Object.create(null)\n\n return {\n on(type: string, handler: Handler) {\n ;(all[type] || (all[type] = [])).push(handler)\n },\n\n off(type: string, handler: Handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1)\n }\n },\n\n emit(type: string, ...evts: any[]) {\n // eslint-disable-next-line array-callback-return\n ;(all[type] || []).slice().map((handler: Handler) => {\n handler(...evts)\n })\n },\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4f/19/4485573ebf97a27a2790d682395dc67b2472f6cd24538b406a5450f6dccd5d5656c6cb83eadace7847d3dd3d900928d98650d3beb023aad0fc8c486c54f6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4f/19/4485573ebf97a27a2790d682395dc67b2472f6cd24538b406a5450f6dccd5d5656c6cb83eadace7847d3dd3d900928d98650d3beb023aad0fc8c486c54f6 new file mode 100644 index 00000000..9c690c60 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/4f/19/4485573ebf97a27a2790d682395dc67b2472f6cd24538b406a5450f6dccd5d5656c6cb83eadace7847d3dd3d900928d98650d3beb023aad0fc8c486c54f6 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(Head, {\n children: [/*#__PURE__*/_jsxDEV(\"title\", {\n children: \"Create Next App\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"link\", {\n rel: \"icon\",\n href: \"/favicon.ico\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"main\", {\n className: styles.main,\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: [\"Welcome to \", /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://nextjs.org\",\n children: \"Next.js!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 22\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"footer\", {\n className: styles.footer,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: [\"Powered by\", ' ', /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/vercel.svg\",\n alt: \"Vercel Logo\",\n className: styles.logo\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","styles","Home","container","main","title","footer","logo"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBACE;AAAK,IAAA,SAAS,EAAED,MAAM,CAACE,SAAvB;AAAA,4BACE,QAAC,IAAD;AAAA,8BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE;AAAM,QAAA,GAAG,EAAC,MAAV;AAAiB,QAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAME;AAAM,MAAA,SAAS,EAAEF,MAAM,CAACG,IAAxB;AAAA,6BACE;AAAI,QAAA,SAAS,EAAEH,MAAM,CAACI,KAAtB;AAAA,+CACa;AAAG,UAAA,IAAI,EAAC,oBAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADb;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YANF,eAaE;AAAQ,MAAA,SAAS,EAAEJ,MAAM,CAACK,MAA1B;AAAA,6BACE;AACE,QAAA,IAAI,EAAC,wGADP;AAEE,QAAA,MAAM,EAAC,QAFT;AAGE,QAAA,GAAG,EAAC,qBAHN;AAAA,iCAKa,GALb,eAME;AAAK,UAAA,GAAG,EAAC,aAAT;AAAuB,UAAA,GAAG,EAAC,aAA3B;AAAyC,UAAA,SAAS,EAAEL,MAAM,CAACM;AAA3D;AAAA;AAAA;AAAA;AAAA,gBANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAbF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AA0BD;KA3BuBL,I","sourcesContent":["import Head from 'next/head'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n
\n \n Create Next App\n \n \n\n
\n

\n Welcome to Next.js!\n

\n\n
\n\n
\n \n Powered by{' '}\n \"Vercel\n \n
\n
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/51/c5/7a24863239acaa5e75286047799a9f5df54e21e947878ab0ea06c3b51886373337afd18f4666cb69425a639968e776f228b1dc0e6cb331da6a4d5e6134ae b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/51/c5/7a24863239acaa5e75286047799a9f5df54e21e947878ab0ea06c3b51886373337afd18f4666cb69425a639968e776f228b1dc0e6cb331da6a4d5e6134ae new file mode 100644 index 00000000..666c8fb0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/51/c5/7a24863239acaa5e75286047799a9f5df54e21e947878ab0ea06c3b51886373337afd18f4666cb69425a639968e776f228b1dc0e6cb331da6a4d5e6134ae @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAgBA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/52/09/cbd276d4c6e728839c446cf66ef9993b35793e4eba217f68d5de2658e82d2c9072793bbc0657fa14e50af2ae11aa22da21c64b4e6a811c9ba3550f673c45 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/52/09/cbd276d4c6e728839c446cf66ef9993b35793e4eba217f68d5de2658e82d2c9072793bbc0657fa14e50af2ae11aa22da21c64b4e6a811c9ba3550f673c45 new file mode 100644 index 00000000..f1b0e900 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/52/09/cbd276d4c6e728839c446cf66ef9993b35793e4eba217f68d5de2658e82d2c9072793bbc0657fa14e50af2ae11aa22da21c64b4e6a811c9ba3550f673c45 @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar ansiRegex = require('ansi-regex');\n\nmodule.exports = function (string) {\n return typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n};","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@next/react-dev-overlay/node_modules/strip-ansi/index.js"],"names":["ansiRegex","require","module","exports","string","replace"],"mappings":"AAAA;;AACA,IAAMA,SAAS,GAAGC,OAAO,CAAC,YAAD,CAAzB;;AAEAC,MAAM,CAACC,OAAP,GAAiB,UAAAC,MAAM;AAAA,SAAI,OAAOA,MAAP,KAAkB,QAAlB,GAA6BA,MAAM,CAACC,OAAP,CAAeL,SAAS,EAAxB,EAA4B,EAA5B,CAA7B,GAA+DI,MAAnE;AAAA,CAAvB","sourcesContent":["'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/57/84/fe37ddb99061e0c48d1370521538df985e0579fabcfb3527dd5b5c3e131658098846591916da4b8a495d9a30890a40510375d09810bc7e5315dd8b8063c7 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/57/84/fe37ddb99061e0c48d1370521538df985e0579fabcfb3527dd5b5c3e131658098846591916da4b8a495d9a30890a40510375d09810bc7e5315dd8b8063c7 new file mode 100644 index 00000000..6516bbfd --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/57/84/fe37ddb99061e0c48d1370521538df985e0579fabcfb3527dd5b5c3e131658098846591916da4b8a495d9a30890a40510375d09810bc7e5315dd8b8063c7 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n};\nconsole.log(res);\nconsole.log(data);\nconsole.log(id); // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","console","log","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM;AAkBLC,OAAO,CAACC,GAAR,CAAYZ,GAAZ;AACAW,OAAO,CAACC,GAAR,CAAYV,IAAZ;AACAS,OAAO,CAACC,GAAR,CAAYJ,EAAZ,E,CAEF;;AACA,OAAO,MAAMK,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMN,EAAE,GAAGM,OAAO,CAACP,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHY,IAAAA,KAAK,EAAE;AAAET,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAIH,CATM;;AAWP,MAAMc,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/58/cb/82d53510269b9e1db1a0a6d4cda170804af79025febd82a665377fa9b30bc71e124fdda04f872f76daa627ad92c31ee9f1e8500e3b1ea248bf11e7cf62a9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/58/cb/82d53510269b9e1db1a0a6d4cda170804af79025febd82a665377fa9b30bc71e124fdda04f872f76daa627ad92c31ee9f1e8500e3b1ea248bf11e7cf62a9 new file mode 100644 index 00000000..a50d72d1 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/58/cb/82d53510269b9e1db1a0a6d4cda170804af79025febd82a665377fa9b30bc71e124fdda04f872f76daa627ad92c31ee9f1e8500e3b1ea248bf11e7cf62a9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,QAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["export const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/59/25/41ec1ee64e40ac56f1a49e314c594a49f2f7058b7329f3c487ba39fbb8f1339d3b2f8136d4eda11e63058c956c6ecc5672aeaa828d69be4fcd372c2bdb47 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/59/25/41ec1ee64e40ac56f1a49e314c594a49f2f7058b7329f3c487ba39fbb8f1339d3b2f8136d4eda11e63058c956c6ecc5672aeaa828d69be4fcd372c2bdb47 new file mode 100644 index 00000000..7e6a6a42 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/59/25/41ec1ee64e40ac56f1a49e314c594a49f2f7058b7329f3c487ba39fbb8f1339d3b2f8136d4eda11e63058c956c6ecc5672aeaa828d69be4fcd372c2bdb47 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","console","log","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE7BS,EAAAA,OAAO,CAACC,GAAR,CAAYV,KAAZ;AAEE,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAbD;;AAeA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(ninja);\r\n\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5a/ce/dcc26b977e97bfbc24bf79cba857d9f28e1ab1e80ff6fe9e5a1531d8f7f4f9223e3c6f3c0365add817f00a2df9297797176e8c192a8be9a6af9c7adfaa12 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5a/ce/dcc26b977e97bfbc24bf79cba857d9f28e1ab1e80ff6fe9e5a1531d8f7f4f9223e3c6f3c0365add817f00a2df9297797176e8c192a8be9a6af9c7adfaa12 new file mode 100644 index 00000000..6e09d806 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5a/ce/dcc26b977e97bfbc24bf79cba857d9f28e1ab1e80ff6fe9e5a1531d8f7f4f9223e3c6f3c0365add817f00a2df9297797176e8c192a8be9a6af9c7adfaa12 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nvar Ninja = function Ninja() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["Ninja"],"mappings":";;;;;AAAA,IAAMA,KAAK,GAAG,SAARA,KAAQ,GAAM;AAChB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,K;AAQN,eAAeA,KAAf","sourcesContent":["const Ninja = () => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/ae/8c30d3226f8dd78f55276b2e8c3a49f9f54efc7f65c22b30884f46be0b68d283f1f9fea827c0eaa844b7665d9c6a49d81807d01840b47a7873e4cd321658 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/ae/8c30d3226f8dd78f55276b2e8c3a49f9f54efc7f65c22b30884f46be0b68d283f1f9fea827c0eaa844b7665d9c6a49d81807d01840b47a7873e4cd321658 new file mode 100644 index 00000000..fe08cdd2 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/ae/8c30d3226f8dd78f55276b2e8c3a49f9f54efc7f65c22b30884f46be0b68d283f1f9fea827c0eaa844b7665d9c6a49d81807d01840b47a7873e4cd321658 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"style.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,cAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/d8/b1518c2f562551c1c2400c13cee34745e879ad33473da77faee3a068d7951716e1e1cd0c790f95955b06491ca49a180d4d85741f04ba8291ad7a0fdcb477 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/d8/b1518c2f562551c1c2400c13cee34745e879ad33473da77faee3a068d7951716e1e1cd0c790f95955b06491ca49a180d4d85741f04ba8291ad7a0fdcb477 new file mode 100644 index 00000000..64cf93bc --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/d8/b1518c2f562551c1c2400c13cee34745e879ad33473da77faee3a068d7951716e1e1cd0c790f95955b06491ca49a180d4d85741f04ba8291ad7a0fdcb477 @@ -0,0 +1 @@ +{"ast":null,"code":"import { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\about.js\";\nimport Head from 'next/head';\n\nconst About = () => {\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(Head, {\n children: [/*#__PURE__*/_jsxDEV(\"title\", {\n children: \"About Pg\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"meta\", {\n name: \"keywords\",\n content: \"keyword, another\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this)]\n }, void 0, true);\n};\n\nexport default About;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/about.js"],"names":["Head","About"],"mappings":";;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,KAAK,GAAG,MAAM;AAChB,sBAEE;AAAA,4BACA,QAAC,IAAD;AAAA,8BAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFF,eAGE;AAAM,QAAA,IAAI,EAAC,UAAX;AAAsB,QAAA,OAAO,EAAC;AAA9B;AAAA;AAAA;AAAA;AAAA,cAHF;AAAA;AAAA;AAAA;AAAA;AAAA,YADA,eAME;AAAA,8BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,YANF;AAAA,kBAFF;AAeH,CAhBD;;AAkBA,eAAeA,KAAf","sourcesContent":["import Head from 'next/head'\r\n\r\nconst About = () => {\r\n return ( \r\n \r\n <>\r\n \r\n\r\n About Pg\r\n \r\n \r\n
\r\n

About

\r\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\r\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\r\n
\r\n \r\n );\r\n}\r\n \r\nexport default About;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/f3/b385b30b86baf396f24f69a49bbb05c81b3396198e23573e4a4f41c4677e7ee4d372852924d768e8889d6193a128a6c80fc588d171104e48b301e6865543 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/f3/b385b30b86baf396f24f69a49bbb05c81b3396198e23573e4a4f41c4677e7ee4d372852924d768e8889d6193a128a6c80fc588d171104e48b301e6865543 new file mode 100644 index 00000000..78b1f5a8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/f3/b385b30b86baf396f24f69a49bbb05c81b3396198e23573e4a4f41c4677e7ee4d372852924d768e8889d6193a128a6c80fc588d171104e48b301e6865543 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _s = $RefreshSig$();\n\nexports.__esModule = true;\nexports.isInAmpMode = isInAmpMode;\nexports.useAmp = useAmp;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _ampContext = require(\"./amp-context\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction isInAmpMode() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ampFirst = _ref.ampFirst,\n ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,\n _ref$hybrid = _ref.hybrid,\n hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,\n _ref$hasQuery = _ref.hasQuery,\n hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;\n\n return ampFirst || hybrid && hasQuery;\n}\n\nfunction useAmp() {\n _s();\n\n // Don't assign the context value to a variable to save bytes\n return isInAmpMode(_react[\"default\"].useContext(_ampContext.AmpStateContext));\n}\n\n_s(useAmp, \"gDsCjeeItUuvgOWf1v4qoK9RF6k=\");","map":{"version":3,"sources":["../../../next-server/lib/amp.ts"],"names":["ampFirst","hybrid","hasQuery","isInAmpMode","React","AmpStateContext"],"mappings":";;;;;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;AACA,IAAA,WAAA,GAAA,OAAA,CAAA,eAAA,CAAA;;;;;;AAEO;;AAAA,SAAA,WAAA,GAIU;AAAA,iFAJV,EAIU;AAAA,2BAHfA,QAGe;AAAA,MAHfA,QAGe,8BAJW,KAIX;AAAA,yBAFfC,MAEe;AAAA,MAFfA,MAEe,4BAJW,KAIX;AAAA,2BADfC,QACe;AAAA,MADfA,QACe,8BAJW,KAIX;;AACf,SAAOF,QAAQ,IAAKC,MAAM,IAA1B,QAAA;AAGK;;AAAA,SAAA,MAAA,GAA2B;AAAA;;AAChC;AACA,SAAOE,WAAW,CAACC,MAAAA,WAAAA,CAAAA,UAAAA,CAAiBC,WAAAA,CAApC,eAAmBD,CAAD,CAAlB;AACD;;GAHM,M","sourcesContent":["import React from 'react'\nimport { AmpStateContext } from './amp-context'\n\nexport function isInAmpMode({\n ampFirst = false,\n hybrid = false,\n hasQuery = false,\n} = {}): boolean {\n return ampFirst || (hybrid && hasQuery)\n}\n\nexport function useAmp(): boolean {\n // Don't assign the context value to a variable to save bytes\n return isInAmpMode(React.useContext(AmpStateContext))\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/fe/62074f45caeba05c9a465a3cbaf26474a5a2234ac9aa43be67c9cdb39dfaa2cdc6e96f49b2d3838ba6db0191db6299d341e4ec0bff5239d9100bc8a29f14 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/fe/62074f45caeba05c9a465a3cbaf26474a5a2234ac9aa43be67c9cdb39dfaa2cdc6e96f49b2d3838ba6db0191db6299d341e4ec0bff5239d9100bc8a29f14 new file mode 100644 index 00000000..6f450b2e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5b/fe/62074f45caeba05c9a465a3cbaf26474a5a2234ac9aa43be67c9cdb39dfaa2cdc6e96f49b2d3838ba6db0191db6299d341e4ec0bff5239d9100bc8a29f14 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"link\", {\n href: \"/ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninjas List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 34\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAII;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aAJJ,eAKI;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aALJ,eAMI;AAAM,MAAA,IAAI,EAAC,SAAX;AAAA,6BAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAArB;AAAA;AAAA;AAAA;AAAA,aANJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAUH,CAXD;;KAAMA,M;AAaN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link';\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5c/f2/20c8c9b8fa5132e1c7672ac299cf476233e05fc8ddd6c9c502290487341f42ec33017f18f233e735b04b905345fd782785c6ff2225f446e5d96cd2a843b9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5c/f2/20c8c9b8fa5132e1c7672ac299cf476233e05fc8ddd6c9c502290487341f42ec33017f18f233e735b04b905345fd782785c6ff2225f446e5d96cd2a843b9 new file mode 100644 index 00000000..c986b2c7 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5c/f2/20c8c9b8fa5132e1c7672ac299cf476233e05fc8ddd6c9c502290487341f42ec33017f18f233e735b04b905345fd782785c6ff2225f446e5d96cd2a843b9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAeA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/13/6fd1f9adc4f066c1dd41087416a73ad66efc00aef27c0cf4f819f54b702c36dcdea524916edd20173824a478153a1aab554ec71427d7f29085bd3874d587 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/13/6fd1f9adc4f066c1dd41087416a73ad66efc00aef27c0cf4f819f54b702c36dcdea524916edd20173824a478153a1aab554ec71427d7f29085bd3874d587 new file mode 100644 index 00000000..b81bb680 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/13/6fd1f9adc4f066c1dd41087416a73ad66efc00aef27c0cf4f819f54b702c36dcdea524916edd20173824a478153a1aab554ec71427d7f29085bd3874d587 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\about.js\",\n _this = this;\n\nvar About = function About() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = About;\nexport default About;\n\nvar _c;\n\n$RefreshReg$(_c, \"About\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/about.js"],"names":["About"],"mappings":";;;;;AAAA,IAAMA,KAAK,GAAG,SAARA,KAAQ,GAAM;AAChB,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAOH,CARD;;KAAMA,K;AAUN,eAAeA,KAAf","sourcesContent":["const About = () => {\r\n return ( \r\n
\r\n

About

\r\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\r\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\r\n
\r\n );\r\n}\r\n \r\nexport default About;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/1b/9e5f25ff5f24e9c8e8588bd14da0f9249552538ec74c03b6c20790f2a9f728a94e3aefd682c37ccff58e1bf2c3d7464d6df810255aaef66f46a8c0947e3d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/1b/9e5f25ff5f24e9c8e8588bd14da0f9249552538ec74c03b6c20790f2a9f728a94e3aefd682c37ccff58e1bf2c3d7464d6df810255aaef66f46a8c0947e3d new file mode 100644 index 00000000..da997ddb --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/1b/9e5f25ff5f24e9c8e8588bd14da0f9249552538ec74c03b6c20790f2a9f728a94e3aefd682c37ccff58e1bf2c3d7464d6df810255aaef66f46a8c0947e3d @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,SAAS,EAAC,eAAb;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,M;;AAeN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/57/2c3caaa582fe8965003f132416fe7d86a6f603537489c8d669cbfb59351e224706b3efecb56dc37e18b1c3bbfdd261db6c9303451f567ad14c2414007fb8 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/57/2c3caaa582fe8965003f132416fe7d86a6f603537489c8d669cbfb59351e224706b3efecb56dc37e18b1c3bbfdd261db6c9303451f567ad14c2414007fb8 new file mode 100644 index 00000000..1f14315a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/5f/57/2c3caaa582fe8965003f132416fe7d86a6f603537489c8d669cbfb59351e224706b3efecb56dc37e18b1c3bbfdd261db6c9303451f567ad14c2414007fb8 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 9\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 22\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 27\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 7\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 29\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACF;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,aADE,eAIF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aAJE,eAKF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aALE,eAMF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,aANE;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAUH,CAXD;;KAAMA,M;AAaN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link';\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/63/e3/33d8f9478f23cdb33182953fc1b22947f82fcf486169a9cc9f66c3d8e215c1f09a28d816117e1eeac9121df547154d51948ea164d1f949bebfb0b6b62f96 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/63/e3/33d8f9478f23cdb33182953fc1b22947f82fcf486169a9cc9f66c3d8e215c1f09a28d816117e1eeac9121df547154d51948ea164d1f949bebfb0b6b62f96 new file mode 100644 index 00000000..974061c0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/63/e3/33d8f9478f23cdb33182953fc1b22947f82fcf486169a9cc9f66c3d8e215c1f09a28d816117e1eeac9121df547154d51948ea164d1f949bebfb0b6b62f96 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = initHeadManager;\nexports.DOMAttributeNames = void 0;\nvar DOMAttributeNames = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule'\n};\nexports.DOMAttributeNames = DOMAttributeNames;\n\nfunction reactElementToDOM(_ref) {\n var type = _ref.type,\n props = _ref.props;\n var el = document.createElement(type);\n\n for (var p in props) {\n if (!props.hasOwnProperty(p)) continue;\n if (p === 'children' || p === 'dangerouslySetInnerHTML') continue; // we don't render undefined props to the DOM\n\n if (props[p] === undefined) continue;\n var attr = DOMAttributeNames[p] || p.toLowerCase();\n\n if (type === 'script' && (attr === 'async' || attr === 'defer' || attr === 'noModule')) {\n ;\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n\n var children = props.children,\n dangerouslySetInnerHTML = props.dangerouslySetInnerHTML;\n\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || '';\n } else if (children) {\n el.textContent = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n\n return el;\n}\n\nfunction updateElements(type, components) {\n var headEl = document.getElementsByTagName('head')[0];\n var headCountEl = headEl.querySelector('meta[name=next-head-count]');\n\n if (true) {\n if (!headCountEl) {\n console.error('Warning: next-head-count is missing. https://err.sh/next.js/next-head-count-missing');\n return;\n }\n }\n\n var headCount = Number(headCountEl.content);\n var oldTags = [];\n\n for (var i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = j.previousElementSibling) {\n if (j.tagName.toLowerCase() === type) {\n oldTags.push(j);\n }\n }\n\n var newTags = components.map(reactElementToDOM).filter(function (newTag) {\n for (var k = 0, len = oldTags.length; k < len; k++) {\n var oldTag = oldTags[k];\n\n if (oldTag.isEqualNode(newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n\n return true;\n });\n oldTags.forEach(function (t) {\n return t.parentNode.removeChild(t);\n });\n newTags.forEach(function (t) {\n return headEl.insertBefore(t, headCountEl);\n });\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n}\n\nfunction initHeadManager() {\n var updatePromise = null;\n return {\n mountedInstances: new Set(),\n updateHead: function updateHead(head) {\n var promise = updatePromise = Promise.resolve().then(function () {\n if (promise !== updatePromise) return;\n updatePromise = null;\n var tags = {};\n head.forEach(function (h) {\n var components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n var titleComponent = tags.title ? tags.title[0] : null;\n var title = '';\n\n if (titleComponent) {\n var children = titleComponent.props.children;\n title = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n\n if (title !== document.title) document.title = title;\n ['meta', 'base', 'link', 'style', 'script'].forEach(function (type) {\n updateElements(type, tags[type] || []);\n });\n });\n }\n };\n}","map":{"version":3,"sources":["../../client/head-manager.ts"],"names":["DOMAttributeNames","acceptCharset","className","htmlFor","httpEquiv","noModule","el","document","props","p","attr","type","dangerouslySetInnerHTML","Array","children","headEl","headCountEl","console","headCount","Number","oldTags","i","j","newTags","components","newTag","k","len","oldTag","t","updatePromise","mountedInstances","updateHead","head","promise","Promise","tags","h","titleComponent","title","updateElements"],"mappings":"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","sourcesContent":["export const DOMAttributeNames: Record = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule',\n}\n\nfunction reactElementToDOM({ type, props }: JSX.Element): HTMLElement {\n const el: HTMLElement = document.createElement(type)\n for (const p in props) {\n if (!props.hasOwnProperty(p)) continue\n if (p === 'children' || p === 'dangerouslySetInnerHTML') continue\n\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue\n\n const attr = DOMAttributeNames[p] || p.toLowerCase()\n if (\n type === 'script' &&\n (attr === 'async' || attr === 'defer' || attr === 'noModule')\n ) {\n ;(el as HTMLScriptElement)[attr] = !!props[p]\n } else {\n el.setAttribute(attr, props[p])\n }\n }\n\n const { children, dangerouslySetInnerHTML } = props\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || ''\n } else if (children) {\n el.textContent =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n return el\n}\n\nfunction updateElements(type: string, components: JSX.Element[]): void {\n const headEl = document.getElementsByTagName('head')[0]\n const headCountEl: HTMLMetaElement = headEl.querySelector(\n 'meta[name=next-head-count]'\n ) as HTMLMetaElement\n if (process.env.NODE_ENV !== 'production') {\n if (!headCountEl) {\n console.error(\n 'Warning: next-head-count is missing. https://err.sh/next.js/next-head-count-missing'\n )\n return\n }\n }\n\n const headCount = Number(headCountEl.content)\n const oldTags: Element[] = []\n\n for (\n let i = 0, j = headCountEl.previousElementSibling;\n i < headCount;\n i++, j = j!.previousElementSibling\n ) {\n if (j!.tagName.toLowerCase() === type) {\n oldTags.push(j!)\n }\n }\n const newTags = (components.map(reactElementToDOM) as HTMLElement[]).filter(\n (newTag) => {\n for (let k = 0, len = oldTags.length; k < len; k++) {\n const oldTag = oldTags[k]\n if (oldTag.isEqualNode(newTag)) {\n oldTags.splice(k, 1)\n return false\n }\n }\n return true\n }\n )\n\n oldTags.forEach((t) => t.parentNode!.removeChild(t))\n newTags.forEach((t) => headEl.insertBefore(t, headCountEl))\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString()\n}\n\nexport default function initHeadManager(): {\n mountedInstances: Set\n updateHead: (head: JSX.Element[]) => void\n} {\n let updatePromise: Promise | null = null\n\n return {\n mountedInstances: new Set(),\n updateHead: (head: JSX.Element[]) => {\n const promise = (updatePromise = Promise.resolve().then(() => {\n if (promise !== updatePromise) return\n\n updatePromise = null\n const tags: Record = {}\n\n head.forEach((h) => {\n const components = tags[h.type] || []\n components.push(h)\n tags[h.type] = components\n })\n\n const titleComponent = tags.title ? tags.title[0] : null\n let title = ''\n if (titleComponent) {\n const { children } = titleComponent.props\n title =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n if (title !== document.title) document.title = title\n ;['meta', 'base', 'link', 'style', 'script'].forEach((type) => {\n updateElements(type, tags[type] || [])\n })\n }))\n },\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/48/b2224d834c4b8b59bd8e534f137529a54d520679293ef70b0b7fcb500256f9332604fac573a71b5e61224065a33c5147c78642c474ad59d911308c7728a2 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/48/b2224d834c4b8b59bd8e534f137529a54d520679293ef70b0b7fcb500256f9332604fac573a71b5e61224065a33c5147c78642c474ad59d911308c7728a2 new file mode 100644 index 00000000..5dd3056f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/48/b2224d834c4b8b59bd8e534f137529a54d520679293ef70b0b7fcb500256f9332604fac573a71b5e61224065a33c5147c78642c474ad59d911308c7728a2 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.normalizeLocalePath = normalizeLocalePath;\n\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale; // first item will be empty string from splitting at first char\n\n const pathnameParts = pathname.split('/');\n (locales || []).some(locale => {\n if (pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join('/') || '/';\n return true;\n }\n\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n}","map":{"version":3,"sources":["../../../../next-server/lib/i18n/normalize-locale-path.ts"],"names":["pathnameParts","pathname","locales","locale","detectedLocale"],"mappings":";;;;;AAAO,SAAA,mBAAA,CAAA,QAAA,EAAA,OAAA,EAML;AACA,MAAA,cAAA,CADA,CAEA;;AACA,QAAMA,aAAa,GAAGC,QAAQ,CAARA,KAAAA,CAAtB,GAAsBA,CAAtB;AAEC,GAACC,OAAO,IAAR,EAAA,EAAA,IAAA,CAAsBC,MAAD,IAAY;AAChC,QAAIH,aAAa,CAAbA,CAAa,CAAbA,CAAAA,WAAAA,OAAmCG,MAAM,CAA7C,WAAuCA,EAAvC,EAA6D;AAC3DC,MAAAA,cAAc,GAAdA,MAAAA;AACAJ,MAAAA,aAAa,CAAbA,MAAAA,CAAAA,CAAAA,EAAAA,CAAAA;AACAC,MAAAA,QAAQ,GAAGD,aAAa,CAAbA,IAAAA,CAAAA,GAAAA,KAAXC,GAAAA;AACA,aAAA,IAAA;AAEF;;AAAA,WAAA,KAAA;AAPD,GAAA;AAUD,SAAO;AAAA,IAAA,QAAA;AAAP,IAAA;AAAO,GAAP;AAID","sourcesContent":["export function normalizeLocalePath(\n pathname: string,\n locales?: string[]\n): {\n detectedLocale?: string\n pathname: string\n} {\n let detectedLocale: string | undefined\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split('/')\n\n ;(locales || []).some((locale) => {\n if (pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale\n pathnameParts.splice(1, 1)\n pathname = pathnameParts.join('/') || '/'\n return true\n }\n return false\n })\n\n return {\n pathname,\n detectedLocale,\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/7a/0b1c8f7b867341b1213d27b37e83a1632beb1658fb63e79298070c053fdd9a79ac7f605f2f8c50fed032342a9808d66cd690f7a334a59db15916176d5e3f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/7a/0b1c8f7b867341b1213d27b37e83a1632beb1658fb63e79298070c053fdd9a79ac7f605f2f8c50fed032342a9808d66cd690f7a334a59db15916176d5e3f new file mode 100644 index 00000000..e8cad563 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/7a/0b1c8f7b867341b1213d27b37e83a1632beb1658fb63e79298070c053fdd9a79ac7f605f2f8c50fed032342a9808d66cd690f7a334a59db15916176d5e3f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\",\n _this = this,\n _s = $RefreshSig$();\n\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nvar NotFound = function NotFound() {\n _s();\n\n var router = useRouter();\n useEffect(function () {\n // console.log('use effect ran');\n setTimeout(function () {\n // router.go(-1);\n router.push('/');\n }, 3000);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 46\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 31\n }, _this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, _this);\n};\n\n_s(NotFound, \"vQduR7x+OPXj6PSmJyFnf+hU7bg=\", false, function () {\n return [useRouter];\n});\n\n_c = NotFound;\nexport default NotFound;\n\nvar _c;\n\n$RefreshReg$(_c, \"NotFound\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","router","setTimeout","push"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AAAA;;AAEnB,MAAMC,MAAM,GAAGF,SAAS,EAAxB;AAEAD,EAAAA,SAAS,CAAC,YAAM;AACZ;AACAI,IAAAA,UAAU,CAAC,YAAM;AACb;AACAD,MAAAA,MAAM,CAACE,IAAP,CAAY,GAAZ;AACH,KAHS,EAGP,IAHO,CAAV;AAIH,GANQ,EAMN,EANM,CAAT;AAQA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,eAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,aAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAOH,CAnBD;;GAAMH,Q;UAEaD,S;;;KAFbC,Q;AAqBN,eAAeA,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n const router = useRouter();\r\n\r\n useEffect(() => {\r\n // console.log('use effect ran');\r\n setTimeout(() => {\r\n // router.go(-1);\r\n router.push('/');\r\n }, 3000)\r\n }, [])\r\n\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/c4/3ff521635b996421be113db325699c13446ddef7d4e73fe118f6cc8fb3cac2eca7340bc786227f7fe1b0952198d5aa416de03fcba0dce294043e71834557 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/c4/3ff521635b996421be113db325699c13446ddef7d4e73fe118f6cc8fb3cac2eca7340bc786227f7fe1b0952198d5aa416de03fcba0dce294043e71834557 new file mode 100644 index 00000000..72fa817d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/64/c4/3ff521635b996421be113db325699c13446ddef7d4e73fe118f6cc8fb3cac2eca7340bc786227f7fe1b0952198d5aa416de03fcba0dce294043e71834557 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nexports.__esModule = true;\nexports.useIntersection = useIntersection;\n\nvar _react = require(\"react\");\n\nvar _requestIdleCallback = require(\"./request-idle-callback\");\n\nvar hasIntersectionObserver = typeof IntersectionObserver !== 'undefined';\n\nfunction useIntersection(_ref) {\n var rootMargin = _ref.rootMargin,\n disabled = _ref.disabled;\n var isDisabled = disabled || !hasIntersectionObserver;\n var unobserve = (0, _react.useRef)();\n\n var _ref2 = (0, _react.useState)(false),\n _ref3 = _slicedToArray(_ref2, 2),\n visible = _ref3[0],\n setVisible = _ref3[1];\n\n var setRef = (0, _react.useCallback)(function (el) {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n if (isDisabled || visible) return;\n\n if (el && el.tagName) {\n unobserve.current = observe(el, function (isVisible) {\n return isVisible && setVisible(isVisible);\n }, {\n rootMargin: rootMargin\n });\n }\n }, [isDisabled, rootMargin, visible]);\n (0, _react.useEffect)(function () {\n if (!hasIntersectionObserver) {\n if (!visible) {\n var idleCallback = (0, _requestIdleCallback.requestIdleCallback)(function () {\n return setVisible(true);\n });\n return function () {\n return (0, _requestIdleCallback.cancelIdleCallback)(idleCallback);\n };\n }\n }\n }, [visible]);\n return [setRef, visible];\n}\n\nfunction observe(element, callback, options) {\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements;\n\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements[\"delete\"](element);\n observer.unobserve(element); // Destroy observer when there's nothing left to watch:\n\n if (elements.size === 0) {\n observer.disconnect();\n observers[\"delete\"](id);\n }\n };\n}\n\nvar observers = new Map();\n\nfunction createObserver(options) {\n var id = options.rootMargin || '';\n var instance = observers.get(id);\n\n if (instance) {\n return instance;\n }\n\n var elements = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = elements.get(entry.target);\n var isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n observers.set(id, instance = {\n id: id,\n observer: observer,\n elements: elements\n });\n return instance;\n}","map":{"version":3,"sources":["../../client/use-intersection.tsx"],"names":["hasIntersectionObserver","isDisabled","disabled","unobserve","setRef","el","observe","isVisible","setVisible","rootMargin","idleCallback","createObserver","elements","observer","observers","id","options","instance","entries","entry","callback"],"mappings":";;;;;;;AAAA,IAAA,MAAA,GAAA,OAAA,CAAA,OAAA,CAAA;;AACA,IAAA,oBAAA,GAAA,OAAA,CAAA,yBAAA,CAAA;;AAcA,IAAMA,uBAAuB,GAAG,OAAA,oBAAA,KAAhC,WAAA;;AAEO,SAAA,eAAA,OAGqD;AAAA,MAHT,UAGS,QAHT,UAGS;AAAA,MAHrD,QAGqD,QAHrD,QAGqD;AAC1D,MAAMC,UAAmB,GAAGC,QAAQ,IAAI,CAAxC,uBAAA;AAEA,MAAMC,SAAS,GAAG,CAAA,GAAA,MAAA,CAAlB,MAAkB,GAAlB;;AAH0D,cAI5B,CAAA,GAAA,MAAA,CAAA,QAAA,EAA9B,KAA8B,CAJ4B;AAAA;AAAA,MAIpD,OAJoD;AAAA,MAIpD,UAJoD;;AAM1D,MAAMC,MAAM,GAAG,CAAA,GAAA,MAAA,CAAA,WAAA,EACZC,UAAAA,EAAD,EAAkB;AAChB,QAAIF,SAAS,CAAb,OAAA,EAAuB;AACrBA,MAAAA,SAAS,CAATA,OAAAA;AACAA,MAAAA,SAAS,CAATA,OAAAA,GAAAA,SAAAA;AAGF;;AAAA,QAAIF,UAAU,IAAd,OAAA,EAA2B;;AAE3B,QAAII,EAAE,IAAIA,EAAE,CAAZ,OAAA,EAAsB;AACpBF,MAAAA,SAAS,CAATA,OAAAA,GAAoBG,OAAO,CAAA,EAAA,EAExBC,UAAAA,SAAD;AAAA,eAAeA,SAAS,IAAIC,UAAU,CAFb,SAEa,CAAtC;AAAA,OAFyB,EAGzB;AAAEC,QAAAA,UAHJN,EAGIM;AAAF,OAHyB,CAA3BN;AAMH;AAhBY,GAAA,EAiBb,CAAA,UAAA,EAAA,UAAA,EAjBF,OAiBE,CAjBa,CAAf;AAoBA,GAAA,GAAA,MAAA,CAAA,SAAA,EAAU,YAAM;AACd,QAAI,CAAJ,uBAAA,EAA8B;AAC5B,UAAI,CAAJ,OAAA,EAAc;AACZ,YAAMO,YAAY,GAAG,CAAA,GAAA,oBAAA,CAAA,mBAAA,EAAoB;AAAA,iBAAMF,UAAU,CAAzD,IAAyD,CAAhB;AAAA,SAApB,CAArB;AACA,eAAO;AAAA,iBAAM,CAAA,GAAA,oBAAA,CAAA,kBAAA,EAAb,YAAa,CAAN;AAAA,SAAP;AAEH;AACF;AAPD,GAAA,EAOG,CAPH,OAOG,CAPH;AASA,SAAO,CAAA,MAAA,EAAP,OAAO,CAAP;AAGF;;AAAA,SAAA,OAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAIc;AAAA,wBACuBG,cAAc,CAAjD,OAAiD,CADrC;AAAA,MACN,EADM,mBACN,EADM;AAAA,MACN,QADM,mBACN,QADM;AAAA,MACN,QADM,mBACN,QADM;;AAEZC,EAAAA,QAAQ,CAARA,GAAAA,CAAAA,OAAAA,EAAAA,QAAAA;AAEAC,EAAAA,QAAQ,CAARA,OAAAA,CAAAA,OAAAA;AACA,SAAO,SAAA,SAAA,GAA2B;AAChCD,IAAAA,QAAAA,UAAAA,CAAAA,OAAAA;AACAC,IAAAA,QAAQ,CAARA,SAAAA,CAAAA,OAAAA,EAFgC,CAIhC;;AACA,QAAID,QAAQ,CAARA,IAAAA,KAAJ,CAAA,EAAyB;AACvBC,MAAAA,QAAQ,CAARA,UAAAA;AACAC,MAAAA,SAAAA,UAAAA,CAAAA,EAAAA;AAEH;AATD,GAAA;AAYF;;AAAA,IAAMA,SAAS,GAAG,IAAlB,GAAkB,EAAlB;;AACA,SAAA,cAAA,CAAA,OAAA,EAAwE;AACtE,MAAMC,EAAE,GAAGC,OAAO,CAAPA,UAAAA,IAAX,EAAA;AACA,MAAIC,QAAQ,GAAGH,SAAS,CAATA,GAAAA,CAAf,EAAeA,CAAf;;AACA,MAAA,QAAA,EAAc;AACZ,WAAA,QAAA;AAGF;;AAAA,MAAMF,QAAQ,GAAG,IAAjB,GAAiB,EAAjB;AACA,MAAMC,QAAQ,GAAG,IAAA,oBAAA,CAA0BK,UAAAA,OAAD,EAAa;AACrDA,IAAAA,OAAO,CAAPA,OAAAA,CAAiBC,UAAAA,KAAD,EAAW;AACzB,UAAMC,QAAQ,GAAGR,QAAQ,CAARA,GAAAA,CAAaO,KAAK,CAAnC,MAAiBP,CAAjB;AACA,UAAML,SAAS,GAAGY,KAAK,CAALA,cAAAA,IAAwBA,KAAK,CAALA,iBAAAA,GAA1C,CAAA;;AACA,UAAIC,QAAQ,IAAZ,SAAA,EAA2B;AACzBA,QAAAA,QAAQ,CAARA,SAAQ,CAARA;AAEH;AANDF,KAAAA;AADe,GAAA,EAAjB,OAAiB,CAAjB;AAUAJ,EAAAA,SAAS,CAATA,GAAAA,CAAAA,EAAAA,EAEGG,QAAQ,GAAG;AACVF,IAAAA,EADU,EACVA,EADU;AAEVF,IAAAA,QAFU,EAEVA,QAFU;AAGVD,IAAAA,QALJE,EAKIF;AAHU,GAFdE;AAQA,SAAA,QAAA;AACD","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport {\n requestIdleCallback,\n cancelIdleCallback,\n} from './request-idle-callback'\n\ntype UseIntersectionObserverInit = Pick\ntype UseIntersection = { disabled?: boolean } & UseIntersectionObserverInit\ntype ObserveCallback = (isVisible: boolean) => void\ntype Observer = {\n id: string\n observer: IntersectionObserver\n elements: Map\n}\n\nconst hasIntersectionObserver = typeof IntersectionObserver !== 'undefined'\n\nexport function useIntersection({\n rootMargin,\n disabled,\n}: UseIntersection): [(element: T | null) => void, boolean] {\n const isDisabled: boolean = disabled || !hasIntersectionObserver\n\n const unobserve = useRef()\n const [visible, setVisible] = useState(false)\n\n const setRef = useCallback(\n (el: T | null) => {\n if (unobserve.current) {\n unobserve.current()\n unobserve.current = undefined\n }\n\n if (isDisabled || visible) return\n\n if (el && el.tagName) {\n unobserve.current = observe(\n el,\n (isVisible) => isVisible && setVisible(isVisible),\n { rootMargin }\n )\n }\n },\n [isDisabled, rootMargin, visible]\n )\n\n useEffect(() => {\n if (!hasIntersectionObserver) {\n if (!visible) {\n const idleCallback = requestIdleCallback(() => setVisible(true))\n return () => cancelIdleCallback(idleCallback)\n }\n }\n }, [visible])\n\n return [setRef, visible]\n}\n\nfunction observe(\n element: Element,\n callback: ObserveCallback,\n options: UseIntersectionObserverInit\n): () => void {\n const { id, observer, elements } = createObserver(options)\n elements.set(element, callback)\n\n observer.observe(element)\n return function unobserve(): void {\n elements.delete(element)\n observer.unobserve(element)\n\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect()\n observers.delete(id)\n }\n }\n}\n\nconst observers = new Map()\nfunction createObserver(options: UseIntersectionObserverInit): Observer {\n const id = options.rootMargin || ''\n let instance = observers.get(id)\n if (instance) {\n return instance\n }\n\n const elements = new Map()\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n const callback = elements.get(entry.target)\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0\n if (callback && isVisible) {\n callback(isVisible)\n }\n })\n }, options)\n\n observers.set(\n id,\n (instance = {\n id,\n observer,\n elements,\n })\n )\n return instance\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/65/10/4943afccec514552ec7a72c9a8fa6830f5d58cb9a4e0050e181208f6e696b40ff863cb01e24f8ed0bd3ff4c61657571d236fc6dede502f3a8cb46cf379ec b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/65/10/4943afccec514552ec7a72c9a8fa6830f5d58cb9a4e0050e181208f6e696b40ff863cb01e24f8ed0bd3ff4c61657571d236fc6dede502f3a8cb46cf379ec new file mode 100644 index 00000000..d9613be4 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/65/10/4943afccec514552ec7a72c9a8fa6830f5d58cb9a4e0050e181208f6e696b40ff863cb01e24f8ed0bd3ff4c61657571d236fc6dede502f3a8cb46cf379ec @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link';\nexport const getStaticProps = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n // console.log(ninjas)\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, this), \"s\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 5\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","id","single","name"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEH;AAAV;AADF,GAAP;AAGD,CAPM;;AASP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC7B;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,EAEGA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACf,QAAC,IAAD;AAAM,MAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEZ,MAAM,CAACa,MAArB;AAAA,gCACE;AAAA,oBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA,gBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF,OAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,YADD,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAYD,CAfD;;AAiBA,eAAeH,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n // console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

s\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/66/65/1930348803f9b5197dcffa77881416eddd95942e1408870fe86ef31a08df5abd0a4bf7a4ba7535ba7ff9652d325e87639f86adc5deab8bbc9b869b9dc6b9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/66/65/1930348803f9b5197dcffa77881416eddd95942e1408870fe86ef31a08df5abd0a4bf7a4ba7535ba7ff9652d325e87639f86adc5deab8bbc9b869b9dc6b9 new file mode 100644 index 00000000..1ff9b801 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/66/65/1930348803f9b5197dcffa77881416eddd95942e1408870fe86ef31a08df5abd0a4bf7a4ba7535ba7ff9652d325e87639f86adc5deab8bbc9b869b9dc6b9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAQE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjEF;AAmED","sourcesContent":["import Head from 'next/head'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n\n \n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/5d/ec897cfae93131338f4557417be3b48cbc58176b06b938cf9fac98a85c9286f8347feca5cba078765d938d50a70d8ec9b50dfec3196f8f32f18f22f4c025 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/5d/ec897cfae93131338f4557417be3b48cbc58176b06b938cf9fac98a85c9286f8347feca5cba078765d938d50a70d8ec9b50dfec3196f8f32f18f22f4c025 new file mode 100644 index 00000000..c9e5175d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/5d/ec897cfae93131338f4557417be3b48cbc58176b06b938cf9fac98a85c9286f8347feca5cba078765d938d50a70d8ec9b50dfec3196f8f32f18f22f4c025 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = withRouter;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"./router\");\n\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(ComposedComponent, Object.assign({\n router: (0, _router.useRouter)()\n }, props));\n }\n\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps // This is needed to allow checking for custom getInitialProps in _app\n ;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n\n if (true) {\n var name = ComposedComponent.displayName || ComposedComponent.name || 'Unknown';\n WithRouterWrapper.displayName = \"withRouter(\".concat(name, \")\");\n }\n\n return WithRouterWrapper;\n}","map":{"version":3,"sources":["../../client/with-router.tsx"],"names":["ComposedComponent","getInitialProps","WithRouterWrapper","name"],"mappings":";;;;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;AAEA,IAAA,OAAA,GAAA,OAAA,CAAA,UAAA,CAAA;;AAWe,SAAA,UAAA,CAAA,iBAAA,EAK+B;AAC5C,WAAA,iBAAA,CAAA,KAAA,EAAoD;AAClD,WAAA,aAAO,MAAA,WAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,MAAA,CAAA;AAAmB,MAAA,MAAM,EAAE,CAAA,GAAA,OAAA,CAA3B,SAA2B;AAA3B,KAAA,EAAP,KAAO,CAAA,CAAP;AAGF;;AAAA,EAAA,iBAAiB,CAAjB,eAAA,GAAoCA,iBAAiB,CAACC,eAAtD,CACA;AADA;AAEEC,EAAAA,iBAAD,CAAA,mBAACA,GAAiDF,iBAAD,CAAjD,mBAACE;;AACF,YAA2C;AACzC,QAAMC,IAAI,GACRH,iBAAiB,CAAjBA,WAAAA,IAAiCA,iBAAiB,CAAlDA,IAAAA,IADF,SAAA;AAEAE,IAAAA,iBAAiB,CAAjBA,WAAAA,wBAAAA,IAAAA;AAGF;;AAAA,SAAA,iBAAA;AACD","sourcesContent":["import React from 'react'\nimport { NextComponentType, NextPageContext } from '../next-server/lib/utils'\nimport { NextRouter, useRouter } from './router'\n\nexport type WithRouterProps = {\n router: NextRouter\n}\n\nexport type ExcludeRouterProps

= Pick<\n P,\n Exclude\n>\n\nexport default function withRouter<\n P extends WithRouterProps,\n C = NextPageContext\n>(\n ComposedComponent: NextComponentType\n): React.ComponentType> {\n function WithRouterWrapper(props: any): JSX.Element {\n return \n }\n\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps\n // This is needed to allow checking for custom getInitialProps in _app\n ;(WithRouterWrapper as any).origGetInitialProps = (ComposedComponent as any).origGetInitialProps\n if (process.env.NODE_ENV !== 'production') {\n const name =\n ComposedComponent.displayName || ComposedComponent.name || 'Unknown'\n WithRouterWrapper.displayName = `withRouter(${name})`\n }\n\n return WithRouterWrapper\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e0/bc82c12945595cef932b02a3e1bb7a7b5e5ad25852a2eb3a6d7149f38a11256590d7bc727d71405332ca0ac7f57bbce9edea9fe0964f8df732faf5b21278 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e0/bc82c12945595cef932b02a3e1bb7a7b5e5ad25852a2eb3a6d7149f38a11256590d7bc727d71405332ca0ac7f57bbce9edea9fe0964f8df732faf5b21278 new file mode 100644 index 00000000..3c0b6c4a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e0/bc82c12945595cef932b02a3e1bb7a7b5e5ad25852a2eb3a6d7149f38a11256590d7bc727d71405332ca0ac7f57bbce9edea9fe0964f8df732faf5b21278 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), \"console.log(res); console.log(data); console.log(id); console.log('hello');\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,8FAMI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aANJ,eAOI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAPJ,eAQI;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aARJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAaH,CAhBD;;KAAMJ,O;;AAkBN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n

\r\n

Details Page

\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e4/e88979f8832220978c26056a7f9130eb022686d5c51a7296e52c83ff4bfac1504e6244d5b9ada0da27726e7ac53c10ccc071d4ee8122f2a5bb27d303bf01 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e4/e88979f8832220978c26056a7f9130eb022686d5c51a7296e52c83ff4bfac1504e6244d5b9ada0da27726e7ac53c10ccc071d4ee8122f2a5bb27d303bf01 new file mode 100644 index 00000000..47c509df --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/67/e4/e88979f8832220978c26056a7f9130eb022686d5c51a7296e52c83ff4bfac1504e6244d5b9ada0da27726e7ac53c10ccc071d4ee8122f2a5bb27d303bf01 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAuBA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/69/62/1712afd0781639bedb13f0f33951013bf86525b1b0142623f04e166c7c65ebb5449136bfc998b034b647dae0c3842bdf02b5850d677d44ec0585a9490347 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/69/62/1712afd0781639bedb13f0f33951013bf86525b1b0142623f04e166c7c65ebb5449136bfc998b034b647dae0c3842bdf02b5850d677d44ec0585a9490347 new file mode 100644 index 00000000..490e577b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/69/62/1712afd0781639bedb13f0f33951013bf86525b1b0142623f04e166c7c65ebb5449136bfc998b034b647dae0c3842bdf02b5850d677d44ec0585a9490347 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/04/a59445d2f2ba71d91c883cf6138634b1a188356dec6cff590f308dea15851074e4881e803f860409cfebae9aaf1e5fa59c45c8ba82259d41c9acbc26651a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/04/a59445d2f2ba71d91c883cf6138634b1a188356dec6cff590f308dea15851074e4881e803f860409cfebae9aaf1e5fa59c45c8ba82259d41c9acbc26651a new file mode 100644 index 00000000..12c56c87 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/04/a59445d2f2ba71d91c883cf6138634b1a188356dec6cff590f308dea15851074e4881e803f860409cfebae9aaf1e5fa59c45c8ba82259d41c9acbc26651a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Navbar","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CASE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlEF;AAoED","sourcesContent":["import Head from 'next/head'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/5e/e4e29a0f8f70a23f822e8dfb0acc46fa07b9fbac8e91bdca8d95f9c04bb5dd29dd0c8978ff2ee3d7e0974b26f68d70e50208bf634828817bcbbf092d9cb8 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/5e/e4e29a0f8f70a23f822e8dfb0acc46fa07b9fbac8e91bdca8d95f9c04bb5dd29dd0c8978ff2ee3d7e0974b26f68d70e50208bf634828817bcbbf092d9cb8 new file mode 100644 index 00000000..e7cfff65 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/5e/e4e29a0f8f70a23f822e8dfb0acc46fa07b9fbac8e91bdca8d95f9c04bb5dd29dd0c8978ff2ee3d7e0974b26f68d70e50208bf634828817bcbbf092d9cb8 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n // console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAE/B;AAEI,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAbD;;KAAMJ,O;;AAeN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n// console.log(ninja);\r\n\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/d8/6fc608c79a07010d290b606e8342823888b95d003b629ea260b2669ef9f03ec684baec6cfce1a4a09daeb2ab81cd503d9e44b3200e1fa32a398a54d8b8fa b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/d8/6fc608c79a07010d290b606e8342823888b95d003b629ea260b2669ef9f03ec684baec6cfce1a4a09daeb2ab81cd503d9e44b3200e1fa32a398a54d8b8fa new file mode 100644 index 00000000..30a2cd43 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6a/d8/6fc608c79a07010d290b606e8342823888b95d003b629ea260b2669ef9f03ec684baec6cfce1a4a09daeb2ab81cd503d9e44b3200e1fa32a398a54d8b8fa @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAUE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnEF;AAqED","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/62/56d98dd16fe150667820a23556c9bbf73771c8d3183d350e34e341dcc5bcdd378433e845c5b588cf226c3ee6a6b8068dbad1b5a388544f94b881874ad931 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/62/56d98dd16fe150667820a23556c9bbf73771c8d3183d350e34e341dcc5bcdd378433e845c5b588cf226c3ee6a6b8068dbad1b5a388544f94b881874ad931 new file mode 100644 index 00000000..49fbb211 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/62/56d98dd16fe150667820a23556c9bbf73771c8d3183d350e34e341dcc5bcdd378433e845c5b588cf226c3ee6a6b8068dbad1b5a388544f94b881874ad931 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 7\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 11\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 5\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","console","log","map","ninja","single","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC7BC,EAAAA,OAAO,CAACC,GAAR,CAAYF,MAAZ;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADF,EAEGA,MAAM,CAACG,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACf;AAAA,+BACE;AAAG,UAAA,SAAS,EAAEN,MAAM,CAACO,MAArB;AAAA,iCACE;AAAA,sBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,SAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,eADe;AAAA,KAAhB,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,WADF;AAYD,CAfD;;KAAMR,M;;AAiBN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/bf/b316c0ee60346c94398c12704c91919a6035d98dc6e862c830dea88a7e7b43065467446304d1f43ba2c1d87966e36e718a1af8dc8bebf07427264d6106c0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/bf/b316c0ee60346c94398c12704c91919a6035d98dc6e862c830dea88a7e7b43065467446304d1f43ba2c1d87966e36e718a1af8dc8bebf07427264d6106c0 new file mode 100644 index 00000000..848e4e48 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6b/bf/b316c0ee60346c94398c12704c91919a6035d98dc6e862c830dea88a7e7b43065467446304d1f43ba2c1d87966e36e718a1af8dc8bebf07427264d6106c0 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AA2BA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6c/4f/dfa643e21c0592860635e3a5c4814415bc450ff26e5901c473a148cd8fe4f20f61df16010da752b32e3f44df3acc7d922f9d65ffd1cabbe16f811c92228b b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6c/4f/dfa643e21c0592860635e3a5c4814415bc450ff26e5901c473a148cd8fe4f20f61df16010da752b32e3f44df3acc7d922f9d65ffd1cabbe16f811c92228b new file mode 100644 index 00000000..e0cad604 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6c/4f/dfa643e21c0592860635e3a5c4814415bc450ff26e5901c473a148cd8fe4f20f61df16010da752b32e3f44df3acc7d922f9d65ffd1cabbe16f811c92228b @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\nimport Image from 'next/image';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\",\n className: \"logo-img\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Image","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC,OAA1B;AAAkC,QAAA,SAAS,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YAPJ,eAQI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\nimport Image from 'next/image'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6d/f3/d9372a79716edc2b046a32278271035866ff3198060b93a30e841f70d9c15fabb53a2256360414099adf9bcde23253139f4d5b050b73eedd8e01396bd08a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6d/f3/d9372a79716edc2b046a32278271035866ff3198060b93a30e841f70d9c15fabb53a2256360414099adf9bcde23253139f4d5b050b73eedd8e01396bd08a new file mode 100644 index 00000000..a0f8f17e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6d/f3/d9372a79716edc2b046a32278271035866ff3198060b93a30e841f70d9c15fabb53a2256360414099adf9bcde23253139f4d5b050b73eedd8e01396bd08a @@ -0,0 +1 @@ +{"ast":null,"code":"module.exports = function () {\n \"use strict\";\n\n var e = {\n 161: function _(e) {\n e.exports = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onlyFirst = _ref.onlyFirst,\n e = _ref$onlyFirst === void 0 ? false : _ref$onlyFirst;\n\n var r = [\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\", \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 301: function _(e, r, t) {\n var _ = t(161);\n\n e.exports = function (e) {\n return typeof e === \"string\" ? e.replace(_(), \"\") : e;\n };\n }\n };\n var r = {};\n\n function __nccwpck_require__(t) {\n if (r[t]) {\n return r[t].exports;\n }\n\n var _ = r[t] = {\n exports: {}\n };\n\n var n = true;\n\n try {\n e[t](_, _.exports, __nccwpck_require__);\n n = false;\n } finally {\n if (n) delete r[t];\n }\n\n return _.exports;\n }\n\n __nccwpck_require__.ab = __dirname + \"/\";\n return __nccwpck_require__(301);\n}();","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/next/dist/compiled/strip-ansi/index.js"],"names":["module","exports","e","onlyFirst","r","join","RegExp","undefined","t","_","replace","__nccwpck_require__","n","ab","__dirname"],"mappings":"AAAAA,MAAM,CAACC,OAAP,GAAgB,YAAI;AAAC;;AAAa,MAAIC,CAAC,GAAC;AAAC,SAAI,WAAAA,CAAC,EAAE;AAACA,MAAAA,CAAC,CAACD,OAAF,GAAW,YAA0B;AAAA,uFAAL,EAAK;AAAA,kCAAxBE,SAAwB;AAAA,YAAdD,CAAc,+BAAZ,KAAY;;AAAC,YAAME,CAAC,GAAC,CAAC,6FAAD,EAA+F,0DAA/F,EAA2JC,IAA3J,CAAgK,GAAhK,CAAR;AAA6K,eAAO,IAAIC,MAAJ,CAAWF,CAAX,EAAaF,CAAC,GAACK,SAAD,GAAW,GAAzB,CAAP;AAAqC,OAAxP;AAA0P,KAAnQ;AAAoQ,SAAI,WAACL,CAAD,EAAGE,CAAH,EAAKI,CAAL,EAAS;AAAC,UAAMC,CAAC,GAACD,CAAC,CAAC,GAAD,CAAT;;AAAeN,MAAAA,CAAC,CAACD,OAAF,GAAW,UAAAC,CAAC;AAAA,eAAE,OAAOA,CAAP,KAAW,QAAX,GAAoBA,CAAC,CAACQ,OAAF,CAAUD,CAAC,EAAX,EAAc,EAAd,CAApB,GAAsCP,CAAxC;AAAA,OAAZ;AAAuD;AAAxV,GAAN;AAAgW,MAAIE,CAAC,GAAC,EAAN;;AAAS,WAASO,mBAAT,CAA6BH,CAA7B,EAA+B;AAAC,QAAGJ,CAAC,CAACI,CAAD,CAAJ,EAAQ;AAAC,aAAOJ,CAAC,CAACI,CAAD,CAAD,CAAKP,OAAZ;AAAoB;;AAAA,QAAIQ,CAAC,GAACL,CAAC,CAACI,CAAD,CAAD,GAAK;AAACP,MAAAA,OAAO,EAAC;AAAT,KAAX;;AAAwB,QAAIW,CAAC,GAAC,IAAN;;AAAW,QAAG;AAACV,MAAAA,CAAC,CAACM,CAAD,CAAD,CAAKC,CAAL,EAAOA,CAAC,CAACR,OAAT,EAAiBU,mBAAjB;AAAsCC,MAAAA,CAAC,GAAC,KAAF;AAAQ,KAAlD,SAAyD;AAAC,UAAGA,CAAH,EAAK,OAAOR,CAAC,CAACI,CAAD,CAAR;AAAY;;AAAA,WAAOC,CAAC,CAACR,OAAT;AAAiB;;AAAAU,EAAAA,mBAAmB,CAACE,EAApB,GAAuBC,SAAS,GAAC,GAAjC;AAAqC,SAAOH,mBAAmB,CAAC,GAAD,CAA1B;AAAgC,CAA7nB,EAAf","sourcesContent":["module.exports=(()=>{\"use strict\";var e={161:e=>{e.exports=(({onlyFirst:e=false}={})=>{const r=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(r,e?undefined:\"g\")})},301:(e,r,t)=>{const _=t(161);e.exports=(e=>typeof e===\"string\"?e.replace(_(),\"\"):e)}};var r={};function __nccwpck_require__(t){if(r[t]){return r[t].exports}var _=r[t]={exports:{}};var n=true;try{e[t](_,_.exports,__nccwpck_require__);n=false}finally{if(n)delete r[t]}return _.exports}__nccwpck_require__.ab=__dirname+\"/\";return __nccwpck_require__(301)})();"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6e/ff/241ac70de06df868830c5a20eab8740df8db08f0b73ca6d982dcb56c76616093d4907e330f5ed1b24b908397ea5908633f859f43a364641b3c0a1d6cb6ee b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6e/ff/241ac70de06df868830c5a20eab8740df8db08f0b73ca6d982dcb56c76616093d4907e330f5ed1b24b908397ea5908633f859f43a364641b3c0a1d6cb6ee new file mode 100644 index 00000000..2b32cbda --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/6e/ff/241ac70de06df868830c5a20eab8740df8db08f0b73ca6d982dcb56c76616093d4907e330f5ed1b24b908397ea5908633f859f43a364641b3c0a1d6cb6ee @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id","Ninjas"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeC,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/96/cab2e33d0e220e76abdd2ee4828cb08b902187b38b7c3184cd3f4dca28299f90bd9b5f6e2fbf8d81d97fc72d505ee8e12befe478966bd2b1b4c10b75d45d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/96/cab2e33d0e220e76abdd2ee4828cb08b902187b38b7c3184cd3f4dca28299f90bd9b5f6e2fbf8d81d97fc72d505ee8e12befe478966bd2b1b4c10b75d45d new file mode 100644 index 00000000..6f8de7de --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/96/cab2e33d0e220e76abdd2ee4828cb08b902187b38b7c3184cd3f4dca28299f90bd9b5f6e2fbf8d81d97fc72d505ee8e12befe478966bd2b1b4c10b75d45d @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n paths,\n fallback: false\n };\n};\n\nconst Details = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","Details"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACAL,IAAAA,KAFG;AAGHM,IAAAA,QAAQ,EAAE;AAHP,GAAP;AAKH,CAfM;;AAiBP,MAAMC,OAAO,GAAG,MAAM;AAClB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,UADJ;AAKH,CAND;;AAQA,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\nconst Details = () => {\r\n return ( \r\n
\r\n

Details Page

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/a6/e3f495b433f53adcd763e1c62e1ae0ae3e7bdc87cb94c808eb95de77a2fc3e472f52ba4832a0b66df33612463b8093d681ae861cae58616ce5b20df3cd9f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/a6/e3f495b433f53adcd763e1c62e1ae0ae3e7bdc87cb94c808eb95de77a2fc3e472f52ba4832a0b66df33612463b8093d681ae861cae58616ce5b20df3cd9f new file mode 100644 index 00000000..68bffada --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/70/a6/e3f495b433f53adcd763e1c62e1ae0ae3e7bdc87cb94c808eb95de77a2fc3e472f52ba4832a0b66df33612463b8093d681ae861cae58616ce5b20df3cd9f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link';\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","id","single","name"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb,QAAC,IAAD;AAAM,MAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,6BACI;AAAG,QAAA,SAAS,EAAEZ,MAAM,CAACa,MAArB;AAAA,+BACI;AAAA,oBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAyCH,KAAK,CAACC,EAA/C;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeH,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/5a/ce7e41daa2959ecb3392bdd744a435bf5ef9d8991e2626721b412b9a0190a42ff4c15b6ca94db89267ebb81c07d0ce21ddfb76541b61f7eb944a0d303fdd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/5a/ce7e41daa2959ecb3392bdd744a435bf5ef9d8991e2626721b412b9a0190a42ff4c15b6ca94db89267ebb81c07d0ce21ddfb76541b61f7eb944a0d303fdd new file mode 100644 index 00000000..78688f06 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/5a/ce7e41daa2959ecb3392bdd744a435bf5ef9d8991e2626721b412b9a0190a42ff4c15b6ca94db89267ebb81c07d0ce21ddfb76541b61f7eb944a0d303fdd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","map","ninja","single","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACrB;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEV,MAAM,CAACW,MAArB;AAAA,+BACE;AAAA,oBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,YADK,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeL,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/dd/60302061a36689fa508b24940f56ebed6a26234b81351cd87c2ea450908edbde820590868a288cbe08d0b8d58bfddb6fc8bce5295d537c97844302b6a951 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/dd/60302061a36689fa508b24940f56ebed6a26234b81351cd87c2ea450908edbde820590868a288cbe08d0b8d58bfddb6fc8bce5295d537c97844302b6a951 new file mode 100644 index 00000000..e7619ca3 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/72/dd/60302061a36689fa508b24940f56ebed6a26234b81351cd87c2ea450908edbde820590868a288cbe08d0b8d58bfddb6fc8bce5295d537c97844302b6a951 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Footer.js\",\n _this = this;\n\nvar Footer = function Footer() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Copyrights \\xA9 2021\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = Footer;\nexport default Footer;\n\nvar _c;\n\n$RefreshReg$(_c, \"Footer\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Footer.js"],"names":["Footer"],"mappings":";;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,M;AAQN,eAAeA,MAAf","sourcesContent":["const Footer = () => {\r\n return ( \r\n
\r\n

Copyrights © 2021

\r\n
\r\n );\r\n}\r\n \r\nexport default Footer;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/3c/8fe21af97b5910589d2eb52974e4da17fdc8b88d7a8150c31492a77dd029c3d58904fa6854148be9a48c61e19210923215d1627c51b40d7313638d8a8872 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/3c/8fe21af97b5910589d2eb52974e4da17fdc8b88d7a8150c31492a77dd029c3d58904fa6854148be9a48c61e19210923215d1627c51b40d7313638d8a8872 new file mode 100644 index 00000000..05ce7b06 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/3c/8fe21af97b5910589d2eb52974e4da17fdc8b88d7a8150c31492a77dd029c3d58904fa6854148be9a48c61e19210923215d1627c51b40d7313638d8a8872 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/cf/a0ae8867d82c5161a357243daba8b82e4f744163206aa5c6653f37c1e0339c3eb5437ac55ab1f6b65e77d74a769400f8499afc130289d1be439e0866a94b b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/cf/a0ae8867d82c5161a357243daba8b82e4f744163206aa5c6653f37c1e0339c3eb5437ac55ab1f6b65e77d74a769400f8499afc130289d1be439e0866a94b new file mode 100644 index 00000000..0ec490ad --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/75/cf/a0ae8867d82c5161a357243daba8b82e4f744163206aa5c6653f37c1e0339c3eb5437ac55ab1f6b65e77d74a769400f8499afc130289d1be439e0866a94b @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.displayContent = displayContent; // This function is used to remove Next.js' no-FOUC styles workaround for using\n// `style-loader` in development. It must be called before hydration, or else\n// rendering won't have the correct computed values in effects.\n\nfunction displayContent(callback) {\n ;\n (window.requestAnimationFrame || setTimeout)(function () {\n for (var x = document.querySelectorAll('[data-next-hide-fouc]'), i = x.length; i--;) {\n x[i].parentNode.removeChild(x[i]);\n }\n\n if (callback) {\n callback();\n }\n });\n}","map":{"version":3,"sources":["../../../client/dev/fouc.js"],"names":["window","x","document","i","callback"],"mappings":";;;yCAAA;AACA;AACA;;AACO,SAAA,cAAA,CAAA,QAAA,EAAkC;AACvC;AAAC,GAACA,MAAM,CAANA,qBAAAA,IAAD,UAAA,EAA6C,YAAY;AACxD,SACE,IAAIC,CAAC,GAAGC,QAAQ,CAARA,gBAAAA,CAAR,uBAAQA,CAAR,EAA4DC,CAAC,GAAGF,CAAC,CADnE,MAAA,EAEEE,CAFF,EAAA,GAIE;AACAF,MAAAA,CAAC,CAADA,CAAC,CAADA,CAAAA,UAAAA,CAAAA,WAAAA,CAA4BA,CAAC,CAA7BA,CAA6B,CAA7BA;AAEF;;AAAA,QAAA,QAAA,EAAc;AACZG,MAAAA,QAAQ;AAEX;AAXA,GAAA;AAYF","sourcesContent":["// This function is used to remove Next.js' no-FOUC styles workaround for using\n// `style-loader` in development. It must be called before hydration, or else\n// rendering won't have the correct computed values in effects.\nexport function displayContent(callback) {\n ;(window.requestAnimationFrame || setTimeout)(function () {\n for (\n var x = document.querySelectorAll('[data-next-hide-fouc]'), i = x.length;\n i--;\n\n ) {\n x[i].parentNode.removeChild(x[i])\n }\n if (callback) {\n callback()\n }\n })\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/78/ab/d7cb05f4c96c604d8e2efbb4a308315d275f4d99383fc783d5fdde33fb3436278a408dc808fbdd19b81b47037891c647e1e1815ebb6583025de023aae6f9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/78/ab/d7cb05f4c96c604d8e2efbb4a308315d275f4d99383fc783d5fdde33fb3436278a408dc808fbdd19b81b47037891c647e1e1815ebb6583025de023aae6f9 new file mode 100644 index 00000000..7316791a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/78/ab/d7cb05f4c96c604d8e2efbb4a308315d275f4d99383fc783d5fdde33fb3436278a408dc808fbdd19b81b47037891c647e1e1815ebb6583025de023aae6f9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n console.log(res);\n console.log(data);\n console.log(id);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","console","log","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE7BS,EAAAA,OAAO,CAACC,GAAR,CAAYhB,GAAZ;AACAe,EAAAA,OAAO,CAACC,GAAR,CAAYd,IAAZ;AACAa,EAAAA,OAAO,CAACC,GAAR,CAAYR,EAAZ;AAEE,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMF,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAfD;;AAiBA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/2e/e53b67081d4f16b44fe1e0194f102f645b1ab6ecf09ae788854da68f6e86d1054bca1a2e285976c837726532eaf7d0892c6ad0fbfc98f6a2d8a7e3664637 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/2e/e53b67081d4f16b44fe1e0194f102f645b1ab6ecf09ae788854da68f6e86d1054bca1a2e285976c837726532eaf7d0892c6ad0fbfc98f6a2d8a7e3664637 new file mode 100644 index 00000000..8a61bb82 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/2e/e53b67081d4f16b44fe1e0194f102f645b1ab6ecf09ae788854da68f6e86d1054bca1a2e285976c837726532eaf7d0892c6ad0fbfc98f6a2d8a7e3664637 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"style.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,cAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/e6/4621156b14c9437c528405a995ddbd1ccded9ba306eda9f5f8ab6f5cf627fa775dd63588304892289777d579fb203e7c2cccc876c26ffa59969250d1b697 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/e6/4621156b14c9437c528405a995ddbd1ccded9ba306eda9f5f8ab6f5cf627fa775dd63588304892289777d579fb203e7c2cccc876c26ffa59969250d1b697 new file mode 100644 index 00000000..f6f09293 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/e6/4621156b14c9437c528405a995ddbd1ccded9ba306eda9f5f8ab6f5cf627fa775dd63588304892289777d579fb203e7c2cccc876c26ffa59969250d1b697 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.getDomainLocale = getDomainLocale;\nexports.addLocale = addLocale;\nexports.delLocale = delLocale;\nexports.hasBasePath = hasBasePath;\nexports.addBasePath = addBasePath;\nexports.delBasePath = delBasePath;\nexports.isLocalURL = isLocalURL;\nexports.interpolateAs = interpolateAs;\nexports.resolveHref = resolveHref;\nexports.default = void 0;\n\nvar _normalizeTrailingSlash = require(\"../../../client/normalize-trailing-slash\");\n\nvar _routeLoader = require(\"../../../client/route-loader\");\n\nvar _denormalizePagePath = require(\"../../server/denormalize-page-path\");\n\nvar _normalizeLocalePath = require(\"../i18n/normalize-locale-path\");\n\nvar _mitt = _interopRequireDefault(require(\"../mitt\"));\n\nvar _utils = require(\"../utils\");\n\nvar _isDynamic = require(\"./utils/is-dynamic\");\n\nvar _parseRelativeUrl = require(\"./utils/parse-relative-url\");\n\nvar _querystring = require(\"./utils/querystring\");\n\nvar _resolveRewrites = _interopRequireDefault(require(\"./utils/resolve-rewrites\"));\n\nvar _routeMatcher = require(\"./utils/route-matcher\");\n\nvar _routeRegex = require(\"./utils/route-regex\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/* global __NEXT_DATA__ */\n// tslint:disable:no-console\n\n\nlet detectDomainLocale;\n\nif (process.env.__NEXT_I18N_SUPPORT) {\n detectDomainLocale = require('../i18n/detect-domain-locale').detectDomainLocale;\n}\n\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\n\nfunction buildCancellationError() {\n return Object.assign(new Error('Route Cancelled'), {\n cancelled: true\n });\n}\n\nfunction addPathPrefix(path, prefix) {\n return prefix && path.startsWith('/') ? path === '/' ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(prefix) : `${prefix}${pathNoQueryHash(path) === '/' ? path.substring(1) : path}` : path;\n}\n\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n locale = locale || (0, _normalizeLocalePath.normalizeLocalePath)(path, locales).detectedLocale;\n const detectedDomain = detectDomainLocale(domainLocales, undefined, locale);\n\n if (detectedDomain) {\n return `http${detectedDomain.http ? '' : 's'}://${detectedDomain.domain}${basePath || ''}${locale === detectedDomain.defaultLocale ? '' : `/${locale}`}${path}`;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction addLocale(path, locale, defaultLocale) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale && locale !== defaultLocale && !path.startsWith('/' + locale + '/') && path !== '/' + locale ? addPathPrefix(path, '/' + locale) : path;\n }\n\n return path;\n}\n\nfunction delLocale(path, locale) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale && (path.startsWith('/' + locale + '/') || path === '/' + locale) ? path.substr(locale.length + 1) || '/' : path;\n }\n\n return path;\n}\n\nfunction pathNoQueryHash(path) {\n const queryIndex = path.indexOf('?');\n const hashIndex = path.indexOf('#');\n\n if (queryIndex > -1 || hashIndex > -1) {\n path = path.substring(0, queryIndex > -1 ? queryIndex : hashIndex);\n }\n\n return path;\n}\n\nfunction hasBasePath(path) {\n path = pathNoQueryHash(path);\n return path === basePath || path.startsWith(basePath + '/');\n}\n\nfunction addBasePath(path) {\n // we only add the basepath on relative urls\n return addPathPrefix(path, basePath);\n}\n\nfunction delBasePath(path) {\n path = path.slice(basePath.length);\n if (!path.startsWith('/')) path = `/${path}`;\n return path;\n}\n/**\n* Detects whether a given url is routable by the Next.js router (browser only).\n*/\n\n\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (url.startsWith('/') || url.startsWith('#')) return true;\n\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && hasBasePath(resolved.pathname);\n } catch (_) {\n return false;\n }\n}\n\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = '';\n const dynamicRegex = (0, _routeRegex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = // Try to match the dynamic route against the asPath\n (asPathname !== route ? (0, _routeMatcher.getRouteMatcher)(dynamicRegex)(asPathname) : '') || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n\n if (!params.every(param => {\n let value = dynamicMatches[param] || '';\n const {\n repeat,\n optional\n } = dynamicGroups[param]; // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n\n let replaced = `[${repeat ? '...' : ''}${param}]`;\n\n if (optional) {\n replaced = `${!value ? '/' : ''}[${replaced}]`;\n }\n\n if (repeat && !Array.isArray(value)) value = [value];\n return (optional || param in dynamicMatches) && ( // Interpolate group into data URL if present\n interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map( // these values should be fully encoded instead of just\n // path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n segment => encodeURIComponent(segment)).join('/') : encodeURIComponent(value)) || '/');\n })) {\n interpolatedRoute = ''; // did not satisfy all requirements\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `` component directly.\n }\n\n return {\n params,\n result: interpolatedRoute\n };\n}\n\nfunction omitParmsFromQuery(query, params) {\n const filteredQuery = {};\n Object.keys(query).forEach(key => {\n if (!params.includes(key)) {\n filteredQuery[key] = query[key];\n }\n });\n return filteredQuery;\n}\n/**\n* Resolves a given hyperlink with a certain router state (basePath not included).\n* Preserves absolute urls.\n*/\n\n\nfunction resolveHref(currentPath, href, resolveAs) {\n // we use a dummy base url for relative urls\n const base = new URL(currentPath, 'http://n');\n const urlAsString = typeof href === 'string' ? href : (0, _utils.formatWithValidation)(href); // Return because it cannot be routed by the Next.js router\n\n if (!isLocalURL(urlAsString)) {\n return resolveAs ? [urlAsString] : urlAsString;\n }\n\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = '';\n\n if ((0, _isDynamic.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const {\n result,\n params\n } = interpolateAs(finalUrl.pathname, finalUrl.pathname, query);\n\n if (result) {\n interpolatedAs = (0, _utils.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: omitParmsFromQuery(query, params)\n });\n }\n } // if the origin didn't change, it means we received a relative href\n\n\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [resolvedHref, interpolatedAs || resolvedHref] : resolvedHref;\n } catch (_) {\n return resolveAs ? [urlAsString] : urlAsString;\n }\n}\n\nfunction stripOrigin(url) {\n const origin = (0, _utils.getLocationOrigin)();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\n\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = resolveHref(router.pathname, url, true);\n const origin = (0, _utils.getLocationOrigin)();\n const hrefHadOrigin = resolvedHref.startsWith(origin);\n const asHadOrigin = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefHadOrigin ? resolvedHref : addBasePath(resolvedHref);\n const preparedAs = as ? stripOrigin(resolveHref(router.pathname, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asHadOrigin ? preparedAs : addBasePath(preparedAs)\n };\n}\n\nconst manualScrollRestoration = process.env.__NEXT_SCROLL_RESTORATION && false && 'scrollRestoration' in window.history && !!function () {\n try {\n let v = '__next'; // eslint-disable-next-line no-sequences\n\n return sessionStorage.setItem(v, v), sessionStorage.removeItem(v), true;\n } catch (n) {}\n}();\nconst SSG_DATA_NOT_FOUND = Symbol('SSG_DATA_NOT_FOUND');\n\nfunction fetchRetry(url, attempts) {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: 'same-origin'\n }).then(res => {\n if (!res.ok) {\n if (attempts > 1 && res.status >= 500) {\n return fetchRetry(url, attempts - 1);\n }\n\n if (res.status === 404) {\n return res.json().then(data => {\n if (data.notFound) {\n return {\n notFound: SSG_DATA_NOT_FOUND\n };\n }\n\n throw new Error(`Failed to load static props`);\n });\n }\n\n throw new Error(`Failed to load static props`);\n }\n\n return res.json();\n });\n}\n\nfunction fetchNextData(dataHref, isServerRender) {\n return fetchRetry(dataHref, isServerRender ? 3 : 1).catch(err => {\n // We should only trigger a server-side transition if this was caused\n // on a client-side transition. Otherwise, we'd get into an infinite\n // loop.\n if (!isServerRender) {\n (0, _routeLoader.markAssetError)(err);\n }\n\n throw err;\n });\n}\n\nclass Router {\n /**\n * Map of all components loaded in `Router`\n */\n // Static Data Cache\n constructor(_pathname, _query, _as, {\n initialProps,\n pageLoader,\n App,\n wrapApp,\n Component,\n err,\n subscription,\n isFallback,\n locale,\n locales,\n defaultLocale,\n domainLocales\n }) {\n this.route = void 0;\n this.pathname = void 0;\n this.query = void 0;\n this.asPath = void 0;\n this.basePath = void 0;\n this.components = void 0;\n this.sdc = {};\n this.sub = void 0;\n this.clc = void 0;\n this.pageLoader = void 0;\n this._bps = void 0;\n this.events = void 0;\n this._wrapApp = void 0;\n this.isSsr = void 0;\n this.isFallback = void 0;\n this._inFlightRoute = void 0;\n this._shallow = void 0;\n this.locale = void 0;\n this.locales = void 0;\n this.defaultLocale = void 0;\n this.domainLocales = void 0;\n this.isReady = void 0;\n this.isLocaleDomain = void 0;\n this._idx = 0;\n\n this.onPopState = e => {\n const state = e.state;\n\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const {\n pathname,\n query\n } = this;\n this.changeState('replaceState', (0, _utils.formatWithValidation)({\n pathname: addBasePath(pathname),\n query\n }), (0, _utils.getURL)());\n return;\n }\n\n if (!state.__N) {\n return;\n }\n\n let forcedScroll;\n const {\n url,\n as,\n options,\n idx\n } = state;\n\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n if (this._idx !== idx) {\n // Snapshot current scroll position:\n try {\n sessionStorage.setItem('__next_scroll_' + this._idx, JSON.stringify({\n x: self.pageXOffset,\n y: self.pageYOffset\n }));\n } catch (_unused) {} // Restore old scroll position:\n\n\n try {\n const v = sessionStorage.getItem('__next_scroll_' + idx);\n forcedScroll = JSON.parse(v);\n } catch (_unused2) {\n forcedScroll = {\n x: 0,\n y: 0\n };\n }\n }\n }\n }\n\n this._idx = idx;\n const {\n pathname\n } = (0, _parseRelativeUrl.parseRelativeUrl)(url); // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n\n if (this.isSsr && as === this.asPath && pathname === this.pathname) {\n return;\n } // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n\n\n if (this._bps && !this._bps(state)) {\n return;\n }\n\n this.change('replaceState', url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale\n }), forcedScroll);\n }; // represents the current component key\n\n\n this.route = (0, _normalizeTrailingSlash.removePathTrailingSlash)(_pathname); // set up the component cache (by route keys)\n\n this.components = {}; // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n\n if (_pathname !== '/_error') {\n this.components[this.route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP\n };\n }\n\n this.components['/_app'] = {\n Component: App,\n styleSheets: [\n /* /_app does not need its stylesheets managed */\n ]\n }; // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n\n this.events = Router.events;\n this.pageLoader = pageLoader;\n this.pathname = _pathname;\n this.query = _query; // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n\n const autoExportDynamic = (0, _isDynamic.isDynamicRoute)(_pathname) && self.__NEXT_DATA__.autoExport;\n\n this.asPath = autoExportDynamic ? _pathname : _as;\n this.basePath = basePath;\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp; // make sure to ignore extra popState in safari on navigating\n // back from external site\n\n this.isSsr = true;\n this.isFallback = isFallback;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || !autoExportDynamic && !self.location.search);\n this.isLocaleDomain = false;\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale = locale;\n this.locales = locales;\n this.defaultLocale = defaultLocale;\n this.domainLocales = domainLocales;\n this.isLocaleDomain = !!detectDomainLocale(domainLocales, self.location.hostname);\n }\n\n if (false) {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (_as.substr(0, 2) !== '//') {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n this.changeState('replaceState', (0, _utils.formatWithValidation)({\n pathname: addBasePath(_pathname),\n query: _query\n }), (0, _utils.getURL)(), {\n locale\n });\n }\n\n window.addEventListener('popstate', this.onPopState); // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n window.history.scrollRestoration = 'manual';\n }\n }\n }\n }\n\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */\n\n\n back() {\n window.history.back();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n\n\n push(url, as, options = {}) {\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n // TODO: remove in the future when we update history before route change\n // is complete, as the popstate event should handle this capture.\n if (manualScrollRestoration) {\n try {\n // Snapshot scroll position right before navigating to a new page:\n sessionStorage.setItem('__next_scroll_' + this._idx, JSON.stringify({\n x: self.pageXOffset,\n y: self.pageYOffset\n }));\n } catch (_unused3) {}\n }\n }\n\n ;\n ({\n url,\n as\n } = prepareUrlAs(this, url, as));\n return this.change('pushState', url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n\n\n replace(url, as, options = {}) {\n ;\n ({\n url,\n as\n } = prepareUrlAs(this, url, as));\n return this.change('replaceState', url, as, options);\n }\n\n async change(method, url, as, options, forcedScroll) {\n var _options$scroll;\n\n if (!isLocalURL(url)) {\n window.location.href = url;\n return false;\n } // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n\n\n if (options._h) {\n this.isReady = true;\n } // Default to scroll reset behavior unless explicitly specified to be\n // `false`! This makes the behavior between using `Router#push` and a\n // `` consistent.\n\n\n options.scroll = !!((_options$scroll = options.scroll) != null ? _options$scroll : true);\n let localeChange = options.locale !== this.locale;\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale = options.locale === false ? this.defaultLocale : options.locale || this.locale;\n\n if (typeof options.locale === 'undefined') {\n options.locale = this.locale;\n }\n\n const parsedAs = (0, _parseRelativeUrl.parseRelativeUrl)(hasBasePath(as) ? delBasePath(as) : as);\n const localePathResult = (0, _normalizeLocalePath.normalizeLocalePath)(parsedAs.pathname, this.locales);\n\n if (localePathResult.detectedLocale) {\n this.locale = localePathResult.detectedLocale;\n parsedAs.pathname = addBasePath(parsedAs.pathname);\n as = (0, _utils.formatWithValidation)(parsedAs);\n url = addBasePath((0, _normalizeLocalePath.normalizeLocalePath)(hasBasePath(url) ? delBasePath(url) : url, this.locales).pathname);\n }\n\n let didNavigate = false; // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n var _this$locales; // if the locale isn't configured hard navigate to show 404 page\n\n\n if (!((_this$locales = this.locales) != null && _this$locales.includes(this.locale))) {\n parsedAs.pathname = addLocale(parsedAs.pathname, this.locale);\n window.location.href = (0, _utils.formatWithValidation)(parsedAs); // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n\n didNavigate = true;\n }\n }\n\n const detectedDomain = detectDomainLocale(this.domainLocales, undefined, this.locale); // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if we are navigating to a domain locale ensure we redirect to the\n // correct domain\n if (!didNavigate && detectedDomain && this.isLocaleDomain && self.location.hostname !== detectedDomain.domain) {\n const asNoBasePath = delBasePath(as);\n window.location.href = `http${detectedDomain.http ? '' : 's'}://${detectedDomain.domain}${addBasePath(`${this.locale === detectedDomain.defaultLocale ? '' : `/${this.locale}`}${asNoBasePath === '/' ? '' : asNoBasePath}` || '/')}`; // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n\n didNavigate = true;\n }\n }\n\n if (didNavigate) {\n return new Promise(() => {});\n }\n }\n\n if (!options._h) {\n this.isSsr = false;\n } // marking route changes as a navigation start entry\n\n\n if (_utils.ST) {\n performance.mark('routeChange');\n }\n\n const {\n shallow = false\n } = options;\n const routeProps = {\n shallow\n };\n\n if (this._inFlightRoute) {\n this.abortComponentLoad(this._inFlightRoute, routeProps);\n }\n\n as = addBasePath(addLocale(hasBasePath(as) ? delBasePath(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = delLocale(hasBasePath(as) ? delBasePath(as) : as, this.locale);\n this._inFlightRoute = as; // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n\n if (!options._h && this.onlyAHashChange(cleanedAs)) {\n this.asPath = cleanedAs;\n Router.events.emit('hashChangeStart', as, routeProps); // TODO: do we need the resolved href when only a hash change?\n\n this.changeState(method, url, as, options);\n this.scrollToHash(cleanedAs);\n this.notify(this.components[this.route], null);\n Router.events.emit('hashChangeComplete', as, routeProps);\n return true;\n }\n\n let parsed = (0, _parseRelativeUrl.parseRelativeUrl)(url);\n let {\n pathname,\n query\n } = parsed; // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n\n let pages, rewrites;\n\n try {\n pages = await this.pageLoader.getPageList();\n ({\n __rewrites: rewrites\n } = await (0, _routeLoader.getClientBuildManifest)());\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n window.location.href = as;\n return false;\n }\n\n parsed = this._resolveHref(parsed, pages);\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n url = (0, _utils.formatWithValidation)(parsed);\n } // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n\n\n pathname = pathname ? (0, _normalizeTrailingSlash.removePathTrailingSlash)(delBasePath(pathname)) : pathname; // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = 'replaceState';\n }\n\n let route = (0, _normalizeTrailingSlash.removePathTrailingSlash)(pathname); // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n\n let resolvedAs = as;\n\n if (process.env.__NEXT_HAS_REWRITES && as.startsWith('/')) {\n const rewritesResult = (0, _resolveRewrites.default)(addBasePath(addLocale(delBasePath(as), this.locale)), pages, rewrites, query, p => this._resolveHref({\n pathname: p\n }, pages).pathname, this.locales);\n resolvedAs = rewritesResult.asPath;\n\n if (rewritesResult.matchedPage && rewritesResult.resolvedHref) {\n // if this directly matches a page we need to update the href to\n // allow the correct page chunk to be loaded\n route = rewritesResult.resolvedHref;\n pathname = rewritesResult.resolvedHref;\n parsed.pathname = pathname;\n url = (0, _utils.formatWithValidation)(parsed);\n }\n }\n\n if (!isLocalURL(as)) {\n if (true) {\n throw new Error(`Invalid href: \"${url}\" and as: \"${as}\", received relative href and external as` + `\\nSee more info: https://err.sh/next.js/invalid-relative-url-external-as`);\n }\n\n window.location.href = as;\n return false;\n }\n\n resolvedAs = delLocale(delBasePath(resolvedAs), this.locale);\n\n if ((0, _isDynamic.isDynamicRoute)(route)) {\n const parsedAs = (0, _parseRelativeUrl.parseRelativeUrl)(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeRegex.getRouteRegex)(route);\n const routeMatch = (0, _routeMatcher.getRouteMatcher)(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? interpolateAs(route, asPathname, query) : {};\n\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter(param => !query[param]);\n\n if (missingParams.length > 0) {\n if (true) {\n console.warn(`${shouldInterpolate ? `Interpolating href` : `Mismatching \\`as\\` and \\`href\\``} failed to manually provide ` + `the params: ${missingParams.join(', ')} in the \\`href\\`'s \\`query\\``);\n }\n\n throw new Error((shouldInterpolate ? `The provided \\`href\\` (${url}) value is missing query values (${missingParams.join(', ')}) to be interpolated properly. ` : `The provided \\`as\\` value (${asPathname}) is incompatible with the \\`href\\` value (${route}). `) + `Read more: https://err.sh/vercel/next.js/${shouldInterpolate ? 'href-interpolation-failed' : 'incompatible-href-as'}`);\n }\n } else if (shouldInterpolate) {\n as = (0, _utils.formatWithValidation)(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: omitParmsFromQuery(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n\n Router.events.emit('routeChangeStart', as, routeProps);\n\n try {\n let routeInfo = await this.getRouteInfo(route, pathname, query, as, resolvedAs, routeProps);\n let {\n error,\n props,\n __N_SSG,\n __N_SSP\n } = routeInfo; // handle redirect on client-transition\n\n if ((__N_SSG || __N_SSP) && props) {\n if (props.pageProps && props.pageProps.__N_REDIRECT) {\n const destination = props.pageProps.__N_REDIRECT; // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n\n if (destination.startsWith('/')) {\n const parsedHref = (0, _parseRelativeUrl.parseRelativeUrl)(destination);\n\n this._resolveHref(parsedHref, pages, false);\n\n if (pages.includes(parsedHref.pathname)) {\n const {\n url: newUrl,\n as: newAs\n } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n }\n\n window.location.href = destination;\n return new Promise(() => {});\n } // handle SSG data 404\n\n\n if (props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n\n try {\n await this.fetchComponent('/404');\n notFoundRoute = '/404';\n } catch (_) {\n notFoundRoute = '/_error';\n }\n\n routeInfo = await this.getRouteInfo(notFoundRoute, notFoundRoute, query, as, resolvedAs, {\n shallow: false\n });\n }\n }\n\n Router.events.emit('beforeHistoryChange', as, routeProps);\n this.changeState(method, url, as, options);\n\n if (true) {\n const appComp = this.components['/_app'].Component;\n window.next.isPrerendered = appComp.getInitialProps === appComp.origGetInitialProps && !routeInfo.Component.getInitialProps;\n } // shallow routing is only allowed for same page URL changes.\n\n\n const isValidShallowRoute = options.shallow && this.route === route;\n await this.set(route, pathname, query, cleanedAs, routeInfo, forcedScroll || (isValidShallowRoute || !options.scroll ? null : {\n x: 0,\n y: 0\n })).catch(e => {\n if (e.cancelled) error = error || e;else throw e;\n });\n\n if (error) {\n Router.events.emit('routeChangeError', error, cleanedAs, routeProps);\n throw error;\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (this.locale) {\n document.documentElement.lang = this.locale;\n }\n }\n\n Router.events.emit('routeChangeComplete', as, routeProps);\n return true;\n } catch (err) {\n if (err.cancelled) {\n return false;\n }\n\n throw err;\n }\n }\n\n changeState(method, url, as, options = {}) {\n if (true) {\n if (typeof window.history === 'undefined') {\n console.error(`Warning: window.history is not available.`);\n return;\n }\n\n if (typeof window.history[method] === 'undefined') {\n console.error(`Warning: window.history.${method} is not available`);\n return;\n }\n }\n\n if (method !== 'pushState' || (0, _utils.getURL)() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n idx: this._idx = method !== 'pushState' ? this._idx : this._idx + 1\n }, // Most browsers currently ignores this parameter, although they may use it in the future.\n // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n '', as);\n }\n }\n\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n\n if ((0, _routeLoader.isAssetError)(err) || loadErrorFail) {\n Router.events.emit('routeChangeError', err, as, routeProps); // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n\n window.location.href = as; // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n\n throw buildCancellationError();\n }\n\n try {\n let Component;\n let styleSheets;\n let props;\n\n if (typeof Component === 'undefined' || typeof styleSheets === 'undefined') {\n ;\n ({\n page: Component,\n styleSheets\n } = await this.fetchComponent('/_error'));\n }\n\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error('Error in error page `getInitialProps`: ', gipErr);\n routeInfo.props = {};\n }\n }\n\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError(routeInfoErr, pathname, query, as, routeProps, true);\n }\n }\n\n async getRouteInfo(route, pathname, query, as, resolvedAs, routeProps) {\n try {\n const existingRouteInfo = this.components[route];\n\n if (routeProps.shallow && existingRouteInfo && this.route === route) {\n return existingRouteInfo;\n }\n\n const cachedRouteInfo = existingRouteInfo && 'initial' in existingRouteInfo ? undefined : existingRouteInfo;\n const routeInfo = cachedRouteInfo ? cachedRouteInfo : await this.fetchComponent(route).then(res => ({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP\n }));\n const {\n Component,\n __N_SSG,\n __N_SSP\n } = routeInfo;\n\n if (true) {\n const {\n isValidElementType\n } = require('react-is');\n\n if (!isValidElementType(Component)) {\n throw new Error(`The default export is not a React Component in page: \"${pathname}\"`);\n }\n }\n\n let dataHref;\n\n if (__N_SSG || __N_SSP) {\n dataHref = this.pageLoader.getDataHref((0, _utils.formatWithValidation)({\n pathname,\n query\n }), resolvedAs, __N_SSG, this.locale);\n }\n\n const props = await this._getData(() => __N_SSG ? this._getStaticData(dataHref) : __N_SSP ? this._getServerData(dataHref) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`\n {\n pathname,\n query,\n asPath: as\n }));\n routeInfo.props = props;\n this.components[route] = routeInfo;\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError(err, pathname, query, as, routeProps);\n }\n }\n\n set(route, pathname, query, as, data, resetScroll) {\n this.isFallback = false;\n this.route = route;\n this.pathname = pathname;\n this.query = query;\n this.asPath = as;\n return this.notify(data, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */\n\n\n beforePopState(cb) {\n this._bps = cb;\n }\n\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split('#');\n const [newUrlNoHash, newHash] = as.split('#'); // Makes sure we scroll to the provided hash if the url/hash are the same\n\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n } // If the urls are change, there's more than a hash change\n\n\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n } // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n\n\n return oldHash !== newHash;\n }\n\n scrollToHash(as) {\n const [, hash] = as.split('#'); // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n\n if (hash === '' || hash === 'top') {\n window.scrollTo(0, 0);\n return;\n } // First we check if the element by id is found\n\n\n const idEl = document.getElementById(hash);\n\n if (idEl) {\n idEl.scrollIntoView();\n return;\n } // If there's no element with the id, we check the `name` property\n // To mirror browsers\n\n\n const nameEl = document.getElementsByName(hash)[0];\n\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }\n\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n\n _resolveHref(parsedHref, pages, applyBasePath = true) {\n const {\n pathname\n } = parsedHref;\n const cleanPathname = (0, _normalizeTrailingSlash.removePathTrailingSlash)((0, _denormalizePagePath.denormalizePagePath)(applyBasePath ? delBasePath(pathname) : pathname));\n\n if (cleanPathname === '/404' || cleanPathname === '/_error') {\n return parsedHref;\n } // handle resolving href for dynamic routes\n\n\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some(page => {\n if ((0, _isDynamic.isDynamicRoute)(page) && (0, _routeRegex.getRouteRegex)(page).re.test(cleanPathname)) {\n parsedHref.pathname = applyBasePath ? addBasePath(page) : page;\n return true;\n }\n });\n }\n\n parsedHref.pathname = (0, _normalizeTrailingSlash.removePathTrailingSlash)(parsedHref.pathname);\n return parsedHref;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */\n\n\n async prefetch(url, asPath = url, options = {}) {\n let parsed = (0, _parseRelativeUrl.parseRelativeUrl)(url);\n let {\n pathname\n } = parsed;\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (options.locale === false) {\n pathname = (0, _normalizeLocalePath.normalizeLocalePath)(pathname, this.locales).pathname;\n parsed.pathname = pathname;\n url = (0, _utils.formatWithValidation)(parsed);\n let parsedAs = (0, _parseRelativeUrl.parseRelativeUrl)(asPath);\n const localePathResult = (0, _normalizeLocalePath.normalizeLocalePath)(parsedAs.pathname, this.locales);\n parsedAs.pathname = localePathResult.pathname;\n options.locale = localePathResult.detectedLocale || this.defaultLocale;\n asPath = (0, _utils.formatWithValidation)(parsedAs);\n }\n }\n\n const pages = await this.pageLoader.getPageList();\n parsed = this._resolveHref(parsed, pages, false);\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n url = (0, _utils.formatWithValidation)(parsed);\n } // Prefetch is not supported in development mode because it would trigger on-demand-entries\n\n\n if (true) {\n return;\n }\n\n const route = (0, _normalizeTrailingSlash.removePathTrailingSlash)(pathname);\n await Promise.all([this.pageLoader._isSsg(url).then(isSsg => {\n return isSsg ? this._getStaticData(this.pageLoader.getDataHref(url, asPath, true, typeof options.locale !== 'undefined' ? options.locale : this.locale)) : false;\n }), this.pageLoader[options.priority ? 'loadPage' : 'prefetch'](route)]);\n }\n\n async fetchComponent(route) {\n let cancelled = false;\n\n const cancel = this.clc = () => {\n cancelled = true;\n };\n\n const componentResult = await this.pageLoader.loadPage(route);\n\n if (cancelled) {\n const error = new Error(`Abort fetching component for route: \"${route}\"`);\n error.cancelled = true;\n throw error;\n }\n\n if (cancel === this.clc) {\n this.clc = null;\n }\n\n return componentResult;\n }\n\n _getData(fn) {\n let cancelled = false;\n\n const cancel = () => {\n cancelled = true;\n };\n\n this.clc = cancel;\n return fn().then(data => {\n if (cancel === this.clc) {\n this.clc = null;\n }\n\n if (cancelled) {\n const err = new Error('Loading initial props cancelled');\n err.cancelled = true;\n throw err;\n }\n\n return data;\n });\n }\n\n _getStaticData(dataHref) {\n const {\n href: cacheKey\n } = new URL(dataHref, window.location.href);\n\n if (false && this.sdc[cacheKey]) {\n return Promise.resolve(this.sdc[cacheKey]);\n }\n\n return fetchNextData(dataHref, this.isSsr).then(data => {\n this.sdc[cacheKey] = data;\n return data;\n });\n }\n\n _getServerData(dataHref) {\n return fetchNextData(dataHref, this.isSsr);\n }\n\n getInitialProps(Component, ctx) {\n const {\n Component: App\n } = this.components['/_app'];\n\n const AppTree = this._wrapApp(App);\n\n ctx.AppTree = AppTree;\n return (0, _utils.loadGetInitialProps)(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n\n abortComponentLoad(as, routeProps) {\n if (this.clc) {\n Router.events.emit('routeChangeError', buildCancellationError(), as, routeProps);\n this.clc();\n this.clc = null;\n }\n }\n\n notify(data, resetScroll) {\n return this.sub(data, this.components['/_app'].Component, resetScroll);\n }\n\n}\n\nexports.default = Router;\nRouter.events = (0, _mitt.default)();","map":{"version":3,"sources":["../../../../next-server/lib/router/router.ts"],"names":["process","detectDomainLocale","require","basePath","Object","cancelled","prefix","path","pathNoQueryHash","locale","detectedDomain","domain","addPathPrefix","queryIndex","hashIndex","url","locationOrigin","resolved","hasBasePath","interpolatedRoute","dynamicRegex","dynamicGroups","dynamicMatches","asPathname","params","param","value","replaced","repeat","Array","optional","segment","encodeURIComponent","result","filteredQuery","key","query","base","urlAsString","isLocalURL","resolveAs","finalUrl","interpolatedAs","interpolateAs","pathname","hash","omitParmsFromQuery","resolvedHref","origin","resolveHref","router","hrefHadOrigin","asHadOrigin","resolvedAs","stripOrigin","preparedUrl","addBasePath","preparedAs","as","manualScrollRestoration","window","v","sessionStorage","SSG_DATA_NOT_FOUND","Symbol","credentials","res","attempts","fetchRetry","data","notFound","isServerRender","err","Router","route","asPath","components","sdc","sub","clc","pageLoader","_bps","events","_wrapApp","isSsr","isFallback","_inFlightRoute","_shallow","locales","defaultLocale","domainLocales","isReady","isLocaleDomain","_idx","constructor","initial","props","__N_SSG","initialProps","__N_SSP","Component","styleSheets","autoExportDynamic","self","e","state","JSON","x","y","forcedScroll","shallow","options","reload","back","push","prepareUrlAs","replace","localeChange","parsedAs","delBasePath","localePathResult","didNavigate","addLocale","asNoBasePath","ST","performance","routeProps","cleanedAs","delLocale","parsed","pages","__rewrites","method","rewritesResult","p","routeRegex","routeMatch","shouldInterpolate","missingParams","console","routeInfo","destination","parsedHref","notFoundRoute","appComp","isValidShallowRoute","error","document","changeState","__N","idx","buildCancellationError","page","existingRouteInfo","cachedRouteInfo","isValidElementType","dataHref","set","beforePopState","onlyAHashChange","newHash","oldUrlNoHash","oldHash","scrollToHash","idEl","nameEl","urlIsNew","_resolveHref","applyBasePath","cleanPathname","Promise","isSsg","cancel","componentResult","_getData","fn","_getStaticData","href","fetchNextData","_getServerData","getInitialProps","AppTree","ctx","abortComponentLoad","notify"],"mappings":"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","sourcesContent":["/* global __NEXT_DATA__ */\n// tslint:disable:no-console\nimport { ParsedUrlQuery } from 'querystring'\nimport { ComponentType } from 'react'\nimport { UrlObject } from 'url'\nimport {\n normalizePathTrailingSlash,\n removePathTrailingSlash,\n} from '../../../client/normalize-trailing-slash'\nimport { GoodPageCache, StyleSheetTuple } from '../../../client/page-loader'\nimport {\n getClientBuildManifest,\n isAssetError,\n markAssetError,\n} from '../../../client/route-loader'\nimport { DomainLocales } from '../../server/config'\nimport { denormalizePagePath } from '../../server/denormalize-page-path'\nimport { normalizeLocalePath } from '../i18n/normalize-locale-path'\nimport mitt, { MittEmitter } from '../mitt'\nimport {\n AppContextType,\n formatWithValidation,\n getLocationOrigin,\n getURL,\n loadGetInitialProps,\n NextPageContext,\n ST,\n NEXT_DATA,\n} from '../utils'\nimport { isDynamicRoute } from './utils/is-dynamic'\nimport { parseRelativeUrl } from './utils/parse-relative-url'\nimport { searchParamsToUrlQuery } from './utils/querystring'\nimport resolveRewrites from './utils/resolve-rewrites'\nimport { getRouteMatcher } from './utils/route-matcher'\nimport { getRouteRegex } from './utils/route-regex'\n\ndeclare global {\n interface Window {\n /* prod */\n __NEXT_DATA__: NEXT_DATA\n }\n}\n\ninterface RouteProperties {\n shallow: boolean\n}\n\ninterface TransitionOptions {\n shallow?: boolean\n locale?: string | false\n scroll?: boolean\n}\n\ninterface NextHistoryState {\n url: string\n as: string\n options: TransitionOptions\n}\n\ntype HistoryState =\n | null\n | { __N: false }\n | ({ __N: true; idx: number } & NextHistoryState)\n\nlet detectDomainLocale: typeof import('../i18n/detect-domain-locale').detectDomainLocale\n\nif (process.env.__NEXT_I18N_SUPPORT) {\n detectDomainLocale = require('../i18n/detect-domain-locale')\n .detectDomainLocale\n}\n\nconst basePath = (process.env.__NEXT_ROUTER_BASEPATH as string) || ''\n\nfunction buildCancellationError() {\n return Object.assign(new Error('Route Cancelled'), {\n cancelled: true,\n })\n}\n\nfunction addPathPrefix(path: string, prefix?: string) {\n return prefix && path.startsWith('/')\n ? path === '/'\n ? normalizePathTrailingSlash(prefix)\n : `${prefix}${pathNoQueryHash(path) === '/' ? path.substring(1) : path}`\n : path\n}\n\nexport function getDomainLocale(\n path: string,\n locale?: string | false,\n locales?: string[],\n domainLocales?: DomainLocales\n) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n locale = locale || normalizeLocalePath(path, locales).detectedLocale\n\n const detectedDomain = detectDomainLocale(domainLocales, undefined, locale)\n\n if (detectedDomain) {\n return `http${detectedDomain.http ? '' : 's'}://${detectedDomain.domain}${\n basePath || ''\n }${locale === detectedDomain.defaultLocale ? '' : `/${locale}`}${path}`\n }\n return false\n }\n\n return false\n}\n\nexport function addLocale(\n path: string,\n locale?: string | false,\n defaultLocale?: string\n) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale &&\n locale !== defaultLocale &&\n !path.startsWith('/' + locale + '/') &&\n path !== '/' + locale\n ? addPathPrefix(path, '/' + locale)\n : path\n }\n return path\n}\n\nexport function delLocale(path: string, locale?: string) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale &&\n (path.startsWith('/' + locale + '/') || path === '/' + locale)\n ? path.substr(locale.length + 1) || '/'\n : path\n }\n return path\n}\n\nfunction pathNoQueryHash(path: string) {\n const queryIndex = path.indexOf('?')\n const hashIndex = path.indexOf('#')\n\n if (queryIndex > -1 || hashIndex > -1) {\n path = path.substring(0, queryIndex > -1 ? queryIndex : hashIndex)\n }\n return path\n}\n\nexport function hasBasePath(path: string): boolean {\n path = pathNoQueryHash(path)\n return path === basePath || path.startsWith(basePath + '/')\n}\n\nexport function addBasePath(path: string): string {\n // we only add the basepath on relative urls\n return addPathPrefix(path, basePath)\n}\n\nexport function delBasePath(path: string): string {\n path = path.slice(basePath.length)\n if (!path.startsWith('/')) path = `/${path}`\n return path\n}\n\n/**\n * Detects whether a given url is routable by the Next.js router (browser only).\n */\nexport function isLocalURL(url: string): boolean {\n // prevent a hydration mismatch on href for url with anchor refs\n if (url.startsWith('/') || url.startsWith('#')) return true\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = getLocationOrigin()\n const resolved = new URL(url, locationOrigin)\n return resolved.origin === locationOrigin && hasBasePath(resolved.pathname)\n } catch (_) {\n return false\n }\n}\n\ntype Url = UrlObject | string\n\nexport function interpolateAs(\n route: string,\n asPathname: string,\n query: ParsedUrlQuery\n) {\n let interpolatedRoute = ''\n\n const dynamicRegex = getRouteRegex(route)\n const dynamicGroups = dynamicRegex.groups\n const dynamicMatches =\n // Try to match the dynamic route against the asPath\n (asPathname !== route ? getRouteMatcher(dynamicRegex)(asPathname) : '') ||\n // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query\n\n interpolatedRoute = route\n const params = Object.keys(dynamicGroups)\n\n if (\n !params.every((param) => {\n let value = dynamicMatches[param] || ''\n const { repeat, optional } = dynamicGroups[param]\n\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = `[${repeat ? '...' : ''}${param}]`\n if (optional) {\n replaced = `${!value ? '/' : ''}[${replaced}]`\n }\n if (repeat && !Array.isArray(value)) value = [value]\n\n return (\n (optional || param in dynamicMatches) &&\n // Interpolate group into data URL if present\n (interpolatedRoute =\n interpolatedRoute!.replace(\n replaced,\n repeat\n ? (value as string[])\n .map(\n // these values should be fully encoded instead of just\n // path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment) => encodeURIComponent(segment)\n )\n .join('/')\n : encodeURIComponent(value as string)\n ) || '/')\n )\n })\n ) {\n interpolatedRoute = '' // did not satisfy all requirements\n\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `` component directly.\n }\n return {\n params,\n result: interpolatedRoute,\n }\n}\n\nfunction omitParmsFromQuery(query: ParsedUrlQuery, params: string[]) {\n const filteredQuery: ParsedUrlQuery = {}\n\n Object.keys(query).forEach((key) => {\n if (!params.includes(key)) {\n filteredQuery[key] = query[key]\n }\n })\n return filteredQuery\n}\n\n/**\n * Resolves a given hyperlink with a certain router state (basePath not included).\n * Preserves absolute urls.\n */\nexport function resolveHref(\n currentPath: string,\n href: Url,\n resolveAs?: boolean\n): string {\n // we use a dummy base url for relative urls\n const base = new URL(currentPath, 'http://n')\n const urlAsString =\n typeof href === 'string' ? href : formatWithValidation(href)\n // Return because it cannot be routed by the Next.js router\n if (!isLocalURL(urlAsString)) {\n return (resolveAs ? [urlAsString] : urlAsString) as string\n }\n try {\n const finalUrl = new URL(urlAsString, base)\n finalUrl.pathname = normalizePathTrailingSlash(finalUrl.pathname)\n let interpolatedAs = ''\n\n if (\n isDynamicRoute(finalUrl.pathname) &&\n finalUrl.searchParams &&\n resolveAs\n ) {\n const query = searchParamsToUrlQuery(finalUrl.searchParams)\n\n const { result, params } = interpolateAs(\n finalUrl.pathname,\n finalUrl.pathname,\n query\n )\n\n if (result) {\n interpolatedAs = formatWithValidation({\n pathname: result,\n hash: finalUrl.hash,\n query: omitParmsFromQuery(query, params),\n })\n }\n }\n\n // if the origin didn't change, it means we received a relative href\n const resolvedHref =\n finalUrl.origin === base.origin\n ? finalUrl.href.slice(finalUrl.origin.length)\n : finalUrl.href\n\n return (resolveAs\n ? [resolvedHref, interpolatedAs || resolvedHref]\n : resolvedHref) as string\n } catch (_) {\n return (resolveAs ? [urlAsString] : urlAsString) as string\n }\n}\n\nfunction stripOrigin(url: string) {\n const origin = getLocationOrigin()\n\n return url.startsWith(origin) ? url.substring(origin.length) : url\n}\n\nfunction prepareUrlAs(router: NextRouter, url: Url, as?: Url) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = resolveHref(router.pathname, url, true)\n const origin = getLocationOrigin()\n const hrefHadOrigin = resolvedHref.startsWith(origin)\n const asHadOrigin = resolvedAs && resolvedAs.startsWith(origin)\n\n resolvedHref = stripOrigin(resolvedHref)\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs\n\n const preparedUrl = hrefHadOrigin ? resolvedHref : addBasePath(resolvedHref)\n const preparedAs = as\n ? stripOrigin(resolveHref(router.pathname, as))\n : resolvedAs || resolvedHref\n\n return {\n url: preparedUrl,\n as: asHadOrigin ? preparedAs : addBasePath(preparedAs),\n }\n}\n\nexport type BaseRouter = {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n isLocaleDomain: boolean\n}\n\nexport type NextRouter = BaseRouter &\n Pick<\n Router,\n | 'push'\n | 'replace'\n | 'reload'\n | 'back'\n | 'prefetch'\n | 'beforePopState'\n | 'events'\n | 'isFallback'\n | 'isReady'\n >\n\nexport type PrefetchOptions = {\n priority?: boolean\n locale?: string | false\n}\n\nexport type PrivateRouteInfo =\n | (Omit & { initial: true })\n | CompletePrivateRouteInfo\n\nexport type CompletePrivateRouteInfo = {\n Component: ComponentType\n styleSheets: StyleSheetTuple[]\n __N_SSG?: boolean\n __N_SSP?: boolean\n props?: Record\n err?: Error\n error?: any\n}\n\nexport type AppProps = Pick & {\n router: Router\n} & Record\nexport type AppComponent = ComponentType\n\ntype Subscription = (\n data: PrivateRouteInfo,\n App: AppComponent,\n resetScroll: { x: number; y: number } | null\n) => Promise\n\ntype BeforePopStateCallback = (state: NextHistoryState) => boolean\n\ntype ComponentLoadCancel = (() => void) | null\n\ntype HistoryMethod = 'replaceState' | 'pushState'\n\nconst manualScrollRestoration =\n process.env.__NEXT_SCROLL_RESTORATION &&\n typeof window !== 'undefined' &&\n 'scrollRestoration' in window.history &&\n !!(function () {\n try {\n let v = '__next'\n // eslint-disable-next-line no-sequences\n return sessionStorage.setItem(v, v), sessionStorage.removeItem(v), true\n } catch (n) {}\n })()\n\nconst SSG_DATA_NOT_FOUND = Symbol('SSG_DATA_NOT_FOUND')\n\nfunction fetchRetry(url: string, attempts: number): Promise {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: 'same-origin',\n }).then((res) => {\n if (!res.ok) {\n if (attempts > 1 && res.status >= 500) {\n return fetchRetry(url, attempts - 1)\n }\n if (res.status === 404) {\n return res.json().then((data) => {\n if (data.notFound) {\n return { notFound: SSG_DATA_NOT_FOUND }\n }\n throw new Error(`Failed to load static props`)\n })\n }\n throw new Error(`Failed to load static props`)\n }\n return res.json()\n })\n}\n\nfunction fetchNextData(dataHref: string, isServerRender: boolean) {\n return fetchRetry(dataHref, isServerRender ? 3 : 1).catch((err: Error) => {\n // We should only trigger a server-side transition if this was caused\n // on a client-side transition. Otherwise, we'd get into an infinite\n // loop.\n\n if (!isServerRender) {\n markAssetError(err)\n }\n throw err\n })\n}\n\nexport default class Router implements BaseRouter {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n\n /**\n * Map of all components loaded in `Router`\n */\n components: { [pathname: string]: PrivateRouteInfo }\n // Static Data Cache\n sdc: { [asPath: string]: object } = {}\n sub: Subscription\n clc: ComponentLoadCancel\n pageLoader: any\n _bps: BeforePopStateCallback | undefined\n events: MittEmitter\n _wrapApp: (App: AppComponent) => any\n isSsr: boolean\n isFallback: boolean\n _inFlightRoute?: string\n _shallow?: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n isReady: boolean\n isLocaleDomain: boolean\n\n private _idx: number = 0\n\n static events: MittEmitter = mitt()\n\n constructor(\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n {\n initialProps,\n pageLoader,\n App,\n wrapApp,\n Component,\n err,\n subscription,\n isFallback,\n locale,\n locales,\n defaultLocale,\n domainLocales,\n }: {\n subscription: Subscription\n initialProps: any\n pageLoader: any\n Component: ComponentType\n App: AppComponent\n wrapApp: (App: AppComponent) => any\n err?: Error\n isFallback: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n }\n ) {\n // represents the current component key\n this.route = removePathTrailingSlash(pathname)\n\n // set up the component cache (by route keys)\n this.components = {}\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== '/_error') {\n this.components[this.route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP,\n }\n }\n\n this.components['/_app'] = {\n Component: App as ComponentType,\n styleSheets: [\n /* /_app does not need its stylesheets managed */\n ],\n }\n\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events\n\n this.pageLoader = pageLoader\n this.pathname = pathname\n this.query = query\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic =\n isDynamicRoute(pathname) && self.__NEXT_DATA__.autoExport\n\n this.asPath = autoExportDynamic ? pathname : as\n this.basePath = basePath\n this.sub = subscription\n this.clc = null\n this._wrapApp = wrapApp\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true\n\n this.isFallback = isFallback\n\n this.isReady = !!(\n self.__NEXT_DATA__.gssp ||\n self.__NEXT_DATA__.gip ||\n (!autoExportDynamic && !self.location.search)\n )\n this.isLocaleDomain = false\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale = locale\n this.locales = locales\n this.defaultLocale = defaultLocale\n this.domainLocales = domainLocales\n this.isLocaleDomain = !!detectDomainLocale(\n domainLocales,\n self.location.hostname\n )\n }\n\n if (typeof window !== 'undefined') {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (as.substr(0, 2) !== '//') {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n this.changeState(\n 'replaceState',\n formatWithValidation({ pathname: addBasePath(pathname), query }),\n getURL(),\n { locale }\n )\n }\n\n window.addEventListener('popstate', this.onPopState)\n\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n window.history.scrollRestoration = 'manual'\n }\n }\n }\n }\n\n onPopState = (e: PopStateEvent): void => {\n const state = e.state as HistoryState\n\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this\n this.changeState(\n 'replaceState',\n formatWithValidation({ pathname: addBasePath(pathname), query }),\n getURL()\n )\n return\n }\n\n if (!state.__N) {\n return\n }\n\n let forcedScroll: { x: number; y: number } | undefined\n const { url, as, options, idx } = state\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n if (this._idx !== idx) {\n // Snapshot current scroll position:\n try {\n sessionStorage.setItem(\n '__next_scroll_' + this._idx,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n\n // Restore old scroll position:\n try {\n const v = sessionStorage.getItem('__next_scroll_' + idx)\n forcedScroll = JSON.parse(v!)\n } catch {\n forcedScroll = { x: 0, y: 0 }\n }\n }\n }\n }\n this._idx = idx\n\n const { pathname } = parseRelativeUrl(url)\n\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === this.asPath && pathname === this.pathname) {\n return\n }\n\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return\n }\n\n this.change(\n 'replaceState',\n url,\n as,\n Object.assign<{}, TransitionOptions, TransitionOptions>({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n }),\n forcedScroll\n )\n }\n\n reload(): void {\n window.location.reload()\n }\n\n /**\n * Go back in history\n */\n back() {\n window.history.back()\n }\n\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n push(url: Url, as?: Url, options: TransitionOptions = {}) {\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n // TODO: remove in the future when we update history before route change\n // is complete, as the popstate event should handle this capture.\n if (manualScrollRestoration) {\n try {\n // Snapshot scroll position right before navigating to a new page:\n sessionStorage.setItem(\n '__next_scroll_' + this._idx,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n }\n }\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('pushState', url, as, options)\n }\n\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n replace(url: Url, as?: Url, options: TransitionOptions = {}) {\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('replaceState', url, as, options)\n }\n\n private async change(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions,\n forcedScroll?: { x: number; y: number }\n ): Promise {\n if (!isLocalURL(url)) {\n window.location.href = url\n return false\n }\n\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n if ((options as any)._h) {\n this.isReady = true\n }\n\n // Default to scroll reset behavior unless explicitly specified to be\n // `false`! This makes the behavior between using `Router#push` and a\n // `` consistent.\n options.scroll = !!(options.scroll ?? true)\n\n let localeChange = options.locale !== this.locale\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale =\n options.locale === false\n ? this.defaultLocale\n : options.locale || this.locale\n\n if (typeof options.locale === 'undefined') {\n options.locale = this.locale\n }\n\n const parsedAs = parseRelativeUrl(hasBasePath(as) ? delBasePath(as) : as)\n const localePathResult = normalizeLocalePath(\n parsedAs.pathname,\n this.locales\n )\n\n if (localePathResult.detectedLocale) {\n this.locale = localePathResult.detectedLocale\n parsedAs.pathname = addBasePath(parsedAs.pathname)\n as = formatWithValidation(parsedAs)\n url = addBasePath(\n normalizeLocalePath(\n hasBasePath(url) ? delBasePath(url) : url,\n this.locales\n ).pathname\n )\n }\n let didNavigate = false\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if the locale isn't configured hard navigate to show 404 page\n if (!this.locales?.includes(this.locale!)) {\n parsedAs.pathname = addLocale(parsedAs.pathname, this.locale)\n window.location.href = formatWithValidation(parsedAs)\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n const detectedDomain = detectDomainLocale(\n this.domainLocales,\n undefined,\n this.locale\n )\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if we are navigating to a domain locale ensure we redirect to the\n // correct domain\n if (\n !didNavigate &&\n detectedDomain &&\n this.isLocaleDomain &&\n self.location.hostname !== detectedDomain.domain\n ) {\n const asNoBasePath = delBasePath(as)\n window.location.href = `http${detectedDomain.http ? '' : 's'}://${\n detectedDomain.domain\n }${addBasePath(\n `${\n this.locale === detectedDomain.defaultLocale\n ? ''\n : `/${this.locale}`\n }${asNoBasePath === '/' ? '' : asNoBasePath}` || '/'\n )}`\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n if (didNavigate) {\n return new Promise(() => {})\n }\n }\n\n if (!(options as any)._h) {\n this.isSsr = false\n }\n // marking route changes as a navigation start entry\n if (ST) {\n performance.mark('routeChange')\n }\n\n const { shallow = false } = options\n const routeProps = { shallow }\n\n if (this._inFlightRoute) {\n this.abortComponentLoad(this._inFlightRoute, routeProps)\n }\n\n as = addBasePath(\n addLocale(\n hasBasePath(as) ? delBasePath(as) : as,\n options.locale,\n this.defaultLocale\n )\n )\n const cleanedAs = delLocale(\n hasBasePath(as) ? delBasePath(as) : as,\n this.locale\n )\n this._inFlightRoute = as\n\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n if (!(options as any)._h && this.onlyAHashChange(cleanedAs)) {\n this.asPath = cleanedAs\n Router.events.emit('hashChangeStart', as, routeProps)\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, options)\n this.scrollToHash(cleanedAs)\n this.notify(this.components[this.route], null)\n Router.events.emit('hashChangeComplete', as, routeProps)\n return true\n }\n\n let parsed = parseRelativeUrl(url)\n let { pathname, query } = parsed\n\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages: any, rewrites: any\n try {\n pages = await this.pageLoader.getPageList()\n ;({ __rewrites: rewrites } = await getClientBuildManifest())\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n window.location.href = as\n return false\n }\n\n parsed = this._resolveHref(parsed, pages) as typeof parsed\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname\n url = formatWithValidation(parsed)\n }\n\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname\n ? removePathTrailingSlash(delBasePath(pathname))\n : pathname\n\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = 'replaceState'\n }\n\n let route = removePathTrailingSlash(pathname)\n\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as\n\n if (process.env.__NEXT_HAS_REWRITES && as.startsWith('/')) {\n const rewritesResult = resolveRewrites(\n addBasePath(addLocale(delBasePath(as), this.locale)),\n pages,\n rewrites,\n query,\n (p: string) => this._resolveHref({ pathname: p }, pages).pathname!,\n this.locales\n )\n resolvedAs = rewritesResult.asPath\n\n if (rewritesResult.matchedPage && rewritesResult.resolvedHref) {\n // if this directly matches a page we need to update the href to\n // allow the correct page chunk to be loaded\n route = rewritesResult.resolvedHref\n pathname = rewritesResult.resolvedHref\n parsed.pathname = pathname\n url = formatWithValidation(parsed)\n }\n }\n\n if (!isLocalURL(as)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Invalid href: \"${url}\" and as: \"${as}\", received relative href and external as` +\n `\\nSee more info: https://err.sh/next.js/invalid-relative-url-external-as`\n )\n }\n\n window.location.href = as\n return false\n }\n\n resolvedAs = delLocale(delBasePath(resolvedAs), this.locale)\n\n if (isDynamicRoute(route)) {\n const parsedAs = parseRelativeUrl(resolvedAs)\n const asPathname = parsedAs.pathname\n\n const routeRegex = getRouteRegex(route)\n const routeMatch = getRouteMatcher(routeRegex)(asPathname)\n const shouldInterpolate = route === asPathname\n const interpolatedAs = shouldInterpolate\n ? interpolateAs(route, asPathname, query)\n : ({} as { result: undefined; params: undefined })\n\n if (!routeMatch || (shouldInterpolate && !interpolatedAs.result)) {\n const missingParams = Object.keys(routeRegex.groups).filter(\n (param) => !query[param]\n )\n\n if (missingParams.length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `${\n shouldInterpolate\n ? `Interpolating href`\n : `Mismatching \\`as\\` and \\`href\\``\n } failed to manually provide ` +\n `the params: ${missingParams.join(\n ', '\n )} in the \\`href\\`'s \\`query\\``\n )\n }\n\n throw new Error(\n (shouldInterpolate\n ? `The provided \\`href\\` (${url}) value is missing query values (${missingParams.join(\n ', '\n )}) to be interpolated properly. `\n : `The provided \\`as\\` value (${asPathname}) is incompatible with the \\`href\\` value (${route}). `) +\n `Read more: https://err.sh/vercel/next.js/${\n shouldInterpolate\n ? 'href-interpolation-failed'\n : 'incompatible-href-as'\n }`\n )\n }\n } else if (shouldInterpolate) {\n as = formatWithValidation(\n Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: omitParmsFromQuery(query, interpolatedAs.params!),\n })\n )\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch)\n }\n }\n\n Router.events.emit('routeChangeStart', as, routeProps)\n\n try {\n let routeInfo = await this.getRouteInfo(\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps\n )\n let { error, props, __N_SSG, __N_SSP } = routeInfo\n\n // handle redirect on client-transition\n if ((__N_SSG || __N_SSP) && props) {\n if ((props as any).pageProps && (props as any).pageProps.__N_REDIRECT) {\n const destination = (props as any).pageProps.__N_REDIRECT\n\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith('/')) {\n const parsedHref = parseRelativeUrl(destination)\n this._resolveHref(parsedHref, pages, false)\n\n if (pages.includes(parsedHref.pathname)) {\n const { url: newUrl, as: newAs } = prepareUrlAs(\n this,\n destination,\n destination\n )\n return this.change(method, newUrl, newAs, options)\n }\n }\n\n window.location.href = destination\n return new Promise(() => {})\n }\n\n // handle SSG data 404\n if (props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute\n\n try {\n await this.fetchComponent('/404')\n notFoundRoute = '/404'\n } catch (_) {\n notFoundRoute = '/_error'\n }\n\n routeInfo = await this.getRouteInfo(\n notFoundRoute,\n notFoundRoute,\n query,\n as,\n resolvedAs,\n { shallow: false }\n )\n }\n }\n\n Router.events.emit('beforeHistoryChange', as, routeProps)\n this.changeState(method, url, as, options)\n\n if (process.env.NODE_ENV !== 'production') {\n const appComp: any = this.components['/_app'].Component\n ;(window as any).next.isPrerendered =\n appComp.getInitialProps === appComp.origGetInitialProps &&\n !(routeInfo.Component as any).getInitialProps\n }\n\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && this.route === route\n await this.set(\n route,\n pathname!,\n query,\n cleanedAs,\n routeInfo,\n forcedScroll ||\n (isValidShallowRoute || !options.scroll ? null : { x: 0, y: 0 })\n ).catch((e) => {\n if (e.cancelled) error = error || e\n else throw e\n })\n\n if (error) {\n Router.events.emit('routeChangeError', error, cleanedAs, routeProps)\n throw error\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (this.locale) {\n document.documentElement.lang = this.locale\n }\n }\n Router.events.emit('routeChangeComplete', as, routeProps)\n\n return true\n } catch (err) {\n if (err.cancelled) {\n return false\n }\n throw err\n }\n }\n\n changeState(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions = {}\n ): void {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window.history === 'undefined') {\n console.error(`Warning: window.history is not available.`)\n return\n }\n\n if (typeof window.history[method] === 'undefined') {\n console.error(`Warning: window.history.${method} is not available`)\n return\n }\n }\n\n if (method !== 'pushState' || getURL() !== as) {\n this._shallow = options.shallow\n window.history[method](\n {\n url,\n as,\n options,\n __N: true,\n idx: this._idx = method !== 'pushState' ? this._idx : this._idx + 1,\n } as HistoryState,\n // Most browsers currently ignores this parameter, although they may use it in the future.\n // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n '',\n as\n )\n }\n }\n\n async handleRouteInfoError(\n err: Error & { code: any; cancelled: boolean },\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n routeProps: RouteProperties,\n loadErrorFail?: boolean\n ): Promise {\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err\n }\n\n if (isAssetError(err) || loadErrorFail) {\n Router.events.emit('routeChangeError', err, as, routeProps)\n\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n\n // So, doing a hard reload is the proper way to deal with this.\n window.location.href = as\n\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError()\n }\n\n try {\n let Component: ComponentType\n let styleSheets: StyleSheetTuple[]\n let props: Record | undefined\n\n if (\n typeof Component! === 'undefined' ||\n typeof styleSheets! === 'undefined'\n ) {\n ;({ page: Component, styleSheets } = await this.fetchComponent(\n '/_error'\n ))\n }\n\n const routeInfo: CompletePrivateRouteInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err,\n }\n\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query,\n } as any)\n } catch (gipErr) {\n console.error('Error in error page `getInitialProps`: ', gipErr)\n routeInfo.props = {}\n }\n }\n\n return routeInfo\n } catch (routeInfoErr) {\n return this.handleRouteInfoError(\n routeInfoErr,\n pathname,\n query,\n as,\n routeProps,\n true\n )\n }\n }\n\n async getRouteInfo(\n route: string,\n pathname: string,\n query: any,\n as: string,\n resolvedAs: string,\n routeProps: RouteProperties\n ): Promise {\n try {\n const existingRouteInfo: PrivateRouteInfo | undefined = this.components[\n route\n ]\n if (routeProps.shallow && existingRouteInfo && this.route === route) {\n return existingRouteInfo\n }\n\n const cachedRouteInfo: CompletePrivateRouteInfo | undefined =\n existingRouteInfo && 'initial' in existingRouteInfo\n ? undefined\n : existingRouteInfo\n const routeInfo: CompletePrivateRouteInfo = cachedRouteInfo\n ? cachedRouteInfo\n : await this.fetchComponent(route).then((res) => ({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP,\n }))\n\n const { Component, __N_SSG, __N_SSP } = routeInfo\n\n if (process.env.NODE_ENV !== 'production') {\n const { isValidElementType } = require('react-is')\n if (!isValidElementType(Component)) {\n throw new Error(\n `The default export is not a React Component in page: \"${pathname}\"`\n )\n }\n }\n\n let dataHref: string | undefined\n\n if (__N_SSG || __N_SSP) {\n dataHref = this.pageLoader.getDataHref(\n formatWithValidation({ pathname, query }),\n resolvedAs,\n __N_SSG,\n this.locale\n )\n }\n\n const props = await this._getData(() =>\n __N_SSG\n ? this._getStaticData(dataHref!)\n : __N_SSP\n ? this._getServerData(dataHref!)\n : this.getInitialProps(\n Component,\n // we provide AppTree later so this needs to be `any`\n {\n pathname,\n query,\n asPath: as,\n } as any\n )\n )\n\n routeInfo.props = props\n this.components[route] = routeInfo\n return routeInfo\n } catch (err) {\n return this.handleRouteInfoError(err, pathname, query, as, routeProps)\n }\n }\n\n set(\n route: string,\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n data: PrivateRouteInfo,\n resetScroll: { x: number; y: number } | null\n ): Promise {\n this.isFallback = false\n\n this.route = route\n this.pathname = pathname\n this.query = query\n this.asPath = as\n return this.notify(data, resetScroll)\n }\n\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */\n beforePopState(cb: BeforePopStateCallback) {\n this._bps = cb\n }\n\n onlyAHashChange(as: string): boolean {\n if (!this.asPath) return false\n const [oldUrlNoHash, oldHash] = this.asPath.split('#')\n const [newUrlNoHash, newHash] = as.split('#')\n\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true\n }\n\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false\n }\n\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash\n }\n\n scrollToHash(as: string): void {\n const [, hash] = as.split('#')\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === '' || hash === 'top') {\n window.scrollTo(0, 0)\n return\n }\n\n // First we check if the element by id is found\n const idEl = document.getElementById(hash)\n if (idEl) {\n idEl.scrollIntoView()\n return\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(hash)[0]\n if (nameEl) {\n nameEl.scrollIntoView()\n }\n }\n\n urlIsNew(asPath: string): boolean {\n return this.asPath !== asPath\n }\n\n _resolveHref(parsedHref: UrlObject, pages: string[], applyBasePath = true) {\n const { pathname } = parsedHref\n const cleanPathname = removePathTrailingSlash(\n denormalizePagePath(applyBasePath ? delBasePath(pathname!) : pathname!)\n )\n\n if (cleanPathname === '/404' || cleanPathname === '/_error') {\n return parsedHref\n }\n\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname!)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page) => {\n if (\n isDynamicRoute(page) &&\n getRouteRegex(page).re.test(cleanPathname!)\n ) {\n parsedHref.pathname = applyBasePath ? addBasePath(page) : page\n return true\n }\n })\n }\n parsedHref.pathname = removePathTrailingSlash(parsedHref.pathname!)\n return parsedHref\n }\n\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */\n async prefetch(\n url: string,\n asPath: string = url,\n options: PrefetchOptions = {}\n ): Promise {\n let parsed = parseRelativeUrl(url)\n\n let { pathname } = parsed\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (options.locale === false) {\n pathname = normalizeLocalePath!(pathname, this.locales).pathname\n parsed.pathname = pathname\n url = formatWithValidation(parsed)\n\n let parsedAs = parseRelativeUrl(asPath)\n const localePathResult = normalizeLocalePath!(\n parsedAs.pathname,\n this.locales\n )\n parsedAs.pathname = localePathResult.pathname\n options.locale = localePathResult.detectedLocale || this.defaultLocale\n asPath = formatWithValidation(parsedAs)\n }\n }\n\n const pages = await this.pageLoader.getPageList()\n\n parsed = this._resolveHref(parsed, pages, false) as typeof parsed\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname\n url = formatWithValidation(parsed)\n }\n\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (process.env.NODE_ENV !== 'production') {\n return\n }\n\n const route = removePathTrailingSlash(pathname)\n await Promise.all([\n this.pageLoader._isSsg(url).then((isSsg: boolean) => {\n return isSsg\n ? this._getStaticData(\n this.pageLoader.getDataHref(\n url,\n asPath,\n true,\n typeof options.locale !== 'undefined'\n ? options.locale\n : this.locale\n )\n )\n : false\n }),\n this.pageLoader[options.priority ? 'loadPage' : 'prefetch'](route),\n ])\n }\n\n async fetchComponent(route: string): Promise {\n let cancelled = false\n const cancel = (this.clc = () => {\n cancelled = true\n })\n\n const componentResult = await this.pageLoader.loadPage(route)\n\n if (cancelled) {\n const error: any = new Error(\n `Abort fetching component for route: \"${route}\"`\n )\n error.cancelled = true\n throw error\n }\n\n if (cancel === this.clc) {\n this.clc = null\n }\n\n return componentResult\n }\n\n _getData(fn: () => Promise): Promise {\n let cancelled = false\n const cancel = () => {\n cancelled = true\n }\n this.clc = cancel\n return fn().then((data) => {\n if (cancel === this.clc) {\n this.clc = null\n }\n\n if (cancelled) {\n const err: any = new Error('Loading initial props cancelled')\n err.cancelled = true\n throw err\n }\n\n return data\n })\n }\n\n _getStaticData(dataHref: string): Promise {\n const { href: cacheKey } = new URL(dataHref, window.location.href)\n if (process.env.NODE_ENV === 'production' && this.sdc[cacheKey]) {\n return Promise.resolve(this.sdc[cacheKey])\n }\n return fetchNextData(dataHref, this.isSsr).then((data) => {\n this.sdc[cacheKey] = data\n return data\n })\n }\n\n _getServerData(dataHref: string): Promise {\n return fetchNextData(dataHref, this.isSsr)\n }\n\n getInitialProps(\n Component: ComponentType,\n ctx: NextPageContext\n ): Promise {\n const { Component: App } = this.components['/_app']\n const AppTree = this._wrapApp(App as AppComponent)\n ctx.AppTree = AppTree\n return loadGetInitialProps>(App, {\n AppTree,\n Component,\n router: this,\n ctx,\n })\n }\n\n abortComponentLoad(as: string, routeProps: RouteProperties): void {\n if (this.clc) {\n Router.events.emit(\n 'routeChangeError',\n buildCancellationError(),\n as,\n routeProps\n )\n this.clc()\n this.clc = null\n }\n }\n\n notify(\n data: PrivateRouteInfo,\n resetScroll: { x: number; y: number } | null\n ): Promise {\n return this.sub(\n data,\n this.components['/_app'].Component as AppComponent,\n resetScroll\n )\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/fd/a39db7791699ddcd1b984fa0a7199e2ef6f2739b9559306faf2a35844abf8a30d2a14ac599f2e77b148f237eb075984c4882df2d9317e3036439a2376949 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/fd/a39db7791699ddcd1b984fa0a7199e2ef6f2739b9559306faf2a35844abf8a30d2a14ac599f2e77b148f237eb075984c4882df2d9317e3036439a2376949 new file mode 100644 index 00000000..4c0a76f1 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/79/fd/a39db7791699ddcd1b984fa0a7199e2ef6f2739b9559306faf2a35844abf8a30d2a14ac599f2e77b148f237eb075984c4882df2d9317e3036439a2376949 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","name","id","Ninjas"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeM,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/9a/6542a39dbe0a96909964d323134eddee5357a5c011bcd89daeb74a1201820caa0f407268bc630a61dd546d40a22c963495a616913789e16bbfb533353ef8 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/9a/6542a39dbe0a96909964d323134eddee5357a5c011bcd89daeb74a1201820caa0f407268bc630a61dd546d40a22c963495a616913789e16bbfb533353ef8 new file mode 100644 index 00000000..876358e0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/9a/6542a39dbe0a96909964d323134eddee5357a5c011bcd89daeb74a1201820caa0f407268bc630a61dd546d40a22c963495a616913789e16bbfb533353ef8 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [\"console.log('test');\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,oDAGI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n console.log('test');\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/d1/7628e01021cbb9fb0e146563acb33ca9a74ae94123cdd7e137fe4b103f8cdaa5aad72b519ab39e409eebe2ceae818503f5d99a5774c3dc63228bccf952be b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/d1/7628e01021cbb9fb0e146563acb33ca9a74ae94123cdd7e137fe4b103f8cdaa5aad72b519ab39e409eebe2ceae818503f5d99a5774c3dc63228bccf952be new file mode 100644 index 00000000..eac82de4 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7b/d1/7628e01021cbb9fb0e146563acb33ca9a74ae94123cdd7e137fe4b103f8cdaa5aad72b519ab39e409eebe2ceae818503f5d99a5774c3dc63228bccf952be @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":["\"use strict\";\n//# sourceMappingURL=noop.js.map"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/02/109355e42089d3f9422d901b08c8e56c6783ae2a420d904c46b617fd192be2b77fc14f70f5890b66c5b5f66442522e1145dfe6cb6e75fc44a28f1e722726 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/02/109355e42089d3f9422d901b08c8e56c6783ae2a420d904c46b617fd192be2b77fc14f70f5890b66c5b5f66442522e1145dfe6cb6e75fc44a28f1e722726 new file mode 100644 index 00000000..0a74b30a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/02/109355e42089d3f9422d901b08c8e56c6783ae2a420d904c46b617fd192be2b77fc14f70f5890b66c5b5f66442522e1145dfe6cb6e75fc44a28f1e722726 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nconsole.log(res);\nconsole.log(data);\nconsole.log(id);\nconsole.log('hello');\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website","console","log","res","data","id"],"mappings":";;;;;AAmBA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;AAcJK,OAAO,CAACC,GAAR,CAAYC,GAAZ;AACAF,OAAO,CAACC,GAAR,CAAYE,IAAZ;AACAH,OAAO,CAACC,GAAR,CAAYG,EAAZ;AACAJ,OAAO,CAACC,GAAR,CAAY,OAAZ;;AACF,eAAeN,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/40/ea0c711a32c0044e095787bf92b49c26c5bb1cd5c00b7eb30fe7ccc63b8275955157ecdd442988586c4372e59a6126871d20cd6f8cd8c8f01dae5bbafa78 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/40/ea0c711a32c0044e095787bf92b49c26c5bb1cd5c00b7eb30fe7ccc63b8275955157ecdd442988586c4372e59a6126871d20cd6f8cd8c8f01dae5bbafa78 new file mode 100644 index 00000000..623e34e8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7c/40/ea0c711a32c0044e095787bf92b49c26c5bb1cd5c00b7eb30fe7ccc63b8275955157ecdd442988586c4372e59a6126871d20cd6f8cd8c8f01dae5bbafa78 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\",\n _this = this;\n\nimport Link from \"next/link\";\n\nvar NotFound = function NotFound() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 46\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 31\n }, _this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = NotFound;\nexport default NotFound;\n\nvar _c;\n\n$RefreshReg$(_c, \"NotFound\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","NotFound"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACnB,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,eAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,aAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAOH,CARD;;KAAMA,Q;AAUN,eAAeA,QAAf","sourcesContent":["import Link from \"next/link\"\r\n\r\nconst NotFound = () => {\r\n return ( \r\n
\r\n

Oooops....

\r\n

That page cannot be found.

\r\n

Go back to the Homepage

\r\n
\r\n );\r\n}\r\n \r\nexport default NotFound;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7d/10/bde420edd75a4533fad35a3f18445439574176d7e9bc2cb54dd67a090bdd875d0493c026c13febc0ee02f919cc979abe0737ca3a10587d6ac60f4006c5f5 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7d/10/bde420edd75a4533fad35a3f18445439574176d7e9bc2cb54dd67a090bdd875d0493c026c13febc0ee02f919cc979abe0737ca3a10587d6ac60f4006c5f5 new file mode 100644 index 00000000..bb7ddb2e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7d/10/bde420edd75a4533fad35a3f18445439574176d7e9bc2cb54dd67a090bdd875d0493c026c13febc0ee02f919cc979abe0737ca3a10587d6ac60f4006c5f5 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nrequire(\"next/dist/build/polyfills/polyfill-nomodule\");","map":{"version":3,"sources":["../../client/polyfills.js"],"names":[],"mappings":";;AAAA,OAAA,CAAA,6CAAA,CAAA","sourcesContent":["import 'next/dist/build/polyfills/polyfill-nomodule'\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7e/fa/197cebaa4b886f38ec151e6c10c087b055d5e2a34ed99b09d7058229cfc6cb346fe2047c511c1dd45185c6a53d9ea0415b3d18a20cc7758bc65b7e53ad7e b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7e/fa/197cebaa4b886f38ec151e6c10c087b055d5e2a34ed99b09d7058229cfc6cb346fe2047c511c1dd45185c6a53d9ea0415b3d18a20cc7758bc65b7e53ad7e new file mode 100644 index 00000000..ec74a549 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7e/fa/197cebaa4b886f38ec151e6c10c087b055d5e2a34ed99b09d7058229cfc6cb346fe2047c511c1dd45185c6a53d9ea0415b3d18a20cc7758bc65b7e53ad7e @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link';\nexport const getStaticProps = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 5\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","console","log","map","ninja","id","single","name"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEH;AAAV;AADF,GAAP;AAGD,CAPM;;AASP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC7BE,EAAAA,OAAO,CAACC,GAAR,CAAYH,MAAZ;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,EAEGA,MAAM,CAACI,GAAP,CAAWC,KAAK,iBACf,QAAC,IAAD;AAAM,MAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEd,MAAM,CAACe,MAArB;AAAA,+BACE;AAAA,oBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,YADD,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAYD,CAfD;;AAiBA,eAAeL,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7f/d9/0111df7602274d228853ade7471229cb7b3f03a854433fc1c4f396457ab67bedbfb352ea34ae0dc45cd882cd5f5444ea53fd0ecba911c6d648243e67dc1d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7f/d9/0111df7602274d228853ade7471229cb7b3f03a854433fc1c4f396457ab67bedbfb352ea34ae0dc45cd882cd5f5444ea53fd0ecba911c6d648243e67dc1d new file mode 100644 index 00000000..ccfefa41 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/7f/d9/0111df7602274d228853ade7471229cb7b3f03a854433fc1c4f396457ab67bedbfb352ea34ae0dc45cd882cd5f5444ea53fd0ecba911c6d648243e67dc1d @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.markAssetError = markAssetError;\nexports.isAssetError = isAssetError;\nexports.getClientBuildManifest = getClientBuildManifest;\nexports.default = void 0;\n\nvar _getAssetPathFromRoute = _interopRequireDefault(require(\"../next-server/lib/router/utils/get-asset-path-from-route\"));\n\nvar _requestIdleCallback = require(\"./request-idle-callback\"); // 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\n\n\nconst MS_MAX_IDLE_DELAY = 3800;\n\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n\n if (entry) {\n if ('future' in entry) {\n return entry.future;\n }\n\n return Promise.resolve(entry);\n }\n\n let resolver;\n const prom = new Promise(resolve => {\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? // eslint-disable-next-line no-sequences\n generator().then(value => (resolver(value), value)) : prom;\n}\n\nfunction hasPrefetch(link) {\n try {\n link = document.createElement('link');\n return (// detect IE11 since it supports prefetch but isn't detected\n // with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports('prefetch')\n );\n } catch (_unused) {\n return false;\n }\n}\n\nconst canPrefetch = hasPrefetch();\n\nfunction prefetchViaDom(href, as, link) {\n return new Promise((res, rej) => {\n if (document.querySelector(`link[rel=\"prefetch\"][href^=\"${href}\"]`)) {\n return res();\n }\n\n link = document.createElement('link'); // The order of property assignment here is intentional:\n\n if (as) link.as = as;\n link.rel = `prefetch`;\n link.crossOrigin = process.env.__NEXT_CROSS_ORIGIN;\n link.onload = res;\n link.onerror = rej; // `href` should always be last:\n\n link.href = href;\n document.head.appendChild(link);\n });\n}\n\nconst ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR'); // TODO: unexport\n\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\n\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\n\nfunction appendScript(src, script) {\n return new Promise((resolve, reject) => {\n script = document.createElement('script'); // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n\n script.onload = resolve;\n\n script.onerror = () => reject(markAssetError(new Error(`Failed to load script: ${src}`))); // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n\n\n script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN; // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n\n script.src = src;\n document.body.appendChild(script);\n });\n}\n\nfunction idleTimeout(ms, err) {\n return new Promise((_resolve, reject) => (0, _requestIdleCallback.requestIdleCallback)(() => setTimeout(() => reject(err), ms)));\n} // TODO: stop exporting or cache the failure\n// It'd be best to stop exporting this. It's an implementation detail. We're\n// only exporting it for backwards compatibilty with the `page-loader`.\n// Only cache this response as a last resort if we cannot eliminate all other\n// code branches that use the Build Manifest Callback and push them through\n// the Route Loader interface.\n\n\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n\n const onBuildManifest = new Promise(resolve => {\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n\n self.__BUILD_MANIFEST_CB = () => {\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return Promise.race([onBuildManifest, idleTimeout(MS_MAX_IDLE_DELAY, markAssetError(new Error('Failed to load client build manifest')))]);\n}\n\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n return Promise.resolve({\n scripts: [assetPrefix + '/_next/static/chunks/pages' + encodeURI((0, _getAssetPathFromRoute.default)(route, '.js'))],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n\n return getClientBuildManifest().then(manifest => {\n if (!(route in manifest)) {\n throw markAssetError(new Error(`Failed to lookup route: ${route}`));\n }\n\n const allFiles = manifest[route].map(entry => assetPrefix + '/_next/' + encodeURI(entry));\n return {\n scripts: allFiles.filter(v => v.endsWith('.js')),\n css: allFiles.filter(v => v.endsWith('.css'))\n };\n });\n}\n\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n\n function maybeExecuteScript(src) {\n let prom = loadedScripts.get(src);\n\n if (prom) {\n return prom;\n } // Skip executing script if it's already in the DOM:\n\n\n if (document.querySelector(`script[src^=\"${src}\"]`)) {\n return Promise.resolve();\n }\n\n loadedScripts.set(src, prom = appendScript(src));\n return prom;\n }\n\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n\n if (prom) {\n return prom;\n }\n\n styleSheets.set(href, prom = fetch(href).then(res => {\n if (!res.ok) {\n throw new Error(`Failed to load stylesheet: ${href}`);\n }\n\n return res.text().then(text => ({\n href: href,\n content: text\n }));\n }).catch(err => {\n throw markAssetError(err);\n }));\n return prom;\n }\n\n return {\n whenEntrypoint(route) {\n return withFuture(route, entrypoints);\n },\n\n onEntrypoint(route, execute) {\n Promise.resolve(execute).then(fn => fn()).then(exports => ({\n component: exports && exports.default || exports,\n exports: exports\n }), err => ({\n error: err\n })).then(input => {\n const old = entrypoints.get(route);\n entrypoints.set(route, input);\n if (old && 'resolve' in old) old.resolve(input);\n });\n },\n\n loadRoute(route) {\n return withFuture(route, routes, async () => {\n try {\n const {\n scripts,\n css\n } = await getFilesForRoute(assetPrefix, route);\n const [, styles] = await Promise.all([entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)), Promise.all(css.map(fetchStyleSheet))]);\n const entrypoint = await Promise.race([this.whenEntrypoint(route), idleTimeout(MS_MAX_IDLE_DELAY, markAssetError(new Error(`Route did not complete loading: ${route}`)))]);\n const res = Object.assign({\n styles\n }, entrypoint);\n return 'error' in entrypoint ? entrypoint : res;\n } catch (err) {\n return {\n error: err\n };\n }\n });\n },\n\n prefetch(route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n\n return getFilesForRoute(assetPrefix, route).then(output => Promise.all(canPrefetch ? output.scripts.map(script => prefetchViaDom(script, 'script')) : [])).then(() => {\n (0, _requestIdleCallback.requestIdleCallback)(() => this.loadRoute(route));\n }).catch( // swallow prefetch errors\n () => {});\n }\n\n };\n}\n\nvar _default = createRouteLoader;\nexports.default = _default;","map":{"version":3,"sources":["../../client/route-loader.ts"],"names":["MS_MAX_IDLE_DELAY","entry","map","Promise","prom","resolve","resolver","future","generator","value","link","document","window","canPrefetch","hasPrefetch","href","res","process","ASSET_LOAD_ERROR","Symbol","Object","err","script","reject","markAssetError","src","setTimeout","self","onBuildManifest","cb","idleTimeout","scripts","assetPrefix","encodeURI","css","getClientBuildManifest","manifest","route","allFiles","v","entrypoints","loadedScripts","styleSheets","routes","appendScript","fetch","text","content","whenEntrypoint","withFuture","onEntrypoint","fn","exports","component","error","input","old","loadRoute","getFilesForRoute","entrypoint","prefetch","cn","navigator","output","prefetchViaDom","createRouteLoader"],"mappings":";;;;;;;;;;AAEA,IAAA,sBAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,2DAAA,CAAA,CAAA;;AACA,IAAA,oBAAA,GAAA,OAAA,CAAA,yBAAA,CAAA,C,CAEA;AACA;AACA;AACA;;;AACA,MAAMA,iBAAiB,GAAvB,IAAA;;AAmCA,SAAA,UAAA,CAAA,GAAA,EAAA,GAAA,EAAA,SAAA,EAIc;AACZ,MAAIC,KAAgC,GAAGC,GAAG,CAAHA,GAAAA,CAAvC,GAAuCA,CAAvC;;AACA,MAAA,KAAA,EAAW;AACT,QAAI,YAAJ,KAAA,EAAuB;AACrB,aAAOD,KAAK,CAAZ,MAAA;AAEF;;AAAA,WAAOE,OAAO,CAAPA,OAAAA,CAAP,KAAOA,CAAP;AAEF;;AAAA,MAAA,QAAA;AACA,QAAMC,IAAgB,GAAG,IAAA,OAAA,CAAgBC,OAAD,IAAa;AACnDC,IAAAA,QAAQ,GAARA,OAAAA;AADF,GAAyB,CAAzB;AAGAJ,EAAAA,GAAG,CAAHA,GAAAA,CAAAA,GAAAA,EAAcD,KAAK,GAAG;AAAEI,IAAAA,OAAO,EAAT,QAAA;AAAsBE,IAAAA,MAAM,EAAlDL;AAAsB,GAAtBA;AACA,SAAOM,SAAS,GACZ;AACAA,EAAAA,SAAS,GAATA,IAAAA,CAAkBC,KAAD,KAAYH,QAAQ,CAARA,KAAQ,CAARA,EAFjB,KAEK,CAAjBE,CAFY,GAAhB,IAAA;AAaF;;AAAA,SAAA,WAAA,CAAA,IAAA,EAAsD;AACpD,MAAI;AACFE,IAAAA,IAAI,GAAGC,QAAQ,CAARA,aAAAA,CAAPD,MAAOC,CAAPD;AACA,WACE;AACA;AACC,OAAC,CAACE,MAAM,CAAR,oBAAA,IAAiC,CAAC,CAAED,QAAD,CAApC,YAAC,IACDD,IAAI,CAAJA,OAAAA,CAAAA,QAAAA,CAJF,UAIEA;AAJF;AAMA,GARF,CAQE,OAAA,OAAA,EAAM;AACN,WAAA,KAAA;AAEH;AAED;;AAAA,MAAMG,WAAoB,GAAGC,WAA7B,EAAA;;AAEA,SAAA,cAAA,CAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAIgB;AACd,SAAO,IAAA,OAAA,CAAY,CAAA,GAAA,EAAA,GAAA,KAAc;AAC/B,QAAIH,QAAQ,CAARA,aAAAA,CAAwB,+BAA8BI,IAA1D,IAAIJ,CAAJ,EAAqE;AACnE,aAAOK,GAAP,EAAA;AAGFN;;AAAAA,IAAAA,IAAI,GAAGC,QAAQ,CAARA,aAAAA,CAAPD,MAAOC,CAAPD,CAL+B,CAO/B;;AACA,QAAA,EAAA,EAAQA,IAAI,CAAJA,EAAAA,GAAAA,EAAAA;AACRA,IAAAA,IAAI,CAAJA,GAAAA,GAAAA,UAAAA;AACAA,IAAAA,IAAI,CAAJA,WAAAA,GAAoBO,OAAO,CAAPA,GAAAA,CAApBP,mBAAAA;AACAA,IAAAA,IAAI,CAAJA,MAAAA,GAAAA,GAAAA;AACAA,IAAAA,IAAI,CAAJA,OAAAA,GAAAA,GAAAA,CAZ+B,CAc/B;;AACAA,IAAAA,IAAI,CAAJA,IAAAA,GAAAA,IAAAA;AAEAC,IAAAA,QAAQ,CAARA,IAAAA,CAAAA,WAAAA,CAAAA,IAAAA;AAjBF,GAAO,CAAP;AAqBF;;AAAA,MAAMO,gBAAgB,GAAGC,MAAM,CAA/B,kBAA+B,CAA/B,C,CACA;;AACO,SAAA,cAAA,CAAA,GAAA,EAA2C;AAChD,SAAOC,MAAM,CAANA,cAAAA,CAAAA,GAAAA,EAAAA,gBAAAA,EAAP,EAAOA,CAAP;AAGK;;AAAA,SAAA,YAAA,CAAA,GAAA,EAAwD;AAC7D,SAAOC,GAAG,IAAIH,gBAAgB,IAA9B,GAAA;AAGF;;AAAA,SAAA,YAAA,CAAA,GAAA,EAAA,MAAA,EAGoB;AAClB,SAAO,IAAA,OAAA,CAAY,CAAA,OAAA,EAAA,MAAA,KAAqB;AACtCI,IAAAA,MAAM,GAAGX,QAAQ,CAARA,aAAAA,CAATW,QAASX,CAATW,CADsC,CAGtC;AACA;AACA;;AACAA,IAAAA,MAAM,CAANA,MAAAA,GAAAA,OAAAA;;AACAA,IAAAA,MAAM,CAANA,OAAAA,GAAiB,MACfC,MAAM,CAACC,cAAc,CAAC,IAAA,KAAA,CAAW,0BAAyBC,GAD5DH,EACwB,CAAD,CAAf,CADRA,CAPsC,CAUtC;AACA;;;AACAA,IAAAA,MAAM,CAANA,WAAAA,GAAqBL,OAAO,CAAPA,GAAAA,CAArBK,mBAAAA,CAZsC,CActC;AACA;;AACAA,IAAAA,MAAM,CAANA,GAAAA,GAAAA,GAAAA;AACAX,IAAAA,QAAQ,CAARA,IAAAA,CAAAA,WAAAA,CAAAA,MAAAA;AAjBF,GAAO,CAAP;AAqBF;;AAAA,SAAA,WAAA,CAAA,EAAA,EAAA,GAAA,EAA4D;AAC1D,SAAO,IAAA,OAAA,CAAY,CAAA,QAAA,EAAA,MAAA,KACjB,CAAA,GAAA,oBAAA,CAAA,mBAAA,EAAoB,MAAMe,UAAU,CAAC,MAAMH,MAAM,CAAb,GAAa,CAAb,EADtC,EACsC,CAApC,CADK,CAAP;AAKF,C,CAAA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAA,sBAAA,GAAgE;AACrE,MAAII,IAAI,CAAR,gBAAA,EAA2B;AACzB,WAAOxB,OAAO,CAAPA,OAAAA,CAAgBwB,IAAI,CAA3B,gBAAOxB,CAAP;AAGF;;AAAA,QAAMyB,eAA6C,GAAG,IAAA,OAAA,CAEnDvB,OAAD,IAAa;AACb;AACA,UAAMwB,EAAE,GAAGF,IAAI,CAAf,mBAAA;;AACAA,IAAAA,IAAI,CAAJA,mBAAAA,GAA2B,MAAM;AAC/BtB,MAAAA,OAAO,CAACsB,IAAI,CAAZtB,gBAAO,CAAPA;AACAwB,MAAAA,EAAE,IAAIA,EAANA,EAAAA;AAFFF,KAAAA;AALF,GAAsD,CAAtD;AAUA,SAAOxB,OAAO,CAAPA,IAAAA,CAAa,CAAA,eAAA,EAElB2B,WAAW,CAAA,iBAAA,EAETN,cAAc,CAAC,IAAA,KAAA,CAJnB,sCAImB,CAAD,CAFL,CAFO,CAAbrB,CAAP;AAaF;;AAAA,SAAA,gBAAA,CAAA,WAAA,EAAA,KAAA,EAGuB;AACrB,YAA4C;AAC1C,WAAO,OAAO,CAAP,OAAA,CAAgB;AACrB4B,MAAAA,OAAO,EAAE,CACPC,WAAW,GAAXA,4BAAAA,GAEEC,SAAS,CAAC,CAAA,GAAA,sBAAA,CAAA,OAAA,EAAA,KAAA,EAJO,KAIP,CAAD,CAHJ,CADY;AAMrB;AACAC,MAAAA,GAAG,EAPL;AAAuB,KAAhB,CAAP;AAUF;;AAAA,SAAOC,sBAAsB,GAAtBA,IAAAA,CAA+BC,QAAD,IAAc;AACjD,QAAI,EAAEC,KAAK,IAAX,QAAI,CAAJ,EAA0B;AACxB,YAAMb,cAAc,CAAC,IAAA,KAAA,CAAW,2BAA0Ba,KAA1D,EAAqB,CAAD,CAApB;AAEF;;AAAA,UAAMC,QAAQ,GAAGF,QAAQ,CAARA,KAAQ,CAARA,CAAAA,GAAAA,CACdnC,KAAD,IAAW+B,WAAW,GAAXA,SAAAA,GAA0BC,SAAS,CADhD,KACgD,CAD/BG,CAAjB;AAGA,WAAO;AACLL,MAAAA,OAAO,EAAEO,QAAQ,CAARA,MAAAA,CAAiBC,CAAD,IAAOA,CAAC,CAADA,QAAAA,CAD3B,KAC2BA,CAAvBD,CADJ;AAELJ,MAAAA,GAAG,EAAEI,QAAQ,CAARA,MAAAA,CAAiBC,CAAD,IAAOA,CAAC,CAADA,QAAAA,CAF9B,MAE8BA,CAAvBD;AAFA,KAAP;AAPF,GAAOH,CAAP;AAcF;;AAAA,SAAA,iBAAA,CAAA,WAAA,EAA6D;AAC3D,QAAMK,WAGL,GAAG,IAHJ,GAGI,EAHJ;AAIA,QAAMC,aAA4C,GAAG,IAArD,GAAqD,EAArD;AACA,QAAMC,WAAkD,GAAG,IAA3D,GAA2D,EAA3D;AACA,QAAMC,MAGL,GAAG,IAHJ,GAGI,EAHJ;;AAKA,WAAA,kBAAA,CAAA,GAAA,EAA2D;AACzD,QAAIvC,IAAkC,GAAGqC,aAAa,CAAbA,GAAAA,CAAzC,GAAyCA,CAAzC;;AACA,QAAA,IAAA,EAAU;AACR,aAAA,IAAA;AAGF,KANyD,CAMzD;;;AACA,QAAI9B,QAAQ,CAARA,aAAAA,CAAwB,gBAAec,GAA3C,IAAId,CAAJ,EAAqD;AACnD,aAAOR,OAAO,CAAd,OAAOA,EAAP;AAGFsC;;AAAAA,IAAAA,aAAa,CAAbA,GAAAA,CAAAA,GAAAA,EAAwBrC,IAAI,GAAGwC,YAAY,CAA3CH,GAA2C,CAA3CA;AACA,WAAA,IAAA;AAGF;;AAAA,WAAA,eAAA,CAAA,IAAA,EAAiE;AAC/D,QAAIrC,IAA0C,GAAGsC,WAAW,CAAXA,GAAAA,CAAjD,IAAiDA,CAAjD;;AACA,QAAA,IAAA,EAAU;AACR,aAAA,IAAA;AAGFA;;AAAAA,IAAAA,WAAW,CAAXA,GAAAA,CAAAA,IAAAA,EAEGtC,IAAI,GAAGyC,KAAK,CAALA,IAAK,CAALA,CAAAA,IAAAA,CACC7B,GAAD,IAAS;AACb,UAAI,CAACA,GAAG,CAAR,EAAA,EAAa;AACX,cAAM,IAAA,KAAA,CAAW,8BAA6BD,IAA9C,EAAM,CAAN;AAEF;;AAAA,aAAOC,GAAG,CAAHA,IAAAA,GAAAA,IAAAA,CAAiB8B,IAAD,KAAW;AAAE/B,QAAAA,IAAI,EAAN,IAAA;AAAcgC,QAAAA,OAAO,EAAvD;AAAkC,OAAX,CAAhB/B,CAAP;AALI6B,KAAAA,EAAAA,KAAAA,CAOExB,GAAD,IAAS;AACd,YAAMG,cAAc,CAApB,GAAoB,CAApB;AAVNkB,KAEUG,CAFVH;AAaA,WAAA,IAAA;AAGF;;AAAA,SAAO;AACLM,IAAAA,cAAc,CAAA,KAAA,EAAgB;AAC5B,aAAOC,UAAU,CAAA,KAAA,EAAjB,WAAiB,CAAjB;AAFG,KAAA;;AAILC,IAAAA,YAAY,CAAA,KAAA,EAAA,OAAA,EAAwC;AAClD/C,MAAAA,OAAO,CAAPA,OAAAA,CAAAA,OAAAA,EAAAA,IAAAA,CACSgD,EAAD,IAAQA,EADhBhD,EAAAA,EAAAA,IAAAA,CAGKiD,OAAD,KAAmB;AACjBC,QAAAA,SAAS,EAAGD,OAAO,IAAIA,OAAO,CAAnB,OAACA,IADK,OAAA;AAEjBA,QAAAA,OAAO,EALbjD;AAGuB,OAAnB,CAHJA,EAOKkB,GAAD,KAAU;AAAEiC,QAAAA,KAAK,EAPrBnD;AAOc,OAAV,CAPJA,EAAAA,IAAAA,CASSoD,KAAD,IAA4B;AAChC,cAAMC,GAAG,GAAGhB,WAAW,CAAXA,GAAAA,CAAZ,KAAYA,CAAZ;AACAA,QAAAA,WAAW,CAAXA,GAAAA,CAAAA,KAAAA,EAAAA,KAAAA;AACA,YAAIgB,GAAG,IAAI,aAAX,GAAA,EAA6BA,GAAG,CAAHA,OAAAA,CAAAA,KAAAA;AAZjCrD,OAAAA;AALG,KAAA;;AAoBLsD,IAAAA,SAAS,CAAA,KAAA,EAAgB;AACvB,aAAOR,UAAU,CAAA,KAAA,EAAA,MAAA,EAAkC,YAAY;AAC7D,YAAI;AACF,gBAAM;AAAA,YAAA,OAAA;AAAA,YAAA;AAAA,cAAmB,MAAMS,gBAAgB,CAAA,WAAA,EAA/C,KAA+C,CAA/C;AACA,gBAAM,GAAA,MAAA,IAAa,MAAMvD,OAAO,CAAPA,GAAAA,CAAY,CACnCqC,WAAW,CAAXA,GAAAA,CAAAA,KAAAA,IAAAA,EAAAA,GAEIrC,OAAO,CAAPA,GAAAA,CAAY4B,OAAO,CAAPA,GAAAA,CAHmB,kBAGnBA,CAAZ5B,CAH+B,EAInCA,OAAO,CAAPA,GAAAA,CAAY+B,GAAG,CAAHA,GAAAA,CAJd,eAIcA,CAAZ/B,CAJmC,CAAZA,CAAzB;AAOA,gBAAMwD,UAA2B,GAAG,MAAMxD,OAAO,CAAPA,IAAAA,CAAa,CACrD,KAAA,cAAA,CADqD,KACrD,CADqD,EAErD2B,WAAW,CAAA,iBAAA,EAETN,cAAc,CACZ,IAAA,KAAA,CAAW,mCAAkCa,KALnD,EAKM,CADY,CAFL,CAF0C,CAAblC,CAA1C;AASA,gBAAMa,GAAqB,GAAGI,MAAM,CAANA,MAAAA,CAG5B;AAH4BA,YAAAA;AAG5B,WAH4BA,EAA9B,UAA8BA,CAA9B;AAIA,iBAAO,WAAA,UAAA,GAAA,UAAA,GAAP,GAAA;AACA,SAvBF,CAuBE,OAAA,GAAA,EAAY;AACZ,iBAAO;AAAEkC,YAAAA,KAAK,EAAd;AAAO,WAAP;AAEH;AA3BD,OAAiB,CAAjB;AArBG,KAAA;;AAkDLM,IAAAA,QAAQ,CAAA,KAAA,EAA+B;AACrC;AACA;AACA,UAAA,EAAA;;AACA,UAAKC,EAAE,GAAIC,SAAD,CAAV,UAAA,EAA0C;AACxC;AACA,YAAID,EAAE,CAAFA,QAAAA,IAAe,KAAA,IAAA,CAAUA,EAAE,CAA/B,aAAmB,CAAnB,EAAgD,OAAO1D,OAAO,CAAd,OAAOA,EAAP;AAElD;;AAAA,aAAO,gBAAgB,CAAA,WAAA,EAAhB,KAAgB,CAAhB,CAAA,IAAA,CACE4D,MAAD,IACJ5D,OAAO,CAAPA,GAAAA,CACEU,WAAW,GACPkD,MAAM,CAANA,OAAAA,CAAAA,GAAAA,CAAoBzC,MAAD,IAAY0C,cAAc,CAAA,MAAA,EADtC,QACsC,CAA7CD,CADO,GAHV,EAEH5D,CAFG,EAAA,IAAA,CAQC,MAAM;AACV,SAAA,GAAA,oBAAA,CAAA,mBAAA,EAAoB,MAAM,KAAA,SAAA,CAA1B,KAA0B,CAA1B;AATG,OAAA,EAAA,KAAA,EAYH;AACA,YAAM,CAbV,CAAO,CAAP;AA1DJ;;AAAO,GAAP;;;eA6Ea8D,iB","sourcesContent":["import { ComponentType } from 'react'\nimport { ClientBuildManifest } from '../build/webpack/plugins/build-manifest-plugin'\nimport getAssetPathFromRoute from '../next-server/lib/router/utils/get-asset-path-from-route'\nimport { requestIdleCallback } from './request-idle-callback'\n\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800\n\ndeclare global {\n interface Window {\n __BUILD_MANIFEST?: ClientBuildManifest\n __BUILD_MANIFEST_CB?: Function\n }\n}\n\nexport interface LoadedEntrypointSuccess {\n component: ComponentType\n exports: any\n}\nexport interface LoadedEntrypointFailure {\n error: unknown\n}\nexport type RouteEntrypoint = LoadedEntrypointSuccess | LoadedEntrypointFailure\n\nexport interface RouteStyleSheet {\n href: string\n content: string\n}\n\nexport interface LoadedRouteSuccess extends LoadedEntrypointSuccess {\n styles: RouteStyleSheet[]\n}\nexport interface LoadedRouteFailure {\n error: unknown\n}\nexport type RouteLoaderEntry = LoadedRouteSuccess | LoadedRouteFailure\n\nexport type Future = {\n resolve: (entrypoint: V) => void\n future: Promise\n}\nfunction withFuture(\n key: string,\n map: Map | T>,\n generator?: () => Promise\n): Promise {\n let entry: Future | T | undefined = map.get(key)\n if (entry) {\n if ('future' in entry) {\n return entry.future\n }\n return Promise.resolve(entry)\n }\n let resolver: (entrypoint: T) => void\n const prom: Promise = new Promise((resolve) => {\n resolver = resolve\n })\n map.set(key, (entry = { resolve: resolver!, future: prom }))\n return generator\n ? // eslint-disable-next-line no-sequences\n generator().then((value) => (resolver(value), value))\n : prom\n}\n\nexport interface RouteLoader {\n whenEntrypoint(route: string): Promise\n onEntrypoint(route: string, execute: () => unknown): void\n loadRoute(route: string): Promise\n prefetch(route: string): Promise\n}\n\nfunction hasPrefetch(link?: HTMLLinkElement): boolean {\n try {\n link = document.createElement('link')\n return (\n // detect IE11 since it supports prefetch but isn't detected\n // with relList.support\n (!!window.MSInputMethodContext && !!(document as any).documentMode) ||\n link.relList.supports('prefetch')\n )\n } catch {\n return false\n }\n}\n\nconst canPrefetch: boolean = hasPrefetch()\n\nfunction prefetchViaDom(\n href: string,\n as: string,\n link?: HTMLLinkElement\n): Promise {\n return new Promise((res, rej) => {\n if (document.querySelector(`link[rel=\"prefetch\"][href^=\"${href}\"]`)) {\n return res()\n }\n\n link = document.createElement('link')\n\n // The order of property assignment here is intentional:\n if (as) link!.as = as\n link!.rel = `prefetch`\n link!.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n link!.onload = res\n link!.onerror = rej\n\n // `href` should always be last:\n link!.href = href\n\n document.head.appendChild(link)\n })\n}\n\nconst ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR')\n// TODO: unexport\nexport function markAssetError(err: Error): Error {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {})\n}\n\nexport function isAssetError(err?: Error): boolean | undefined {\n return err && ASSET_LOAD_ERROR in err\n}\n\nfunction appendScript(\n src: string,\n script?: HTMLScriptElement\n): Promise {\n return new Promise((resolve, reject) => {\n script = document.createElement('script')\n\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve\n script.onerror = () =>\n reject(markAssetError(new Error(`Failed to load script: ${src}`)))\n\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN!\n\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src\n document.body.appendChild(script)\n })\n}\n\nfunction idleTimeout(ms: number, err: Error): Promise {\n return new Promise((_resolve, reject) =>\n requestIdleCallback(() => setTimeout(() => reject(err), ms))\n )\n}\n\n// TODO: stop exporting or cache the failure\n// It'd be best to stop exporting this. It's an implementation detail. We're\n// only exporting it for backwards compatibilty with the `page-loader`.\n// Only cache this response as a last resort if we cannot eliminate all other\n// code branches that use the Build Manifest Callback and push them through\n// the Route Loader interface.\nexport function getClientBuildManifest(): Promise {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST)\n }\n\n const onBuildManifest: Promise = new Promise<\n ClientBuildManifest\n >((resolve) => {\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB\n self.__BUILD_MANIFEST_CB = () => {\n resolve(self.__BUILD_MANIFEST)\n cb && cb()\n }\n })\n return Promise.race([\n onBuildManifest,\n idleTimeout(\n MS_MAX_IDLE_DELAY,\n markAssetError(new Error('Failed to load client build manifest'))\n ),\n ])\n}\n\ninterface RouteFiles {\n scripts: string[]\n css: string[]\n}\nfunction getFilesForRoute(\n assetPrefix: string,\n route: string\n): Promise {\n if (process.env.NODE_ENV === 'development') {\n return Promise.resolve({\n scripts: [\n assetPrefix +\n '/_next/static/chunks/pages' +\n encodeURI(getAssetPathFromRoute(route, '.js')),\n ],\n // Styles are handled by `style-loader` in development:\n css: [],\n })\n }\n return getClientBuildManifest().then((manifest) => {\n if (!(route in manifest)) {\n throw markAssetError(new Error(`Failed to lookup route: ${route}`))\n }\n const allFiles = manifest[route].map(\n (entry) => assetPrefix + '/_next/' + encodeURI(entry)\n )\n return {\n scripts: allFiles.filter((v) => v.endsWith('.js')),\n css: allFiles.filter((v) => v.endsWith('.css')),\n }\n })\n}\n\nfunction createRouteLoader(assetPrefix: string): RouteLoader {\n const entrypoints: Map<\n string,\n Future | RouteEntrypoint\n > = new Map()\n const loadedScripts: Map> = new Map()\n const styleSheets: Map> = new Map()\n const routes: Map<\n string,\n Future | RouteLoaderEntry\n > = new Map()\n\n function maybeExecuteScript(src: string): Promise {\n let prom: Promise | undefined = loadedScripts.get(src)\n if (prom) {\n return prom\n }\n\n // Skip executing script if it's already in the DOM:\n if (document.querySelector(`script[src^=\"${src}\"]`)) {\n return Promise.resolve()\n }\n\n loadedScripts.set(src, (prom = appendScript(src)))\n return prom\n }\n\n function fetchStyleSheet(href: string): Promise {\n let prom: Promise | undefined = styleSheets.get(href)\n if (prom) {\n return prom\n }\n\n styleSheets.set(\n href,\n (prom = fetch(href)\n .then((res) => {\n if (!res.ok) {\n throw new Error(`Failed to load stylesheet: ${href}`)\n }\n return res.text().then((text) => ({ href: href, content: text }))\n })\n .catch((err) => {\n throw markAssetError(err)\n }))\n )\n return prom\n }\n\n return {\n whenEntrypoint(route: string) {\n return withFuture(route, entrypoints)\n },\n onEntrypoint(route: string, execute: () => unknown) {\n Promise.resolve(execute)\n .then((fn) => fn())\n .then(\n (exports: any) => ({\n component: (exports && exports.default) || exports,\n exports: exports,\n }),\n (err) => ({ error: err })\n )\n .then((input: RouteEntrypoint) => {\n const old = entrypoints.get(route)\n entrypoints.set(route, input)\n if (old && 'resolve' in old) old.resolve(input)\n })\n },\n loadRoute(route: string) {\n return withFuture(route, routes, async () => {\n try {\n const { scripts, css } = await getFilesForRoute(assetPrefix, route)\n const [, styles] = await Promise.all([\n entrypoints.has(route)\n ? []\n : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet)),\n ] as const)\n\n const entrypoint: RouteEntrypoint = await Promise.race([\n this.whenEntrypoint(route),\n idleTimeout(\n MS_MAX_IDLE_DELAY,\n markAssetError(\n new Error(`Route did not complete loading: ${route}`)\n )\n ),\n ])\n const res: RouteLoaderEntry = Object.assign<\n { styles: RouteStyleSheet[] },\n RouteEntrypoint\n >({ styles }, entrypoint)\n return 'error' in entrypoint ? entrypoint : res\n } catch (err) {\n return { error: err }\n }\n })\n },\n prefetch(route: string): Promise {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn\n if ((cn = (navigator as any).connection)) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve()\n }\n return getFilesForRoute(assetPrefix, route)\n .then((output) =>\n Promise.all(\n canPrefetch\n ? output.scripts.map((script) => prefetchViaDom(script, 'script'))\n : []\n )\n )\n .then(() => {\n requestIdleCallback(() => this.loadRoute(route))\n })\n .catch(\n // swallow prefetch errors\n () => {}\n )\n },\n }\n}\n\nexport default createRouteLoader\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/82/e9/54736fe6f61b75b01e921fe47697c946cb03ac8bd0ac7f0424476ce34bc0de2784b6077bdb2002d8bed377c22f1d9b350abf94f8aa7fe9f9a05c0d746e9d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/82/e9/54736fe6f61b75b01e921fe47697c946cb03ac8bd0ac7f0424476ce34bc0de2784b6077bdb2002d8bed377c22f1d9b350abf94f8aa7fe9f9a05c0d746e9d new file mode 100644 index 00000000..ac01560c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/82/e9/54736fe6f61b75b01e921fe47697c946cb03ac8bd0ac7f0424476ce34bc0de2784b6077bdb2002d8bed377c22f1d9b350abf94f8aa7fe9f9a05c0d746e9d @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n/**\nMIT License\nCopyright (c) 2015-present, Facebook, Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\n\nvar _toConsumableArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar friendlySyntaxErrorLabel = 'Syntax error:';\n\nfunction isLikelyASyntaxError(message) {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1;\n} // Cleans up webpack error messages.\n\n\nfunction formatMessage(message) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === 'object' && message.message) {\n message = (message.moduleName ? message.moduleName + '\\n' : '') + (message.file ? message.file + '\\n' : '') + message.message;\n }\n\n var lines = message.split('\\n'); // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n\n lines = lines.filter(function (line) {\n return !/Module [A-z ]+\\(from/.test(line);\n }); // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n\n lines = lines.map(function (line) {\n var parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n\n if (!parsingError) {\n return line;\n }\n\n var _parsingError = _slicedToArray(parsingError, 4),\n errorLine = _parsingError[1],\n errorColumn = _parsingError[2],\n errorMessage = _parsingError[3];\n\n return \"\".concat(friendlySyntaxErrorLabel, \" \").concat(errorMessage, \" (\").concat(errorLine, \":\").concat(errorColumn, \")\");\n });\n message = lines.join('\\n'); // Smoosh syntax errors (commonly found in CSS)\n\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\".concat(friendlySyntaxErrorLabel, \" $3 ($1:$2)\\n\")); // Clean up export errors\n\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split('\\n'); // Remove leading newline\n\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1);\n } // Clean up file name\n\n\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1'); // Cleans up verbose \"module not found\" messages for files and packages.\n\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [lines[0], lines[1].replace('Error: ', '').replace('Module not found: Cannot find file:', 'Cannot find file:')].concat(_toConsumableArray(lines.slice(2).filter(function (line) {\n return line.indexOf(' @ ') !== 0;\n })));\n } // Add helpful message for users trying to use Sass for the first time\n\n\n if (lines[1] && lines[1].match(/Cannot find module.+node-sass/)) {\n // ./file.module.scss (<>) => ./file.module.scss\n lines[0] = lines[0].replace(/(.+) \\(.+?(?=\\?\\?).+?\\)/, '$1');\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += 'Run `npm i sass` or `yarn add sass` inside your workspace.\\n';\n lines[1] += '\\nLearn more: https://err.sh/next.js/install-sass';\n }\n\n message = lines.join('\\n'); // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, ''); // at ... ...:x:y\n\n message = message.replace(/^\\s*at\\s(\\n|$)/gm, ''); // at \n\n lines = message.split('\\n'); // Remove duplicated newlines\n\n lines = lines.filter(function (line, index, arr) {\n return index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim();\n }); // Reassemble the message\n\n message = lines.join('\\n');\n return message.trim();\n}\n\nfunction formatWebpackMessages(json) {\n var formattedErrors = json.errors.map(function (message) {\n return formatMessage(message, true);\n });\n var formattedWarnings = json.warnings.map(function (message) {\n return formatMessage(message, false);\n });\n var result = {\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n\n if (result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n }\n\n return result;\n}\n\nmodule.exports = formatWebpackMessages;","map":{"version":3,"sources":["../../../../client/dev/error-overlay/format-webpack-messages.js"],"names":["friendlySyntaxErrorLabel","message","lines","line","parsingError","errorMessage","errorLine","index","arr","formattedErrors","json","formatMessage","formattedWarnings","result","errors","warnings","module"],"mappings":"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","sourcesContent":["/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\n\nconst friendlySyntaxErrorLabel = 'Syntax error:'\n\nfunction isLikelyASyntaxError(message) {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1\n}\n\n// Cleans up webpack error messages.\nfunction formatMessage(message) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === 'object' && message.message) {\n message =\n (message.moduleName ? message.moduleName + '\\n' : '') +\n (message.file ? message.file + '\\n' : '') +\n message.message\n }\n let lines = message.split('\\n')\n\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line) => !/Module [A-z ]+\\(from/.test(line))\n\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line) => {\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(\n line\n )\n if (!parsingError) {\n return line\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError\n return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`\n })\n\n message = lines.join('\\n')\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(\n /SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g,\n `${friendlySyntaxErrorLabel} $3 ($1:$2)\\n`\n )\n // Clean up export errors\n message = message.replace(\n /^.*export '(.+?)' was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$2'.`\n )\n message = message.replace(\n /^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$2' does not contain a default export (imported as '$1').`\n )\n message = message.replace(\n /^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`\n )\n lines = message.split('\\n')\n\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1)\n }\n // Clean up file name\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1')\n\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [\n lines[0],\n lines[1]\n .replace('Error: ', '')\n .replace('Module not found: Cannot find file:', 'Cannot find file:'),\n ...lines.slice(2).filter((line) => line.indexOf(' @ ') !== 0),\n ]\n }\n\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+node-sass/)) {\n // ./file.module.scss (<>) => ./file.module.scss\n lines[0] = lines[0].replace(/(.+) \\(.+?(?=\\?\\?).+?\\)/, '$1')\n\n lines[1] =\n \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\"\n lines[1] += 'Run `npm i sass` or `yarn add sass` inside your workspace.\\n'\n lines[1] += '\\nLearn more: https://err.sh/next.js/install-sass'\n }\n\n message = lines.join('\\n')\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(\n /^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm,\n ''\n ) // at ... ...:x:y\n message = message.replace(/^\\s*at\\s(\\n|$)/gm, '') // at \n lines = message.split('\\n')\n\n // Remove duplicated newlines\n lines = lines.filter(\n (line, index, arr) =>\n index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim()\n )\n\n // Reassemble the message\n message = lines.join('\\n')\n return message.trim()\n}\n\nfunction formatWebpackMessages(json) {\n const formattedErrors = json.errors.map(function (message) {\n return formatMessage(message, true)\n })\n const formattedWarnings = json.warnings.map(function (message) {\n return formatMessage(message, false)\n })\n const result = { errors: formattedErrors, warnings: formattedWarnings }\n if (result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError)\n }\n return result\n}\n\nmodule.exports = formatWebpackMessages\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/04/b0089b41186460a515ab56635b7d913d4ac7d89a7bb867e8ec263bed6cfc813564c810bb4571b1b43b83b338ad71cff812557d5f67102b7ee44ebcc2c78e b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/04/b0089b41186460a515ab56635b7d913d4ac7d89a7bb867e8ec263bed6cfc813564c810bb4571b1b43b83b338ad71cff812557d5f67102b7ee44ebcc2c78e new file mode 100644 index 00000000..49a0a7d0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/04/b0089b41186460a515ab56635b7d913d4ac7d89a7bb867e8ec263bed6cfc813564c810bb4571b1b43b83b338ad71cff812557d5f67102b7ee44ebcc2c78e @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n // console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE/B;AAEI,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAbD;;AAeA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n// console.log(ninja);\r\n\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/df/3587737e800f8b2f41826dbe46ce788119f9473a486e8d79eb01e06d36c3693bbb17a15a6822f7bd02dca67879b6bc7026c1d87e6b053b8811e711475b53 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/df/3587737e800f8b2f41826dbe46ce788119f9473a486e8d79eb01e06d36c3693bbb17a15a6822f7bd02dca67879b6bc7026c1d87e6b053b8811e711475b53 new file mode 100644 index 00000000..a74e5f2f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/83/df/3587737e800f8b2f41826dbe46ce788119f9473a486e8d79eb01e06d36c3693bbb17a15a6822f7bd02dca67879b6bc7026c1d87e6b053b8811e711475b53 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [\"console.log('te11t');\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,qDAGI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n console.log('te11t');\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/11/446d13ae67ce90e8fc3c013d2adc37666c22afe0092708e79c62fe4b219f4bd367fdbaff0c222c5034f8964d8eb5ef549806c85569c575ed504826a4b58f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/11/446d13ae67ce90e8fc3c013d2adc37666c22afe0092708e79c62fe4b219f4bd367fdbaff0c222c5034f8964d8eb5ef549806c85569c575ed504826a4b58f new file mode 100644 index 00000000..fad47b5b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/11/446d13ae67ce90e8fc3c013d2adc37666c22afe0092708e79c62fe4b219f4bd367fdbaff0c222c5034f8964d8eb5ef549806c85569c575ed504826a4b58f @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.cancelIdleCallback = exports.requestIdleCallback = void 0;\n\nvar requestIdleCallback = typeof self !== 'undefined' && self.requestIdleCallback || function (cb) {\n var start = Date.now();\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nexports.requestIdleCallback = requestIdleCallback;\n\nvar cancelIdleCallback = typeof self !== 'undefined' && self.cancelIdleCallback || function (id) {\n return clearTimeout(id);\n};\n\nexports.cancelIdleCallback = cancelIdleCallback;","map":{"version":3,"sources":["../../client/request-idle-callback.ts"],"names":["requestIdleCallback","self","start","Date","setTimeout","cb","didTimeout","timeRemaining","Math","cancelIdleCallback","clearTimeout"],"mappings":";;;;;AAmBO,IAAMA,mBAAmB,GAC7B,OAAA,IAAA,KAAA,WAAA,IAA+BC,IAAI,CAApC,mBAAC,IACD,UAAA,EAAA,EAEkB;AAChB,MAAIC,KAAK,GAAGC,IAAI,CAAhB,GAAYA,EAAZ;AACA,SAAOC,UAAU,CAAC,YAAY;AAC5BC,IAAAA,EAAE,CAAC;AACDC,MAAAA,UAAU,EADT,KAAA;AAEDC,MAAAA,aAAa,EAAE,yBAAY;AACzB,eAAOC,IAAI,CAAJA,GAAAA,CAAAA,CAAAA,EAAY,MAAML,IAAI,CAAJA,GAAAA,KAAzB,KAAmB,CAAZK,CAAP;AAHJH;AAAG,KAAD,CAAFA;AADe,GAAA,EAAjB,CAAiB,CAAjB;AANG,CAAA;;;;AAgBA,IAAMI,kBAAkB,GAC5B,OAAA,IAAA,KAAA,WAAA,IAA+BR,IAAI,CAApC,kBAAC,IACD,UAAA,EAAA,EAAyC;AACvC,SAAOS,YAAY,CAAnB,EAAmB,CAAnB;AAHG,CAAA","sourcesContent":["type RequestIdleCallbackHandle = any\ntype RequestIdleCallbackOptions = {\n timeout: number\n}\ntype RequestIdleCallbackDeadline = {\n readonly didTimeout: boolean\n timeRemaining: () => number\n}\n\ndeclare global {\n interface Window {\n requestIdleCallback: (\n callback: (deadline: RequestIdleCallbackDeadline) => void,\n opts?: RequestIdleCallbackOptions\n ) => RequestIdleCallbackHandle\n cancelIdleCallback: (id: RequestIdleCallbackHandle) => void\n }\n}\n\nexport const requestIdleCallback =\n (typeof self !== 'undefined' && self.requestIdleCallback) ||\n function (\n cb: (deadline: RequestIdleCallbackDeadline) => void\n ): NodeJS.Timeout {\n let start = Date.now()\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start))\n },\n })\n }, 1)\n }\n\nexport const cancelIdleCallback =\n (typeof self !== 'undefined' && self.cancelIdleCallback) ||\n function (id: RequestIdleCallbackHandle) {\n return clearTimeout(id)\n }\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/32/ae37fe8b33bf2ec0232234844a179142ff2224b57a5e9c4f5e444b152788f66bcf16591676a08178e04d159e6ef2bdf108179e734304ac1df83dcbac27d0 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/32/ae37fe8b33bf2ec0232234844a179142ff2224b57a5e9c4f5e444b152788f66bcf16591676a08178e04d159e6ef2bdf108179e734304ac1df83dcbac27d0 new file mode 100644 index 00000000..9c2b937b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/32/ae37fe8b33bf2ec0232234844a179142ff2224b57a5e9c4f5e444b152788f66bcf16591676a08178e04d159e6ef2bdf108179e734304ac1df83dcbac27d0 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\",\n className: \"logo-img\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 35\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC,OAA1B;AAAkC,QAAA,SAAS,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aALJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,aAPJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAWH,CAZD;;KAAMA,M;AAcN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/64/205d1af7828030bace89e5a5cc44ce249e3b38a7c9f479f1b0fdce63258f3f3ab9b159dcac8e8b23c11b0dddddb3bce2214b92f2728138d8915ed2719737 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/64/205d1af7828030bace89e5a5cc44ce249e3b38a7c9f479f1b0fdce63258f3f3ab9b159dcac8e8b23c11b0dddddb3bce2214b92f2728138d8915ed2719737 new file mode 100644 index 00000000..933c0759 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/85/64/205d1af7828030bace89e5a5cc44ce249e3b38a7c9f479f1b0fdce63258f3f3ab9b159dcac8e8b23c11b0dddddb3bce2214b92f2728138d8915ed2719737 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.formatUrl = formatUrl;\n\nvar querystring = _interopRequireWildcard(require(\"./querystring\"));\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n} // Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nconst slashedProtocols = /https?|ftp|gopher|file/;\n\nfunction formatUrl(urlObj) {\n let {\n auth,\n hostname\n } = urlObj;\n let protocol = urlObj.protocol || '';\n let pathname = urlObj.pathname || '';\n let hash = urlObj.hash || '';\n let query = urlObj.query || '';\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : '';\n\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname);\n\n if (urlObj.port) {\n host += ':' + urlObj.port;\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query));\n }\n\n let search = urlObj.search || query && `?${query}` || '';\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash;\n if (search && search[0] !== '?') search = '?' + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace('#', '%23');\n return `${protocol}${host}${pathname}${search}${hash}`;\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/format-url.ts"],"names":["slashedProtocols","protocol","urlObj","pathname","hash","query","host","auth","encodeURIComponent","hostname","String","querystring","search"],"mappings":"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","sourcesContent":["// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport { UrlObject } from 'url'\nimport { ParsedUrlQuery } from 'querystring'\nimport * as querystring from './querystring'\n\nconst slashedProtocols = /https?|ftp|gopher|file/\n\nexport function formatUrl(urlObj: UrlObject) {\n let { auth, hostname } = urlObj\n let protocol = urlObj.protocol || ''\n let pathname = urlObj.pathname || ''\n let hash = urlObj.hash || ''\n let query = urlObj.query || ''\n let host: string | false = false\n\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''\n\n if (urlObj.host) {\n host = auth + urlObj.host\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname)\n if (urlObj.port) {\n host += ':' + urlObj.port\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query as ParsedUrlQuery))\n }\n\n let search = urlObj.search || (query && `?${query}`) || ''\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':'\n\n if (\n urlObj.slashes ||\n ((!protocol || slashedProtocols.test(protocol)) && host !== false)\n ) {\n host = '//' + (host || '')\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname\n } else if (!host) {\n host = ''\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash\n if (search && search[0] !== '?') search = '?' + search\n\n pathname = pathname.replace(/[?#]/g, encodeURIComponent)\n search = search.replace('#', '%23')\n\n return `${protocol}${host}${pathname}${search}${hash}`\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/82/cd4116fb57d15a4b4f938814b03c54813cb7211953d890013ada4d244311fdff277b44e63c079ee4d9c90b2ee22e185a224ec4c5a7a3c6789671d5e7e465 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/82/cd4116fb57d15a4b4f938814b03c54813cb7211953d890013ada4d244311fdff277b44e63c079ee4d9c90b2ee22e185a224ec4c5a7a3c6789671d5e7e465 new file mode 100644 index 00000000..c8110e7d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/82/cd4116fb57d15a4b4f938814b03c54813cb7211953d890013ada4d244311fdff277b44e63c079ee4d9c90b2ee22e185a224ec4c5a7a3c6789671d5e7e465 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.cancelIdleCallback = exports.requestIdleCallback = void 0;\n\nconst requestIdleCallback = typeof self !== 'undefined' && self.requestIdleCallback || function (cb) {\n let start = Date.now();\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nexports.requestIdleCallback = requestIdleCallback;\n\nconst cancelIdleCallback = typeof self !== 'undefined' && self.cancelIdleCallback || function (id) {\n return clearTimeout(id);\n};\n\nexports.cancelIdleCallback = cancelIdleCallback;","map":{"version":3,"sources":["../../client/request-idle-callback.ts"],"names":["requestIdleCallback","self","start","Date","setTimeout","cb","didTimeout","timeRemaining","Math","cancelIdleCallback","clearTimeout"],"mappings":";;;;;AAmBO,MAAMA,mBAAmB,GAC7B,OAAA,IAAA,KAAA,WAAA,IAA+BC,IAAI,CAApC,mBAAC,IACD,UAAA,EAAA,EAEkB;AAChB,MAAIC,KAAK,GAAGC,IAAI,CAAhB,GAAYA,EAAZ;AACA,SAAOC,UAAU,CAAC,YAAY;AAC5BC,IAAAA,EAAE,CAAC;AACDC,MAAAA,UAAU,EADT,KAAA;AAEDC,MAAAA,aAAa,EAAE,YAAY;AACzB,eAAOC,IAAI,CAAJA,GAAAA,CAAAA,CAAAA,EAAY,MAAML,IAAI,CAAJA,GAAAA,KAAzB,KAAmB,CAAZK,CAAP;AAHJH;AAAG,KAAD,CAAFA;AADe,GAAA,EAAjB,CAAiB,CAAjB;AANG,CAAA;;;;AAgBA,MAAMI,kBAAkB,GAC5B,OAAA,IAAA,KAAA,WAAA,IAA+BR,IAAI,CAApC,kBAAC,IACD,UAAA,EAAA,EAAyC;AACvC,SAAOS,YAAY,CAAnB,EAAmB,CAAnB;AAHG,CAAA","sourcesContent":["type RequestIdleCallbackHandle = any\ntype RequestIdleCallbackOptions = {\n timeout: number\n}\ntype RequestIdleCallbackDeadline = {\n readonly didTimeout: boolean\n timeRemaining: () => number\n}\n\ndeclare global {\n interface Window {\n requestIdleCallback: (\n callback: (deadline: RequestIdleCallbackDeadline) => void,\n opts?: RequestIdleCallbackOptions\n ) => RequestIdleCallbackHandle\n cancelIdleCallback: (id: RequestIdleCallbackHandle) => void\n }\n}\n\nexport const requestIdleCallback =\n (typeof self !== 'undefined' && self.requestIdleCallback) ||\n function (\n cb: (deadline: RequestIdleCallbackDeadline) => void\n ): NodeJS.Timeout {\n let start = Date.now()\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start))\n },\n })\n }, 1)\n }\n\nexport const cancelIdleCallback =\n (typeof self !== 'undefined' && self.cancelIdleCallback) ||\n function (id: RequestIdleCallbackHandle) {\n return clearTimeout(id)\n }\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/a8/ac16557b757a0826bfe83762880131cbf35d65a5e589254299daa89eacdb8b565e4cc8e8bf6b55cca3874fbaa88b455df14a5b2deeb5a5e88362723f217c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/a8/ac16557b757a0826bfe83762880131cbf35d65a5e589254299daa89eacdb8b565e4cc8e8bf6b55cca3874fbaa88b455df14a5b2deeb5a5e88362723f217c new file mode 100644 index 00000000..6281a0c8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/86/a8/ac16557b757a0826bfe83762880131cbf35d65a5e589254299daa89eacdb8b565e4cc8e8bf6b55cca3874fbaa88b455df14a5b2deeb5a5e88362723f217c @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n};\nconsole.log({\n ninja\n}); // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","console","log","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM;AAiBKC,OAAO,CAACC,GAAR,CAAY;AAACN,EAAAA;AAAD,CAAZ,E,CAGZ;;AACA,OAAO,MAAMO,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMN,EAAE,GAAGM,OAAO,CAACP,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHY,IAAAA,KAAK,EAAE;AAAET,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMc,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n console.log({ninja});\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/87/81/2aacc0c20290bc32260527af451bf9d3d5ae544b0a8720fe4db2e2cde3a1a1a87133c9cb7f780c06ca864879fbaaa7e61976c5db1cb7d242c04d7224520c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/87/81/2aacc0c20290bc32260527af451bf9d3d5ae544b0a8720fe4db2e2cde3a1a1a87133c9cb7f780c06ca864879fbaaa7e61976c5db1cb7d242c04d7224520c new file mode 100644 index 00000000..9c84dcc2 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/87/81/2aacc0c20290bc32260527af451bf9d3d5ae544b0a8720fe4db2e2cde3a1a1a87133c9cb7f780c06ca864879fbaaa7e61976c5db1cb7d242c04d7224520c @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.getEventSourceWrapper = getEventSourceWrapper;\nvar eventCallbacks = [];\n\nfunction EventSourceWrapper(options) {\n var source;\n var lastActivity = new Date();\n var listeners = [];\n\n if (!options.timeout) {\n options.timeout = 20 * 1000;\n }\n\n init();\n var timer = setInterval(function () {\n if (new Date() - lastActivity > options.timeout) {\n handleDisconnect();\n }\n }, options.timeout / 2);\n\n function init() {\n source = new window.EventSource(options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onmessage = handleMessage;\n }\n\n function handleOnline() {\n if (options.log) console.log('[HMR] connected');\n lastActivity = new Date();\n }\n\n function handleMessage(event) {\n lastActivity = new Date();\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i](event);\n }\n\n eventCallbacks.forEach(function (cb) {\n if (!cb.unfiltered && event.data.indexOf('action') === -1) return;\n cb(event);\n });\n }\n\n function handleDisconnect() {\n clearInterval(timer);\n source.close();\n setTimeout(init, options.timeout);\n }\n\n return {\n close: function close() {\n clearInterval(timer);\n source.close();\n },\n addMessageListener: function addMessageListener(fn) {\n listeners.push(fn);\n }\n };\n}\n\n_c = EventSourceWrapper;\n\nfunction getEventSourceWrapper(options) {\n if (!options.ondemand) {\n return {\n addMessageListener: function addMessageListener(cb) {\n eventCallbacks.push(cb);\n }\n };\n }\n\n return EventSourceWrapper(options);\n}\n\nvar _c;\n\n$RefreshReg$(_c, \"EventSourceWrapper\");","map":{"version":3,"sources":["../../../../client/dev/error-overlay/eventsource.js"],"names":["eventCallbacks","lastActivity","listeners","options","init","timer","setInterval","handleDisconnect","source","window","console","i","cb","event","clearInterval","setTimeout","close","addMessageListener","EventSourceWrapper"],"mappings":";;;;AAAA,IAAMA,cAAc,GAApB,EAAA;;AAEA,SAAA,kBAAA,CAAA,OAAA,EAAqC;AACnC,MAAA,MAAA;AACA,MAAIC,YAAY,GAAG,IAAnB,IAAmB,EAAnB;AACA,MAAIC,SAAS,GAAb,EAAA;;AAEA,MAAI,CAACC,OAAO,CAAZ,OAAA,EAAsB;AACpBA,IAAAA,OAAO,CAAPA,OAAAA,GAAkB,KAAlBA,IAAAA;AAGFC;;AAAAA,EAAAA,IAAI;AACJ,MAAIC,KAAK,GAAGC,WAAW,CAAC,YAAY;AAClC,QAAI,IAAA,IAAA,KAAA,YAAA,GAA4BH,OAAO,CAAvC,OAAA,EAAiD;AAC/CI,MAAAA,gBAAgB;AAEnB;AAJsB,GAAA,EAIpBJ,OAAO,CAAPA,OAAAA,GAJH,CAAuB,CAAvB;;AAMA,WAAA,IAAA,GAAgB;AACdK,IAAAA,MAAM,GAAG,IAAIC,MAAM,CAAV,WAAA,CAAuBN,OAAO,CAAvCK,IAAS,CAATA;AACAA,IAAAA,MAAM,CAANA,MAAAA,GAAAA,YAAAA;AACAA,IAAAA,MAAM,CAANA,OAAAA,GAAAA,gBAAAA;AACAA,IAAAA,MAAM,CAANA,SAAAA,GAAAA,aAAAA;AAGF;;AAAA,WAAA,YAAA,GAAwB;AACtB,QAAIL,OAAO,CAAX,GAAA,EAAiBO,OAAO,CAAPA,GAAAA,CAAAA,iBAAAA;AACjBT,IAAAA,YAAY,GAAG,IAAfA,IAAe,EAAfA;AAGF;;AAAA,WAAA,aAAA,CAAA,KAAA,EAA8B;AAC5BA,IAAAA,YAAY,GAAG,IAAfA,IAAe,EAAfA;;AACA,SAAK,IAAIU,CAAC,GAAV,CAAA,EAAgBA,CAAC,GAAGT,SAAS,CAA7B,MAAA,EAAsCS,CAAtC,EAAA,EAA2C;AACzCT,MAAAA,SAAS,CAATA,CAAS,CAATA,CAAAA,KAAAA;AAGFF;;AAAAA,IAAAA,cAAc,CAAdA,OAAAA,CAAwBY,UAAAA,EAAD,EAAQ;AAC7B,UAAI,CAACA,EAAE,CAAH,UAAA,IAAkBC,KAAK,CAALA,IAAAA,CAAAA,OAAAA,CAAAA,QAAAA,MAAiC,CAAvD,CAAA,EAA2D;AAC3DD,MAAAA,EAAE,CAAFA,KAAE,CAAFA;AAFFZ,KAAAA;AAMF;;AAAA,WAAA,gBAAA,GAA4B;AAC1Bc,IAAAA,aAAa,CAAbA,KAAa,CAAbA;AACAN,IAAAA,MAAM,CAANA,KAAAA;AACAO,IAAAA,UAAU,CAAA,IAAA,EAAOZ,OAAO,CAAxBY,OAAU,CAAVA;AAGF;;AAAA,SAAO;AACLC,IAAAA,KAAK,EAAE,iBAAM;AACXF,MAAAA,aAAa,CAAbA,KAAa,CAAbA;AACAN,MAAAA,MAAM,CAANA,KAAAA;AAHG,KAAA;AAKLS,IAAAA,kBAAkB,EAAE,4BAAA,EAAA,EAAc;AAChCf,MAAAA,SAAS,CAATA,IAAAA,CAAAA,EAAAA;AANJ;AAAO,GAAP;AAWK;;KAzDP,kB;;AAyDO,SAAA,qBAAA,CAAA,OAAA,EAAwC;AAC7C,MAAI,CAACC,OAAO,CAAZ,QAAA,EAAuB;AACrB,WAAO;AACLc,MAAAA,kBAAkB,EAAGL,4BAAAA,EAAD,EAAQ;AAC1BZ,QAAAA,cAAc,CAAdA,IAAAA,CAAAA,EAAAA;AAFJ;AAAO,KAAP;AAMF;;AAAA,SAAOkB,kBAAkB,CAAzB,OAAyB,CAAzB;AACD","sourcesContent":["const eventCallbacks = []\n\nfunction EventSourceWrapper(options) {\n var source\n var lastActivity = new Date()\n var listeners = []\n\n if (!options.timeout) {\n options.timeout = 20 * 1000\n }\n\n init()\n var timer = setInterval(function () {\n if (new Date() - lastActivity > options.timeout) {\n handleDisconnect()\n }\n }, options.timeout / 2)\n\n function init() {\n source = new window.EventSource(options.path)\n source.onopen = handleOnline\n source.onerror = handleDisconnect\n source.onmessage = handleMessage\n }\n\n function handleOnline() {\n if (options.log) console.log('[HMR] connected')\n lastActivity = new Date()\n }\n\n function handleMessage(event) {\n lastActivity = new Date()\n for (var i = 0; i < listeners.length; i++) {\n listeners[i](event)\n }\n\n eventCallbacks.forEach((cb) => {\n if (!cb.unfiltered && event.data.indexOf('action') === -1) return\n cb(event)\n })\n }\n\n function handleDisconnect() {\n clearInterval(timer)\n source.close()\n setTimeout(init, options.timeout)\n }\n\n return {\n close: () => {\n clearInterval(timer)\n source.close()\n },\n addMessageListener: function (fn) {\n listeners.push(fn)\n },\n }\n}\n\nexport function getEventSourceWrapper(options) {\n if (!options.ondemand) {\n return {\n addMessageListener: (cb) => {\n eventCallbacks.push(cb)\n },\n }\n }\n return EventSourceWrapper(options)\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/6f/748c55e436c28776616670ec0c51ca27c07b52afbcb8b0cf8d9664f2f8e1bd39e0ee4b97600df4e657ffe1a0b62ea1d9cc5e8c794a1595f4e425000a37c6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/6f/748c55e436c28776616670ec0c51ca27c07b52afbcb8b0cf8d9664f2f8e1bd39e0ee4b97600df4e657ffe1a0b62ea1d9cc5e8c794a1595f4e425000a37c6 new file mode 100644 index 00000000..90096009 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/6f/748c55e436c28776616670ec0c51ca27c07b52afbcb8b0cf8d9664f2f8e1bd39e0ee4b97600df4e657ffe1a0b62ea1d9cc5e8c794a1595f4e425000a37c6 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports[\"default\"] = connect;\n\nvar DevOverlay = _interopRequireWildcard(require(\"@next/react-dev-overlay/lib/client\"));\n\nvar _stripAnsi = _interopRequireDefault(require(\"next/dist/compiled/strip-ansi\"));\n\nvar _eventsource = require(\"./eventsource\");\n\nvar _formatWebpackMessages = _interopRequireDefault(require(\"./format-webpack-messages\"));\n/**\n* MIT License\n*\n* Copyright (c) 2013-present, Facebook, Inc.\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\n// This file is a modified version of the Create React App HMR dev client that\n// can be found here:\n// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js\n// This alternative WebpackDevServer combines the functionality of:\n// https://github.com/webpack/webpack-dev-server/blob/webpack-1/client/index.js\n// https://github.com/webpack/webpack/blob/webpack-1/hot/dev-server.js\n// It only supports their simplest configuration (hot updates on same server).\n// It makes some opinionated choices on top, like adding a syntax error overlay\n// that looks similar to our console output. The error overlay is inspired by:\n// https://github.com/glenjamin/webpack-hot-middleware\n\n\nvar hadRuntimeError = false;\nvar customHmrEventHandler;\n\nfunction connect(options) {\n DevOverlay.register();\n (0, _eventsource.getEventSourceWrapper)(options).addMessageListener(function (event) {\n // This is the heartbeat event\n if (event.data === \"\\uD83D\\uDC93\") {\n return;\n }\n\n try {\n processMessage(event);\n } catch (ex) {\n console.warn('Invalid HMR message: ' + event.data + '\\n' + ex);\n }\n });\n return {\n subscribeToHmrEvent: function subscribeToHmrEvent(handler) {\n customHmrEventHandler = handler;\n },\n onUnrecoverableError: function onUnrecoverableError() {\n hadRuntimeError = true;\n }\n };\n} // Remember some state related to hot module replacement.\n\n\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\n\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== 'undefined' && typeof console.clear === 'function') {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n} // Successful compilation.\n\n\nfunction handleSuccess() {\n clearOutdatedErrors();\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false; // Attempt to apply hot updates or reload.\n\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(hasUpdates);\n });\n }\n} // Compilation with warnings (e.g. ESLint).\n\n\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n\n function printWarnings() {\n // Print warnings to the console.\n var formatted = (0, _formatWebpackMessages[\"default\"])({\n warnings: warnings,\n errors: []\n });\n\n if (typeof console !== 'undefined' && typeof console.warn === 'function') {\n for (var i = 0; i < formatted.warnings.length; i++) {\n if (i === 5) {\n console.warn('There were more warnings in other files.\\n' + 'You can find a complete log in the terminal.');\n break;\n }\n\n console.warn((0, _stripAnsi[\"default\"])(formatted.warnings[i]));\n }\n }\n }\n\n printWarnings(); // Attempt to apply hot updates or reload.\n\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(hasUpdates);\n });\n }\n} // Compilation with errors (e.g. syntax error or missing modules).\n\n\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n isFirstCompilation = false;\n hasCompileErrors = true; // \"Massage\" webpack messages.\n\n var formatted = (0, _formatWebpackMessages[\"default\"])({\n errors: errors,\n warnings: []\n }); // Only show the first error.\n\n DevOverlay.onBuildError(formatted.errors[0]); // Also log them to the console.\n\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n for (var i = 0; i < formatted.errors.length; i++) {\n console.error((0, _stripAnsi[\"default\"])(formatted.errors[i]));\n }\n } // Do not attempt to reload now.\n // We will reload on next success instead.\n\n\n if (process.env.__NEXT_TEST_MODE) {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB(formatted.errors[0]);\n\n self.__NEXT_HMR_CB = null;\n }\n }\n}\n\nfunction onFastRefresh(hasUpdates) {\n DevOverlay.onBuildOk();\n\n if (hasUpdates) {\n DevOverlay.onRefresh();\n }\n\n console.log('[Fast Refresh] done');\n} // There is a newer version of the code available.\n\n\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n} // Handle messages from the server.\n\n\nfunction processMessage(e) {\n var obj = JSON.parse(e.data);\n\n switch (obj.action) {\n case 'building':\n {\n console.log('[Fast Refresh] rebuilding');\n break;\n }\n\n case 'built':\n case 'sync':\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n\n var errors = obj.errors,\n warnings = obj.warnings;\n var hasErrors = Boolean(errors && errors.length);\n\n if (hasErrors) {\n return handleErrors(errors);\n }\n\n var hasWarnings = Boolean(warnings && warnings.length);\n\n if (hasWarnings) {\n return handleWarnings(warnings);\n }\n\n return handleSuccess();\n }\n\n default:\n {\n if (customHmrEventHandler) {\n customHmrEventHandler(obj);\n break;\n }\n\n break;\n }\n }\n} // Is there a newer version of this code available?\n\n\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_hash__;\n} // Webpack disallows updates in other states.\n\n\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle';\n}\n\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n var handler = function handler(status) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(handler);\n fn();\n }\n };\n\n module.hot.addStatusHandler(handler);\n }\n} // Attempt to update code on the fly, fall back to a hard reload.\n\n\nfunction tryApplyUpdates(onHotUpdateSuccess) {\n if (!module.hot) {\n // HotModuleReplacementPlugin is not in Webpack configuration.\n console.error('HotModuleReplacementPlugin is not in Webpack configuration.'); // window.location.reload();\n\n return;\n }\n\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return;\n }\n\n function handleApplyUpdates(err, updatedModules) {\n if (err || hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn('[Fast Refresh] performing full reload\\n\\n' + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + 'You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n' + 'Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n' + 'It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n' + 'Fast Refresh requires at least one parent function component in your React tree.');\n } else if (hadRuntimeError) {\n console.warn('[Fast Refresh] performing full reload because your application had an unrecoverable error');\n }\n\n window.location.reload();\n return;\n }\n\n var hasUpdates = Boolean(updatedModules.length);\n\n if (typeof onHotUpdateSuccess === 'function') {\n // Maybe we want to do something.\n onHotUpdateSuccess(hasUpdates);\n }\n\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? undefined : onHotUpdateSuccess);\n } else {\n if (process.env.__NEXT_TEST_MODE) {\n afterApplyUpdates(function () {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB();\n\n self.__NEXT_HMR_CB = null;\n }\n });\n }\n }\n } // https://webpack.js.org/api/hot-module-replacement/#check\n\n\n module.hot.check(\n /* autoApply */\n true).then(function (updatedModules) {\n handleApplyUpdates(null, updatedModules);\n }, function (err) {\n handleApplyUpdates(err, null);\n });\n}","map":{"version":3,"sources":["../../../../client/dev/error-overlay/hot-dev-client.js"],"names":["hadRuntimeError","DevOverlay","event","processMessage","console","subscribeToHmrEvent","customHmrEventHandler","onUnrecoverableError","isFirstCompilation","mostRecentCompilationHash","hasCompileErrors","clearOutdatedErrors","isHotUpdate","tryApplyUpdates","onFastRefresh","formatted","warnings","errors","i","printWarnings","process","self","obj","JSON","e","handleAvailableHash","hasErrors","Boolean","handleErrors","hasWarnings","handleWarnings","handleSuccess","module","canApplyUpdates","fn","status","isUpdateAvailable","err","window","hasUpdates","updatedModules","onHotUpdateSuccess","afterApplyUpdates","handleApplyUpdates"],"mappings":"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","sourcesContent":["/**\n * MIT License\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n// This file is a modified version of the Create React App HMR dev client that\n// can be found here:\n// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js\n\nimport * as DevOverlay from '@next/react-dev-overlay/lib/client'\nimport stripAnsi from 'next/dist/compiled/strip-ansi'\nimport { getEventSourceWrapper } from './eventsource'\nimport formatWebpackMessages from './format-webpack-messages'\n\n// This alternative WebpackDevServer combines the functionality of:\n// https://github.com/webpack/webpack-dev-server/blob/webpack-1/client/index.js\n// https://github.com/webpack/webpack/blob/webpack-1/hot/dev-server.js\n\n// It only supports their simplest configuration (hot updates on same server).\n// It makes some opinionated choices on top, like adding a syntax error overlay\n// that looks similar to our console output. The error overlay is inspired by:\n// https://github.com/glenjamin/webpack-hot-middleware\n\nlet hadRuntimeError = false\nlet customHmrEventHandler\nexport default function connect(options) {\n DevOverlay.register()\n\n getEventSourceWrapper(options).addMessageListener((event) => {\n // This is the heartbeat event\n if (event.data === '\\uD83D\\uDC93') {\n return\n }\n try {\n processMessage(event)\n } catch (ex) {\n console.warn('Invalid HMR message: ' + event.data + '\\n' + ex)\n }\n })\n\n return {\n subscribeToHmrEvent(handler) {\n customHmrEventHandler = handler\n },\n onUnrecoverableError() {\n hadRuntimeError = true\n },\n }\n}\n\n// Remember some state related to hot module replacement.\nvar isFirstCompilation = true\nvar mostRecentCompilationHash = null\nvar hasCompileErrors = false\n\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== 'undefined' && typeof console.clear === 'function') {\n if (hasCompileErrors) {\n console.clear()\n }\n }\n}\n\n// Successful compilation.\nfunction handleSuccess() {\n clearOutdatedErrors()\n\n const isHotUpdate = !isFirstCompilation\n isFirstCompilation = false\n hasCompileErrors = false\n\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(hasUpdates)\n })\n }\n}\n\n// Compilation with warnings (e.g. ESLint).\nfunction handleWarnings(warnings) {\n clearOutdatedErrors()\n\n const isHotUpdate = !isFirstCompilation\n isFirstCompilation = false\n hasCompileErrors = false\n\n function printWarnings() {\n // Print warnings to the console.\n const formatted = formatWebpackMessages({\n warnings: warnings,\n errors: [],\n })\n\n if (typeof console !== 'undefined' && typeof console.warn === 'function') {\n for (let i = 0; i < formatted.warnings.length; i++) {\n if (i === 5) {\n console.warn(\n 'There were more warnings in other files.\\n' +\n 'You can find a complete log in the terminal.'\n )\n break\n }\n console.warn(stripAnsi(formatted.warnings[i]))\n }\n }\n }\n\n printWarnings()\n\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(hasUpdates)\n })\n }\n}\n\n// Compilation with errors (e.g. syntax error or missing modules).\nfunction handleErrors(errors) {\n clearOutdatedErrors()\n\n isFirstCompilation = false\n hasCompileErrors = true\n\n // \"Massage\" webpack messages.\n var formatted = formatWebpackMessages({\n errors: errors,\n warnings: [],\n })\n\n // Only show the first error.\n DevOverlay.onBuildError(formatted.errors[0])\n\n // Also log them to the console.\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n for (var i = 0; i < formatted.errors.length; i++) {\n console.error(stripAnsi(formatted.errors[i]))\n }\n }\n\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (process.env.__NEXT_TEST_MODE) {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB(formatted.errors[0])\n self.__NEXT_HMR_CB = null\n }\n }\n}\n\nfunction onFastRefresh(hasUpdates) {\n DevOverlay.onBuildOk()\n if (hasUpdates) {\n DevOverlay.onRefresh()\n }\n\n console.log('[Fast Refresh] done')\n}\n\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash\n}\n\n// Handle messages from the server.\nfunction processMessage(e) {\n const obj = JSON.parse(e.data)\n switch (obj.action) {\n case 'building': {\n console.log('[Fast Refresh] rebuilding')\n break\n }\n case 'built':\n case 'sync': {\n if (obj.hash) {\n handleAvailableHash(obj.hash)\n }\n\n const { errors, warnings } = obj\n const hasErrors = Boolean(errors && errors.length)\n if (hasErrors) {\n return handleErrors(errors)\n }\n\n const hasWarnings = Boolean(warnings && warnings.length)\n if (hasWarnings) {\n return handleWarnings(warnings)\n }\n\n return handleSuccess()\n }\n default: {\n if (customHmrEventHandler) {\n customHmrEventHandler(obj)\n break\n }\n break\n }\n }\n}\n\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_hash__\n}\n\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle'\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn()\n } else {\n function handler(status) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(handler)\n fn()\n }\n }\n module.hot.addStatusHandler(handler)\n }\n}\n\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onHotUpdateSuccess) {\n if (!module.hot) {\n // HotModuleReplacementPlugin is not in Webpack configuration.\n console.error('HotModuleReplacementPlugin is not in Webpack configuration.')\n // window.location.reload();\n return\n }\n\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return\n }\n\n function handleApplyUpdates(err, updatedModules) {\n if (err || hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\n '[Fast Refresh] performing full reload\\n\\n' +\n \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" +\n 'You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n' +\n 'Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n' +\n 'It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n' +\n 'Fast Refresh requires at least one parent function component in your React tree.'\n )\n } else if (hadRuntimeError) {\n console.warn(\n '[Fast Refresh] performing full reload because your application had an unrecoverable error'\n )\n }\n window.location.reload()\n return\n }\n\n const hasUpdates = Boolean(updatedModules.length)\n if (typeof onHotUpdateSuccess === 'function') {\n // Maybe we want to do something.\n onHotUpdateSuccess(hasUpdates)\n }\n\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? undefined : onHotUpdateSuccess)\n } else {\n if (process.env.__NEXT_TEST_MODE) {\n afterApplyUpdates(() => {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB()\n self.__NEXT_HMR_CB = null\n }\n })\n }\n }\n }\n\n // https://webpack.js.org/api/hot-module-replacement/#check\n module.hot.check(/* autoApply */ true).then(\n (updatedModules) => {\n handleApplyUpdates(null, updatedModules)\n },\n (err) => {\n handleApplyUpdates(err, null)\n }\n )\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/7f/ca9d99ac8160e5a01340886c94af27f70a32cae13d9afd7956d4c903ff22edf0c4254376cd7f6a23e2973eddaef2eef5f7289724da556249c630cf69166b b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/7f/ca9d99ac8160e5a01340886c94af27f70a32cae13d9afd7956d4c903ff22edf0c4254376cd7f6a23e2973eddaef2eef5f7289724da556249c630cf69166b new file mode 100644 index 00000000..2f56bd67 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/88/7f/ca9d99ac8160e5a01340886c94af27f70a32cae13d9afd7956d4c903ff22edf0c4254376cd7f6a23e2973eddaef2eef5f7289724da556249c630cf69166b @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\",\n _this = this;\n\nimport Link from 'next/link';\nimport Image from 'next/image';\n\nvar Navbar = function Navbar() {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"img\", {\n src: \"/globe.svg\",\n alt: \"Globe\",\n className: \"logo-img\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 28\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 33\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 35\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 9\n }, _this);\n};\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Image","Navbar"],"mappings":";;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BAEI;AAAK,QAAA,GAAG,EAAC,YAAT;AAAsB,QAAA,GAAG,EAAC,OAA1B;AAAkC,QAAA,SAAS,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA;AAFJ;AAAA;AAAA;AAAA;AAAA,aADJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,aANJ,eAOI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,aAPJ,eAQI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,aARJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAMA,M;AAeN,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\nimport Image from 'next/image'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/89/7e/f6a072870d848131751c9e571c25b2fb383d68d0616072ad5371cde7b11934836d36b956d765dd05c410faf4c8044f5b88a130b78d8a00e952233d929296 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/89/7e/f6a072870d848131751c9e571c25b2fb383d68d0616072ad5371cde7b11934836d36b956d765dd05c410faf4c8044f5b88a130b78d8a00e952233d929296 new file mode 100644 index 00000000..74e2d6f9 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/89/7e/f6a072870d848131751c9e571c25b2fb383d68d0616072ad5371cde7b11934836d36b956d765dd05c410faf4c8044f5b88a130b78d8a00e952233d929296 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.toBase64 = toBase64;\n/**\n* Isomorphic base64 that works on the server and client\n*/\n\nfunction toBase64(str) {\n if (false) {\n return Buffer.from(str).toString('base64');\n } else {\n return window.btoa(str);\n }\n}","map":{"version":3,"sources":["../../../next-server/lib/to-base-64.ts"],"names":["Buffer","window"],"mappings":";;;;AAAA;AACA;AACA;;AACO,SAAA,QAAA,CAAA,GAAA,EAA+B;AACpC,aAAmC;AACjC,WAAOA,MAAM,CAANA,IAAAA,CAAAA,GAAAA,EAAAA,QAAAA,CAAP,QAAOA,CAAP;AADF,GAAA,MAEO;AACL,WAAOC,MAAM,CAANA,IAAAA,CAAP,GAAOA,CAAP;AAEH;AAAA","sourcesContent":["/**\n * Isomorphic base64 that works on the server and client\n */\nexport function toBase64(str: string) {\n if (typeof window === 'undefined') {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(str)\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/8f/b3/79cf1c5e7f33f42031e369082c81a131d77af0711e193b604b987db0805c79a110fa9903a99ae8b17bf878c39b2dccd9e73867ba08315266eecf6754ca3a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/8f/b3/79cf1c5e7f33f42031e369082c81a131d77af0711e193b604b987db0805c79a110fa9903a99ae8b17bf878c39b2dccd9e73867ba08315266eecf6754ca3a new file mode 100644 index 00000000..9e4d3bc5 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/8f/b3/79cf1c5e7f33f42031e369082c81a131d77af0711e193b604b987db0805c79a110fa9903a99ae8b17bf878c39b2dccd9e73867ba08315266eecf6754ca3a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return (\n /*#__PURE__*/\n //
\n _jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.btn,\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n\n );\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home","title","text","btn"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B;AAAA;AAGM;AACA;AAAA,8BACI;AAAI,QAAA,SAAS,EAAEF,MAAM,CAACG,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADJ,eAEI;AAAG,QAAA,SAAS,EAAEH,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFJ,eAGI;AAAG,QAAA,SAAS,EAAEJ,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHJ,eAII,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,QAAX;AAAA,+BACA;AAAG,UAAA,SAAS,EAAEJ,MAAM,CAACK,GAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,cAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,YAJN,CAYE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AArEF;AAuED;KAxEuBH,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n //
\n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/10/51815f4e412c30603ac32805455337f34f5ae7b21f39d19633147cde26c15a81a8916aa73e7e340b6ca7083fa54615f5862552c75c8579b6a3540472eb68 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/10/51815f4e412c30603ac32805455337f34f5ae7b21f39d19633147cde26c15a81a8916aa73e7e340b6ca7083fa54615f5862552c75c8579b6a3540472eb68 new file mode 100644 index 00000000..f34d2080 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/10/51815f4e412c30603ac32805455337f34f5ae7b21f39d19633147cde26c15a81a8916aa73e7e340b6ca7083fa54615f5862552c75c8579b6a3540472eb68 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\n\nconst Ninja = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["Ninja"],"mappings":";;;AAAA,MAAMA,KAAK,GAAG,MAAM;AAChB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,UADJ;AAKH,CAND;;AAQA,eAAeA,KAAf","sourcesContent":["const Ninja = () => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/bd/f24da7dbb3d11bb8e9ccff083fac88a53dae2276ea01331702f1764f1938f6baca58326b80667cc200c902d364003740b4efdef6adbd9fc7e6070221ff5f b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/bd/f24da7dbb3d11bb8e9ccff083fac88a53dae2276ea01331702f1764f1938f6baca58326b80667cc200c902d364003740b4efdef6adbd9fc7e6070221ff5f new file mode 100644 index 00000000..424d9bdf --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/90/bd/f24da7dbb3d11bb8e9ccff083fac88a53dae2276ea01331702f1764f1938f6baca58326b80667cc200c902d364003740b4efdef6adbd9fc7e6070221ff5f @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), \"console.log(res); console.log(data); console.log(id); console.log('hello');\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAIH,CATM;;AAWP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,8FAMI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YANJ,eAOI;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAPJ,eAQI;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAaH,CAhBD;;AAkBA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/91/56/d00835a9addc908c25c57132c7dc77e5ae7e881b691e436c48c87b8e64f3d71569a59d0cf0bc462d9072fc76f5833ff6033ecbfd9fe28db09412ff8ff5eb b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/91/56/d00835a9addc908c25c57132c7dc77e5ae7e881b691e436c48c87b8e64f3d71569a59d0cf0bc462d9072fc76f5833ff6033ecbfd9fe28db09412ff8ff5eb new file mode 100644 index 00000000..ab73afb5 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/91/56/d00835a9addc908c25c57132c7dc77e5ae7e881b691e436c48c87b8e64f3d71569a59d0cf0bc462d9072fc76f5833ff6033ecbfd9fe28db09412ff8ff5eb @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = initializeBuildWatcher;\n\nvar _eventsource = require(\"./error-overlay/eventsource\");\n\nfunction initializeBuildWatcher(toggleCallback) {\n var shadowHost = document.createElement('div');\n shadowHost.id = '__next-build-watcher'; // Make sure container is fixed and on a high zIndex so it shows\n\n shadowHost.style.position = 'fixed';\n shadowHost.style.bottom = '10px';\n shadowHost.style.right = '20px';\n shadowHost.style.width = 0;\n shadowHost.style.height = 0;\n shadowHost.style.zIndex = 99999;\n document.body.appendChild(shadowHost);\n var shadowRoot;\n var prefix = '';\n\n if (shadowHost.attachShadow) {\n shadowRoot = shadowHost.attachShadow({\n mode: 'open'\n });\n } else {\n // If attachShadow is undefined then the browser does not support\n // the Shadow DOM, we need to prefix all the names so there\n // will be no conflicts\n shadowRoot = shadowHost;\n prefix = '__next-build-watcher-';\n } // Container\n\n\n var container = createContainer(prefix);\n shadowRoot.appendChild(container); // CSS\n\n var css = createCss(prefix);\n shadowRoot.appendChild(css); // State\n\n var isVisible = false;\n var isBuilding = false;\n var timeoutId = null; // Handle events\n\n var evtSource = (0, _eventsource.getEventSourceWrapper)({\n path: '/_next/webpack-hmr'\n });\n evtSource.addMessageListener(function (event) {\n // This is the heartbeat event\n if (event.data === \"\\uD83D\\uDC93\") {\n return;\n }\n\n try {\n handleMessage(event);\n } catch (_unused) {}\n });\n\n function handleMessage(event) {\n var obj = typeof event === 'string' ? {\n action: event\n } : JSON.parse(event.data); // eslint-disable-next-line default-case\n\n switch (obj.action) {\n case 'building':\n timeoutId && clearTimeout(timeoutId);\n isVisible = true;\n isBuilding = true;\n updateContainer();\n break;\n\n case 'built':\n case 'sync':\n isBuilding = false; // Wait for the fade out transtion to complete\n\n timeoutId = setTimeout(function () {\n isVisible = false;\n updateContainer();\n }, 100);\n updateContainer();\n break;\n }\n }\n\n toggleCallback(handleMessage);\n\n function updateContainer() {\n if (isBuilding) {\n container.classList.add(\"\".concat(prefix, \"building\"));\n } else {\n container.classList.remove(\"\".concat(prefix, \"building\"));\n }\n\n if (isVisible) {\n container.classList.add(\"\".concat(prefix, \"visible\"));\n } else {\n container.classList.remove(\"\".concat(prefix, \"visible\"));\n }\n }\n}\n\nfunction createContainer(prefix) {\n var container = document.createElement('div');\n container.id = \"\".concat(prefix, \"container\");\n container.innerHTML = \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \");\n return container;\n}\n\nfunction createCss(prefix) {\n var css = document.createElement('style');\n css.textContent = \"\\n #\".concat(prefix, \"container {\\n position: absolute;\\n bottom: 10px;\\n right: 30px;\\n\\n border-radius: 3px;\\n background: #000;\\n color: #fff;\\n font: initial;\\n cursor: initial;\\n letter-spacing: initial;\\n text-shadow: initial;\\n text-transform: initial;\\n visibility: initial;\\n\\n padding: 7px 10px 8px 10px;\\n align-items: center;\\n box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\n\\n display: none;\\n opacity: 0;\\n transition: opacity 0.1s ease, bottom 0.1s ease;\\n animation: \").concat(prefix, \"fade-in 0.1s ease-in-out;\\n }\\n\\n #\").concat(prefix, \"container.\").concat(prefix, \"visible {\\n display: flex;\\n }\\n\\n #\").concat(prefix, \"container.\").concat(prefix, \"building {\\n bottom: 20px;\\n opacity: 1;\\n }\\n\\n #\").concat(prefix, \"icon-wrapper {\\n width: 16px;\\n height: 16px;\\n }\\n\\n #\").concat(prefix, \"icon-wrapper > svg {\\n width: 100%;\\n height: 100%;\\n }\\n\\n #\").concat(prefix, \"icon-group {\\n animation: \").concat(prefix, \"strokedash 1s ease-in-out both infinite;\\n }\\n\\n @keyframes \").concat(prefix, \"fade-in {\\n from {\\n bottom: 10px;\\n opacity: 0;\\n }\\n to {\\n bottom: 20px;\\n opacity: 1;\\n }\\n }\\n\\n @keyframes \").concat(prefix, \"strokedash {\\n 0% {\\n stroke-dasharray: 0 226;\\n }\\n 80%,\\n 100% {\\n stroke-dasharray: 659 226;\\n }\\n }\\n \");\n return css;\n}","map":{"version":3,"sources":["../../../client/dev/dev-build-watcher.js"],"names":["shadowHost","document","prefix","shadowRoot","mode","container","createContainer","css","createCss","isVisible","isBuilding","timeoutId","evtSource","path","event","handleMessage","obj","action","JSON","clearTimeout","updateContainer","setTimeout","toggleCallback"],"mappings":"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","sourcesContent":["import { getEventSourceWrapper } from './error-overlay/eventsource'\n\nexport default function initializeBuildWatcher(toggleCallback) {\n const shadowHost = document.createElement('div')\n shadowHost.id = '__next-build-watcher'\n // Make sure container is fixed and on a high zIndex so it shows\n shadowHost.style.position = 'fixed'\n shadowHost.style.bottom = '10px'\n shadowHost.style.right = '20px'\n shadowHost.style.width = 0\n shadowHost.style.height = 0\n shadowHost.style.zIndex = 99999\n document.body.appendChild(shadowHost)\n\n let shadowRoot\n let prefix = ''\n\n if (shadowHost.attachShadow) {\n shadowRoot = shadowHost.attachShadow({ mode: 'open' })\n } else {\n // If attachShadow is undefined then the browser does not support\n // the Shadow DOM, we need to prefix all the names so there\n // will be no conflicts\n shadowRoot = shadowHost\n prefix = '__next-build-watcher-'\n }\n\n // Container\n const container = createContainer(prefix)\n shadowRoot.appendChild(container)\n\n // CSS\n const css = createCss(prefix)\n shadowRoot.appendChild(css)\n\n // State\n let isVisible = false\n let isBuilding = false\n let timeoutId = null\n\n // Handle events\n const evtSource = getEventSourceWrapper({ path: '/_next/webpack-hmr' })\n evtSource.addMessageListener((event) => {\n // This is the heartbeat event\n if (event.data === '\\uD83D\\uDC93') {\n return\n }\n\n try {\n handleMessage(event)\n } catch {}\n })\n\n function handleMessage(event) {\n const obj =\n typeof event === 'string' ? { action: event } : JSON.parse(event.data)\n\n // eslint-disable-next-line default-case\n switch (obj.action) {\n case 'building':\n timeoutId && clearTimeout(timeoutId)\n isVisible = true\n isBuilding = true\n updateContainer()\n break\n case 'built':\n case 'sync':\n isBuilding = false\n // Wait for the fade out transtion to complete\n timeoutId = setTimeout(() => {\n isVisible = false\n updateContainer()\n }, 100)\n updateContainer()\n break\n }\n }\n\n toggleCallback(handleMessage)\n\n function updateContainer() {\n if (isBuilding) {\n container.classList.add(`${prefix}building`)\n } else {\n container.classList.remove(`${prefix}building`)\n }\n\n if (isVisible) {\n container.classList.add(`${prefix}visible`)\n } else {\n container.classList.remove(`${prefix}visible`)\n }\n }\n}\n\nfunction createContainer(prefix) {\n const container = document.createElement('div')\n container.id = `${prefix}container`\n container.innerHTML = `\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n `\n\n return container\n}\n\nfunction createCss(prefix) {\n const css = document.createElement('style')\n css.textContent = `\n #${prefix}container {\n position: absolute;\n bottom: 10px;\n right: 30px;\n\n border-radius: 3px;\n background: #000;\n color: #fff;\n font: initial;\n cursor: initial;\n letter-spacing: initial;\n text-shadow: initial;\n text-transform: initial;\n visibility: initial;\n\n padding: 7px 10px 8px 10px;\n align-items: center;\n box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n\n display: none;\n opacity: 0;\n transition: opacity 0.1s ease, bottom 0.1s ease;\n animation: ${prefix}fade-in 0.1s ease-in-out;\n }\n\n #${prefix}container.${prefix}visible {\n display: flex;\n }\n\n #${prefix}container.${prefix}building {\n bottom: 20px;\n opacity: 1;\n }\n\n #${prefix}icon-wrapper {\n width: 16px;\n height: 16px;\n }\n\n #${prefix}icon-wrapper > svg {\n width: 100%;\n height: 100%;\n }\n\n #${prefix}icon-group {\n animation: ${prefix}strokedash 1s ease-in-out both infinite;\n }\n\n @keyframes ${prefix}fade-in {\n from {\n bottom: 10px;\n opacity: 0;\n }\n to {\n bottom: 20px;\n opacity: 1;\n }\n }\n\n @keyframes ${prefix}strokedash {\n 0% {\n stroke-dasharray: 0 226;\n }\n 80%,\n 100% {\n stroke-dasharray: 659 226;\n }\n }\n `\n\n return css\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/4a/938c08e7814a0609dac34005789ae990b573380dac5e1fe440f4f4a1538b7645f700ca728ece818c8a16fa4a198119513a0a6bc4c873b125a52170606b15 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/4a/938c08e7814a0609dac34005789ae990b573380dac5e1fe440f4f4a1538b7645f700ca728ece818c8a16fa4a198119513a0a6bc4c873b125a52170606b15 new file mode 100644 index 00000000..b0673d14 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/4a/938c08e7814a0609dac34005789ae990b573380dac5e1fe440f4f4a1538b7645f700ca728ece818c8a16fa4a198119513a0a6bc4c873b125a52170606b15 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.formatUrl = formatUrl;\n\nvar querystring = _interopRequireWildcard(require(\"./querystring\"));\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n} // Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nvar slashedProtocols = /https?|ftp|gopher|file/;\n\nfunction formatUrl(urlObj) {\n var auth = urlObj.auth,\n hostname = urlObj.hostname;\n var protocol = urlObj.protocol || '';\n var pathname = urlObj.pathname || '';\n var hash = urlObj.hash || '';\n var query = urlObj.query || '';\n var host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : '';\n\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? \"[\".concat(hostname, \"]\") : hostname);\n\n if (urlObj.port) {\n host += ':' + urlObj.port;\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query));\n }\n\n var search = urlObj.search || query && \"?\".concat(query) || '';\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash;\n if (search && search[0] !== '?') search = '?' + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace('#', '%23');\n return \"\".concat(protocol).concat(host).concat(pathname).concat(search).concat(hash);\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/format-url.ts"],"names":["slashedProtocols","protocol","urlObj","pathname","hash","query","host","auth","encodeURIComponent","hostname","String","querystring","search"],"mappings":"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","sourcesContent":["// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport { UrlObject } from 'url'\nimport { ParsedUrlQuery } from 'querystring'\nimport * as querystring from './querystring'\n\nconst slashedProtocols = /https?|ftp|gopher|file/\n\nexport function formatUrl(urlObj: UrlObject) {\n let { auth, hostname } = urlObj\n let protocol = urlObj.protocol || ''\n let pathname = urlObj.pathname || ''\n let hash = urlObj.hash || ''\n let query = urlObj.query || ''\n let host: string | false = false\n\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''\n\n if (urlObj.host) {\n host = auth + urlObj.host\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname)\n if (urlObj.port) {\n host += ':' + urlObj.port\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query as ParsedUrlQuery))\n }\n\n let search = urlObj.search || (query && `?${query}`) || ''\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':'\n\n if (\n urlObj.slashes ||\n ((!protocol || slashedProtocols.test(protocol)) && host !== false)\n ) {\n host = '//' + (host || '')\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname\n } else if (!host) {\n host = ''\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash\n if (search && search[0] !== '?') search = '?' + search\n\n pathname = pathname.replace(/[?#]/g, encodeURIComponent)\n search = search.replace('#', '%23')\n\n return `${protocol}${host}${pathname}${search}${hash}`\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/7e/4a0538bd12b583902c65eaf94551efa20b6efe76e4d75bb6f09ee39267c991075103c1bb578823a84f16b0e972da9632f7ef3b9d3206c35ce0e239d35ee3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/7e/4a0538bd12b583902c65eaf94551efa20b6efe76e4d75bb6f09ee39267c991075103c1bb578823a84f16b0e972da9632f7ef3b9d3206c35ce0e239d35ee3 new file mode 100644 index 00000000..5380707f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/7e/4a0538bd12b583902c65eaf94551efa20b6efe76e4d75bb6f09ee39267c991075103c1bb578823a84f16b0e972da9632f7ef3b9d3206c35ce0e239d35ee3 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\nconsole.log('te11t');\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","console","log","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;AASKY,OAAO,CAACC,GAAR,CAAY,OAAZ;;AAEZ,MAAMC,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAVD;;AAYA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n console.log('te11t');\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/88/fcf5f685b01e28b53c1fc765230498cc50b497ee518c32a60841f9979eee476fa44059bffcdd3265e9433ef568cd6e5e986576fd44a5fc0c7dc418079273 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/88/fcf5f685b01e28b53c1fc765230498cc50b497ee518c32a60841f9979eee476fa44059bffcdd3265e9433ef568cd6e5e986576fd44a5fc0c7dc418079273 new file mode 100644 index 00000000..4f40584f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/92/88/fcf5f685b01e28b53c1fc765230498cc50b497ee518c32a60841f9979eee476fa44059bffcdd3265e9433ef568cd6e5e986576fd44a5fc0c7dc418079273 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Footer.js\",\n _this = this;\n\nvar Footer = function Footer() {\n return /*#__PURE__*/_jsxDEV(\"footer\", {\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Copyrights \\xA9 2021\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = Footer;\nexport default Footer;\n\nvar _c;\n\n$RefreshReg$(_c, \"Footer\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Footer.js"],"names":["Footer"],"mappings":";;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,GAAM;AACjB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,M;AAQN,eAAeA,MAAf","sourcesContent":["const Footer = () => {\r\n return ( \r\n
\r\n

Copyrights © 2021

\r\n
\r\n );\r\n}\r\n \r\nexport default Footer;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/93/e4/d6b007fcd8347da0b13cd5ecd43fd6569ed254e1e8643c12c08cabd85dcc042963f8fea2035317cdc2d7b2d30bfd002590e49c10afbc3c1f7ae4821da491 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/93/e4/d6b007fcd8347da0b13cd5ecd43fd6569ed254e1e8643c12c08cabd85dcc042963f8fea2035317cdc2d7b2d30bfd002590e49c10afbc3c1f7ae4821da491 new file mode 100644 index 00000000..2c4d9b71 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/93/e4/d6b007fcd8347da0b13cd5ecd43fd6569ed254e1e8643c12c08cabd85dcc042963f8fea2035317cdc2d7b2d30bfd002590e49c10afbc3c1f7ae4821da491 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nconsole.log({\n ninja: ninja\n});\n\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["console","log","ninja","Details","name","email","website"],"mappings":";;;;;AAmBA;AAUYA,OAAO,CAACC,GAAR,CAAY;AAACC,EAAAA,KAAK,EAALA;AAAD,CAAZ;;AAEZ,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZD,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKH,KAAK,CAACI;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMH,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n console.log({ninja});\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/56/f3f0ebe8fdea4626ac137ae5bec02a1dbb200ef0200e5a2c29c7ff7ebb59e51e9e476465ceef623b6331a523a723bc17cd9a00596294f16aa58da17e273a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/56/f3f0ebe8fdea4626ac137ae5bec02a1dbb200ef0200e5a2c29c7ff7ebb59e51e9e476465ceef623b6331a523a723bc17cd9a00596294f16aa58da17e273a new file mode 100644 index 00000000..b1cd8d91 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/56/f3f0ebe8fdea4626ac137ae5bec02a1dbb200ef0200e5a2c29c7ff7ebb59e51e9e476465ceef623b6331a523a723bc17cd9a00596294f16aa58da17e273a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 22\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACF;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADE,eAIF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YAJE,eAKF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YALE,eAMF,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YANE;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link';\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/a8/bdde732bc3c835ebabaf11fe5f5a321ca9b3fbde44735004c0a98b1da1b0eaadc261bf2fdfa6d7d096f78a88611507c616624c65f5eceb14f4f511b5ccee b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/a8/bdde732bc3c835ebabaf11fe5f5a321ca9b3fbde44735004c0a98b1da1b0eaadc261bf2fdfa6d7d096f78a88611507c616624c65f5eceb14f4f511b5ccee new file mode 100644 index 00000000..ea66314e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/94/a8/bdde732bc3c835ebabaf11fe5f5a321ca9b3fbde44735004c0a98b1da1b0eaadc261bf2fdfa6d7d096f78a88611507c616624c65f5eceb14f4f511b5ccee @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css';\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninja = ({\n ninjas\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 21\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this);\n};\n\nexport default Ninja;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninja","map","ninja","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,KAAK,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,EAEKA,MAAM,CAACE,GAAP,CAAWC,KAAK,iBACb;AAAA,6BACI;AAAG,QAAA,IAAI,EAAC,GAAR;AAAY,QAAA,SAAS,EAAC,eAAtB;AAAA,+BACI;AAAA,oBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,OAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,YADH,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAYH,CAbD;;AAeA,eAAeJ,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/0a/8d16afe4746fad37237ce60f7bd706a9316afe01151f15b41a1d29c2c008b2de5aba00d0081db3f79b5f503a8e4cc1813d1a20aa47860cab0b5a33598e79 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/0a/8d16afe4746fad37237ce60f7bd706a9316afe01151f15b41a1d29c2c008b2de5aba00d0081db3f79b5f503a8e4cc1813d1a20aa47860cab0b5a33598e79 new file mode 100644 index 00000000..b86eb16a --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/0a/8d16afe4746fad37237ce60f7bd706a9316afe01151f15b41a1d29c2c008b2de5aba00d0081db3f79b5f503a8e4cc1813d1a20aa47860cab0b5a33598e79 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _router = require(\"../next-server/lib/router/router\");\n\nvar _router2 = require(\"./router\");\n\nvar _useIntersection = require(\"./use-intersection\");\n\nconst prefetched = {};\n\nfunction prefetch(router, href, as, options) {\n if (true || !router) return;\n if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n\n router.prefetch(href, as, options).catch(err => {\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n const curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale; // Join on an invalid URI character\n\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\n\nfunction isModifiedEvent(event) {\n const {\n target\n } = event.currentTarget;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\n\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale) {\n const {\n nodeName\n } = e.currentTarget;\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n\n e.preventDefault(); // avoid scroll for urls with anchor refs\n\n if (scroll == null) {\n scroll = as.indexOf('#') < 0;\n } // replace state instead of push if prop is present\n\n\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll\n }).then(success => {\n if (!success) return;\n\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus();\n }\n });\n}\n\nfunction Link(props) {\n if (true) {\n function createPropError(args) {\n return new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` + (false ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n } // TypeScript trick for type-guarding:\n\n\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach(key => {\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n }); // TypeScript trick for type-guarding:\n\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach(key => {\n const valType = typeof props[key];\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n }); // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n\n const hasWarned = _react.default.useRef(false);\n\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/vercel/next.js/prefetch-true-deprecated');\n }\n }\n\n const p = props.prefetch !== false;\n const router = (0, _router2.useRouter)();\n const pathname = router && router.pathname || '/';\n\n const {\n href,\n as\n } = _react.default.useMemo(() => {\n const [resolvedHref, resolvedAs] = (0, _router.resolveHref)(pathname, props.href, true);\n return {\n href: resolvedHref,\n as: props.as ? (0, _router.resolveHref)(pathname, props.as) : resolvedAs || resolvedHref\n };\n }, [pathname, props.href, props.as]);\n\n let {\n children,\n replace,\n shallow,\n scroll,\n locale\n } = props; // Deprecated. Warning shown by propType check. If the children provided is a string (example) we wrap it in an tag\n\n if (typeof children === 'string') {\n children = /*#__PURE__*/_react.default.createElement(\"a\", null, children);\n } // This will return the first child, if multiple are provided it will throw an error\n\n\n const child = _react.Children.only(children);\n\n const childRef = child && typeof child === 'object' && child.ref;\n const [setIntersectionRef, isVisible] = (0, _useIntersection.useIntersection)({\n rootMargin: '200px'\n });\n\n const setRef = _react.default.useCallback(el => {\n setIntersectionRef(el);\n\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [childRef, setIntersectionRef]);\n\n (0, _react.useEffect)(() => {\n const shouldPrefetch = isVisible && p && (0, _router.isLocalURL)(href);\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n const isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [as, href, isVisible, locale, p, router]);\n const childProps = {\n ref: setRef,\n onClick: e => {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale);\n }\n }\n };\n\n childProps.onMouseEnter = e => {\n if (!(0, _router.isLocalURL)(href)) return;\n\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n\n prefetch(router, href, as, {\n priority: true\n });\n }; // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n\n\n if (props.passHref || child.type === 'a' && !('href' in child.props)) {\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale; // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n\n const localeDomain = router && router.isLocaleDomain && (0, _router.getDomainLocale)(as, curLocale, router && router.locales, router && router.domainLocales);\n childProps.href = localeDomain || (0, _router.addBasePath)((0, _router.addLocale)(as, curLocale, router && router.defaultLocale));\n }\n\n return /*#__PURE__*/_react.default.cloneElement(child, childProps);\n}\n\nvar _default = Link;\nexports.default = _default;","map":{"version":3,"sources":["../../client/link.tsx"],"names":["prefetched","router","err","curLocale","options","href","event","target","e","nodeName","isModifiedEvent","scroll","as","replace","success","document","args","key","expected","actual","requiredPropsGuard","requiredProps","Object","props","createPropError","_","optionalPropsGuard","shallow","passHref","prefetch","locale","optionalProps","valType","hasWarned","React","console","p","pathname","resolvedAs","children","child","Children","childRef","rootMargin","setRef","el","setIntersectionRef","shouldPrefetch","isVisible","isPrefetched","childProps","ref","onClick","linkClicked","priority","localeDomain","Link"],"mappings":"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","sourcesContent":["import React, { Children, useEffect } from 'react'\nimport { UrlObject } from 'url'\nimport {\n addBasePath,\n addLocale,\n getDomainLocale,\n isLocalURL,\n NextRouter,\n PrefetchOptions,\n resolveHref,\n} from '../next-server/lib/router/router'\nimport { useRouter } from './router'\nimport { useIntersection } from './use-intersection'\n\ntype Url = string | UrlObject\ntype RequiredKeys = {\n [K in keyof T]-?: {} extends Pick ? never : K\n}[keyof T]\ntype OptionalKeys = {\n [K in keyof T]-?: {} extends Pick ? K : never\n}[keyof T]\n\nexport type LinkProps = {\n href: Url\n as?: Url\n replace?: boolean\n scroll?: boolean\n shallow?: boolean\n passHref?: boolean\n prefetch?: boolean\n locale?: string | false\n}\ntype LinkPropsRequired = RequiredKeys\ntype LinkPropsOptional = OptionalKeys\n\nconst prefetched: { [cacheKey: string]: boolean } = {}\n\nfunction prefetch(\n router: NextRouter,\n href: string,\n as: string,\n options?: PrefetchOptions\n): void {\n if (typeof window === 'undefined' || !router) return\n if (!isLocalURL(href)) return\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n router.prefetch(href, as, options).catch((err) => {\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err\n }\n })\n const curLocale =\n options && typeof options.locale !== 'undefined'\n ? options.locale\n : router && router.locale\n\n // Join on an invalid URI character\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true\n}\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const { target } = event.currentTarget as HTMLAnchorElement\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n router: NextRouter,\n href: string,\n as: string,\n replace?: boolean,\n shallow?: boolean,\n scroll?: boolean,\n locale?: string | false\n): void {\n const { nodeName } = e.currentTarget\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !isLocalURL(href))) {\n // ignore click for browser’s default behavior\n return\n }\n\n e.preventDefault()\n\n // avoid scroll for urls with anchor refs\n if (scroll == null) {\n scroll = as.indexOf('#') < 0\n }\n\n // replace state instead of push if prop is present\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll,\n }).then((success: boolean) => {\n if (!success) return\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus()\n }\n })\n}\n\nfunction Link(props: React.PropsWithChildren) {\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'prefetch'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = React.useRef(false)\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true\n console.warn(\n 'Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/vercel/next.js/prefetch-true-deprecated'\n )\n }\n }\n const p = props.prefetch !== false\n\n const router = useRouter()\n const pathname = (router && router.pathname) || '/'\n\n const { href, as } = React.useMemo(() => {\n const [resolvedHref, resolvedAs] = resolveHref(pathname, props.href, true)\n return {\n href: resolvedHref,\n as: props.as\n ? resolveHref(pathname, props.as)\n : resolvedAs || resolvedHref,\n }\n }, [pathname, props.href, props.as])\n\n let { children, replace, shallow, scroll, locale } = props\n\n // Deprecated. Warning shown by propType check. If the children provided is a string (example) we wrap it in an tag\n if (typeof children === 'string') {\n children = {children}\n }\n\n // This will return the first child, if multiple are provided it will throw an error\n const child: any = Children.only(children)\n const childRef: any = child && typeof child === 'object' && child.ref\n\n const [setIntersectionRef, isVisible] = useIntersection({\n rootMargin: '200px',\n })\n const setRef = React.useCallback(\n (el: Element) => {\n setIntersectionRef(el)\n if (childRef) {\n if (typeof childRef === 'function') childRef(el)\n else if (typeof childRef === 'object') {\n childRef.current = el\n }\n }\n },\n [childRef, setIntersectionRef]\n )\n useEffect(() => {\n const shouldPrefetch = isVisible && p && isLocalURL(href)\n const curLocale =\n typeof locale !== 'undefined' ? locale : router && router.locale\n const isPrefetched =\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')]\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale,\n })\n }\n }, [as, href, isVisible, locale, p, router])\n\n const childProps: {\n onMouseEnter?: React.MouseEventHandler\n onClick: React.MouseEventHandler\n href?: string\n ref?: any\n } = {\n ref: setRef,\n onClick: (e: React.MouseEvent) => {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e)\n }\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale)\n }\n },\n }\n\n childProps.onMouseEnter = (e: React.MouseEvent) => {\n if (!isLocalURL(href)) return\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e)\n }\n prefetch(router, href, as, { priority: true })\n }\n\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n if (props.passHref || (child.type === 'a' && !('href' in child.props))) {\n const curLocale =\n typeof locale !== 'undefined' ? locale : router && router.locale\n\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain =\n router &&\n router.isLocaleDomain &&\n getDomainLocale(\n as,\n curLocale,\n router && router.locales,\n router && router.domainLocales\n )\n\n childProps.href =\n localeDomain ||\n addBasePath(addLocale(as, curLocale, router && router.defaultLocale))\n }\n\n return React.cloneElement(child, childProps)\n}\n\nexport default Link\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/99/8a670d7180f32957c2cad6c93c224a7ff1aae1fc86c1d5ea92bc62ec95c10a6d1f12eaa269aea2909a31c53e4975d6ae0e387eff74fdb777ae54a8d65840 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/99/8a670d7180f32957c2cad6c93c224a7ff1aae1fc86c1d5ea92bc62ec95c10a6d1f12eaa269aea2909a31c53e4975d6ae0e387eff74fdb777ae54a8d65840 new file mode 100644 index 00000000..59a6a721 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/95/99/8a670d7180f32957c2cad6c93c224a7ff1aae1fc86c1d5ea92bc62ec95c10a6d1f12eaa269aea2909a31c53e4975d6ae0e387eff74fdb777ae54a8d65840 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\404.js\",\n _this = this,\n _s = $RefreshSig$();\n\nimport Link from \"next/link\";\nimport { useEffect } from 'react';\nimport { useRouter } from 'next/router';\n\nvar NotFound = function NotFound() {\n _s();\n\n var router = useRouter();\n useEffect(function () {\n // console.log('use effect ran');\n setTimeout(function () {\n // router.go(-1);\n router.push('/');\n }, 3000);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"not-found\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Oooops....\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"That page cannot be found.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Go back to the \", /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Homepage\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 46\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 31\n }, _this), \" \"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, _this);\n};\n\n_s(NotFound, \"vQduR7x+OPXj6PSmJyFnf+hU7bg=\", false, function () {\n return [useRouter];\n});\n\n_c = NotFound;\nexport default NotFound;\n\nvar _c;\n\n$RefreshReg$(_c, \"NotFound\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/404.js"],"names":["Link","useEffect","useRouter","NotFound","router","setTimeout","push"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,SAASC,SAAT,QAA0B,OAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AAAA;;AAEnB,MAAMC,MAAM,GAAGF,SAAS,EAAxB;AAEAD,EAAAA,SAAS,CAAC,YAAM;AACZ;AACAI,IAAAA,UAAU,CAAC,YAAM;AACb;AACAD,MAAAA,MAAM,CAACE,IAAP,CAAY,GAAZ;AACH,KAHS,EAGP,IAHO,CAAV;AAIH,GANQ,EAMN,EANM,CAAT;AAQA,sBACI;AAAK,IAAA,SAAS,EAAC,WAAf;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,iDAAkB,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,GAAX;AAAA,+BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,eAAlB;AAAA;AAAA;AAAA;AAAA;AAAA,aAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAOH,CAnBD;;GAAMH,Q;UAEaD,S;;;KAFbC,Q;AAqBN,eAAeA,QAAf","sourcesContent":["import Link from \"next/link\"\r\nimport { useEffect } from 'react'\r\nimport { useRouter } from 'next/router';\r\n\r\nconst NotFound = () => {\r\n\r\n const router = useRouter();\r\n\r\n useEffect(() => {\r\n // console.log('use effect ran');\r\n setTimeout(() => {\r\n // router.go(-1);\r\n router.push('/');\r\n }, 3000)\r\n }, [])\r\n\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default NotFound;\r\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/96/f1/c3e31f8d7b231b921fcf749e1d58dda2608a27ec616ce83ea806f713e09dfbdada5e1e127cdcf6d2d27ed3a99b0c144700cfca3879c392daf27b205e91fd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/96/f1/c3e31f8d7b231b921fcf749e1d58dda2608a27ec616ce83ea806f713e09dfbdada5e1e127cdcf6d2d27ed3a99b0c144700cfca3879c392daf27b205e91fd new file mode 100644 index 00000000..5d820f1d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/96/f1/c3e31f8d7b231b921fcf749e1d58dda2608a27ec616ce83ea806f713e09dfbdada5e1e127cdcf6d2d27ed3a99b0c144700cfca3879c392daf27b205e91fd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,M;;AAeN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/99/5c/542a9a75fd3c2fc8d8b04b7cf3c99b520b4ed9a8a966541f65cf134bd9d05440294e8a2d1d70673e9d23f35723fdb2fbaf486e68a8b2d85e50224edf07bb b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/99/5c/542a9a75fd3c2fc8d8b04b7cf3c99b520b4ed9a8a966541f65cf134bd9d05440294e8a2d1d70673e9d23f35723fdb2fbaf486e68a8b2d85e50224edf07bb new file mode 100644 index 00000000..338f37b3 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/99/5c/542a9a75fd3c2fc8d8b04b7cf3c99b520b4ed9a8a966541f65cf134bd9d05440294e8a2d1d70673e9d23f35723fdb2fbaf486e68a8b2d85e50224edf07bb @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = mitt;\n/*\nMIT License\nCopyright (c) Jason Miller (https://jasonformat.com/)\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n// This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nfunction mitt() {\n var all = Object.create(null);\n return {\n on: function on(type, handler) {\n ;\n (all[type] || (all[type] = [])).push(handler);\n },\n off: function off(type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n emit: function emit(type) {\n for (var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n evts[_key - 1] = arguments[_key];\n }\n\n // eslint-disable-next-line array-callback-return\n ;\n (all[type] || []).slice().map(function (handler) {\n handler.apply(void 0, evts);\n });\n }\n };\n}","map":{"version":3,"sources":["../../../next-server/lib/mitt.ts"],"names":["all","Object","on","off","emit","handler"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;;AAUe,SAAA,IAAA,GAA6B;AAC1C,MAAMA,GAA+B,GAAGC,MAAM,CAANA,MAAAA,CAAxC,IAAwCA,CAAxC;AAEA,SAAO;AACLC,IAAAA,EADK,cACH,IADG,EACH,OADG,EAC8B;AACjC;AAAC,OAACF,GAAG,CAAHA,IAAG,CAAHA,KAAcA,GAAG,CAAHA,IAAG,CAAHA,GAAf,EAACA,CAAD,EAAA,IAAA,CAAA,OAAA;AAFE,KAAA;AAKLG,IAAAA,GALK,eAKF,IALE,EAKF,OALE,EAK+B;AAClC,UAAIH,GAAG,CAAP,IAAO,CAAP,EAAe;AACbA,QAAAA,GAAG,CAAHA,IAAG,CAAHA,CAAAA,MAAAA,CAAiBA,GAAG,CAAHA,IAAG,CAAHA,CAAAA,OAAAA,CAAAA,OAAAA,MAAjBA,CAAAA,EAAAA,CAAAA;AAEH;AATI,KAAA;AAWLI,IAAAA,IAXK,gBAWD,IAXC,EAW8B;AAAA,wCAA/B,IAA+B;AAA/B,QAAA,IAA+B;AAAA;;AACjC;AACA;AAAC,OAACJ,GAAG,CAAHA,IAAG,CAAHA,IAAD,EAAA,EAAA,KAAA,GAAA,GAAA,CAA+BK,UAAAA,OAAD,EAAsB;AACnDA,QAAAA,OAAO,MAAPA,SAAAA,IAAAA;AADD,OAAA;AAbL;AAAO,GAAP;AAkBD","sourcesContent":["/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\ntype Handler = (...evts: any[]) => void\n\nexport type MittEmitter = {\n on(type: string, handler: Handler): void\n off(type: string, handler: Handler): void\n emit(type: string, ...evts: any[]): void\n}\n\nexport default function mitt(): MittEmitter {\n const all: { [s: string]: Handler[] } = Object.create(null)\n\n return {\n on(type: string, handler: Handler) {\n ;(all[type] || (all[type] = [])).push(handler)\n },\n\n off(type: string, handler: Handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1)\n }\n },\n\n emit(type: string, ...evts: any[]) {\n // eslint-disable-next-line array-callback-return\n ;(all[type] || []).slice().map((handler: Handler) => {\n handler(...evts)\n })\n },\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9a/26/de61d9d209c3fc7b134d6683ddd29c42ec4961e645ef2a90d6cb56baaba93507d80e8211afb428eefa40dc1401825fe46e19ca927b24d733fdaa392ba605 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9a/26/de61d9d209c3fc7b134d6683ddd29c42ec4961e645ef2a90d6cb56baaba93507d80e8211afb428eefa40dc1401825fe46e19ca927b24d733fdaa392ba605 new file mode 100644 index 00000000..feba5f39 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9a/26/de61d9d209c3fc7b134d6683ddd29c42ec4961e645ef2a90d6cb56baaba93507d80e8211afb428eefa40dc1401825fe46e19ca927b24d733fdaa392ba605 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.getRouteMatcher = getRouteMatcher;\n\nfunction getRouteMatcher(routeRegex) {\n var re = routeRegex.re,\n groups = routeRegex.groups;\n return function (pathname) {\n var routeMatch = re.exec(pathname);\n\n if (!routeMatch) {\n return false;\n }\n\n var decode = function decode(param) {\n try {\n return decodeURIComponent(param);\n } catch (_) {\n var err = new Error('failed to decode param');\n err.code = 'DECODE_FAILED';\n throw err;\n }\n };\n\n var params = {};\n Object.keys(groups).forEach(function (slugName) {\n var g = groups[slugName];\n var m = routeMatch[g.pos];\n\n if (m !== undefined) {\n params[slugName] = ~m.indexOf('/') ? m.split('/').map(function (entry) {\n return decode(entry);\n }) : g.repeat ? [decode(m)] : decode(m);\n }\n });\n return params;\n };\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/route-matcher.ts"],"names":["pathname","routeMatch","re","decode","param","decodeURIComponent","err","params","Object","slugName","g","groups","m","entry"],"mappings":";;;;;AAEO,SAAA,eAAA,CAAA,UAAA,EAAuE;AAAA,MACtE,EADsE,GAC5E,UAD4E,CACtE,EADsE;AAAA,MACtE,MADsE,GAC5E,UAD4E,CACtE,MADsE;AAE5E,SAAQA,UAAAA,QAAD,EAAyC;AAC9C,QAAMC,UAAU,GAAGC,EAAE,CAAFA,IAAAA,CAAnB,QAAmBA,CAAnB;;AACA,QAAI,CAAJ,UAAA,EAAiB;AACf,aAAA,KAAA;AAGF;;AAAA,QAAMC,MAAM,GAAIC,SAAVD,MAAUC,CAAAA,KAAD,EAAmB;AAChC,UAAI;AACF,eAAOC,kBAAkB,CAAzB,KAAyB,CAAzB;AACA,OAFF,CAEE,OAAA,CAAA,EAAU;AACV,YAAMC,GAA8B,GAAG,IAAA,KAAA,CAAvC,wBAAuC,CAAvC;AAGAA,QAAAA,GAAG,CAAHA,IAAAA,GAAAA,eAAAA;AACA,cAAA,GAAA;AAEH;AAVD,KAAA;;AAWA,QAAMC,MAAkD,GAAxD,EAAA;AAEAC,IAAAA,MAAM,CAANA,IAAAA,CAAAA,MAAAA,EAAAA,OAAAA,CAA6BC,UAAAA,QAAD,EAAsB;AAChD,UAAMC,CAAC,GAAGC,MAAM,CAAhB,QAAgB,CAAhB;AACA,UAAMC,CAAC,GAAGX,UAAU,CAACS,CAAC,CAAtB,GAAoB,CAApB;;AACA,UAAIE,CAAC,KAAL,SAAA,EAAqB;AACnBL,QAAAA,MAAM,CAANA,QAAM,CAANA,GAAmB,CAACK,CAAC,CAADA,OAAAA,CAAD,GAACA,CAAD,GACfA,CAAC,CAADA,KAAAA,CAAAA,GAAAA,EAAAA,GAAAA,CAAkBC,UAAAA,KAAD;AAAA,iBAAWV,MAAM,CADnB,KACmB,CAAjB;AAAA,SAAjBS,CADe,GAEfF,CAAC,CAADA,MAAAA,GACA,CAACP,MAAM,CADPO,CACO,CAAP,CADAA,GAEAP,MAAM,CAJVI,CAIU,CAJVA;AAMH;AAVDC,KAAAA;AAWA,WAAA,MAAA;AA9BF,GAAA;AAgCD","sourcesContent":["import { getRouteRegex } from './route-regex'\n\nexport function getRouteMatcher(routeRegex: ReturnType) {\n const { re, groups } = routeRegex\n return (pathname: string | null | undefined) => {\n const routeMatch = re.exec(pathname!)\n if (!routeMatch) {\n return false\n }\n\n const decode = (param: string) => {\n try {\n return decodeURIComponent(param)\n } catch (_) {\n const err: Error & { code?: string } = new Error(\n 'failed to decode param'\n )\n err.code = 'DECODE_FAILED'\n throw err\n }\n }\n const params: { [paramName: string]: string | string[] } = {}\n\n Object.keys(groups).forEach((slugName: string) => {\n const g = groups[slugName]\n const m = routeMatch[g.pos]\n if (m !== undefined) {\n params[slugName] = ~m.indexOf('/')\n ? m.split('/').map((entry) => decode(entry))\n : g.repeat\n ? [decode(m)]\n : decode(m)\n }\n })\n return params\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/0d/84b7cb16cd96315307c7e5ab1fb49ffcda49f9ff8c1488546bbdc1706b9074bb5d4ae4ec4b615de641d7086060dc02d076976d9414971cae037ba4f38a4a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/0d/84b7cb16cd96315307c7e5ab1fb49ffcda49f9ff8c1488546bbdc1706b9074bb5d4ae4ec4b615de641d7086060dc02d076976d9414971cae037ba4f38a4a new file mode 100644 index 00000000..8bfb1e29 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/0d/84b7cb16cd96315307c7e5ab1fb49ffcda49f9ff8c1488546bbdc1706b9074bb5d4ae4ec4b615de641d7086060dc02d076976d9414971cae037ba4f38a4a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n console.log(res);\n console.log(data);\n console.log(id);\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","console","log","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGFY,EAAAA,OAAO,CAACC,GAAR,CAAYf,GAAZ;AACAc,EAAAA,OAAO,CAACC,GAAR,CAAYb,IAAZ;AACAY,EAAAA,OAAO,CAACC,GAAR,CAAYP,EAAZ;AAED,CAZM;;AAcP,MAAMQ,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/44/aa64dafdc7f610484f85ea5811ec0b6f95dff5b720ba42ea11e67cf88ebf6edb0803881feca76d54e0b50c561bb406149d65c507476f4e241609af9897eb b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/44/aa64dafdc7f610484f85ea5811ec0b6f95dff5b720ba42ea11e67cf88ebf6edb0803881feca76d54e0b50c561bb406149d65c507476f4e241609af9897eb new file mode 100644 index 00000000..9ffc48d1 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/44/aa64dafdc7f610484f85ea5811ec0b6f95dff5b720ba42ea11e67cf88ebf6edb0803881feca76d54e0b50c561bb406149d65c507476f4e241609af9897eb @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAUE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnEF;AAqED;KAtEuBA,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/f1/1d8ac429499fb28d8ff3e878497eba4a9c5a8534534b0eba5c7445f0fdf9b3de1c309ec018624059e2dec8e2aa2ec7922d595eb1ba3005af1de97fc8f50a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/f1/1d8ac429499fb28d8ff3e878497eba4a9c5a8534534b0eba5c7445f0fdf9b3de1c309ec018624059e2dec8e2aa2ec7922d595eb1ba3005af1de97fc8f50a new file mode 100644 index 00000000..04fc1baf --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9d/f1/1d8ac429499fb28d8ff3e878497eba4a9c5a8534534b0eba5c7445f0fdf9b3de1c309ec018624059e2dec8e2aa2ec7922d595eb1ba3005af1de97fc8f50a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home","container"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAK,IAAA,SAAS,EAAEF,MAAM,CAACG,SAAvB;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAWE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApEF;AAsED;KAvEuBD,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/18/aab3fbe6d32e83e0a2a065fc9d10802400ec8e8810d8b8e442f1f8d5a2bd7b190815512807bed7c473d16ba91c9a86437d0a45aea252a566f76637db8f75 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/18/aab3fbe6d32e83e0a2a065fc9d10802400ec8e8810d8b8e442f1f8d5a2bd7b190815512807bed7c473d16ba91c9a86437d0a45aea252a566f76637db8f75 new file mode 100644 index 00000000..34b57b76 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/18/aab3fbe6d32e83e0a2a065fc9d10802400ec8e8810d8b8e442f1f8d5a2bd7b190815512807bed7c473d16ba91c9a86437d0a45aea252a566f76637db8f75 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAQE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjEF;AAmED;KApEuBA,I","sourcesContent":["import Head from 'next/head'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n\n \n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/2d/a2fae78d8a303a90aced73cffd00c58dcac117aa18683bf64e23140fc8c75a5add50d6166e67c7d11ebd2e4e3eec2d7533e5485eecc2d2aa6866d6de71fd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/2d/a2fae78d8a303a90aced73cffd00c58dcac117aa18683bf64e23140fc8c75a5add50d6166e67c7d11ebd2e4e3eec2d7533e5485eecc2d2aa6866d6de71fd new file mode 100644 index 00000000..f7bf66c0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9e/2d/a2fae78d8a303a90aced73cffd00c58dcac117aa18683bf64e23140fc8c75a5add50d6166e67c7d11ebd2e4e3eec2d7533e5485eecc2d2aa6866d6de71fd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: [ninja.name, \"ll\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BAEI;AAAA,iBAAMA,KAAK,CAACC,IAAZ;AAAA;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMJ,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }ll

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9f/83/ea2cc468c9d1a109a9c6f878a7b23fec7a3d255c931c0fb16a3e60d00af969d27f16447c5a7d68f842274dbe828f54a354a64aa6534be3071cbaa7ac0ce4 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9f/83/ea2cc468c9d1a109a9c6f878a7b23fec7a3d255c931c0fb16a3e60d00af969d27f16447c5a7d68f842274dbe828f54a354a64aa6534be3071cbaa7ac0ce4 new file mode 100644 index 00000000..b6e77970 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/9f/83/ea2cc468c9d1a109a9c6f878a7b23fec7a3d255c931c0fb16a3e60d00af969d27f16447c5a7d68f842274dbe828f54a354a64aa6534be3071cbaa7ac0ce4 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n console.log(ninja);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","console","log","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAE7BC,EAAAA,OAAO,CAACC,GAAR,CAAYF,KAAZ;AAEE,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKH,KAAK,CAACI;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKJ,KAAK,CAACK;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAbD;;KAAMN,O;;AAeN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(ninja);\r\n\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a0/ef/9f3af5b16f1d53eb453690a6302645c73a17877495a8cc0a03b050044169521aff1e4fa99842a339d399715d211326b2c4c645f29896a78d06b2bd82b8e1 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a0/ef/9f3af5b16f1d53eb453690a6302645c73a17877495a8cc0a03b050044169521aff1e4fa99842a339d399715d211326b2c4c645f29896a78d06b2bd82b8e1 new file mode 100644 index 00000000..7603b463 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a0/ef/9f3af5b16f1d53eb453690a6302645c73a17877495a8cc0a03b050044169521aff1e4fa99842a339d399715d211326b2c4c645f29896a78d06b2bd82b8e1 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\components\\\\Navbar.js\";\nimport Link from 'next/link';\n\nconst Navbar = () => {\n return /*#__PURE__*/_jsxDEV(\"nav\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"logo\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Ninja List\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 28\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/about\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"About\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"/ninjas/\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 5,\n columnNumber: 9\n }, this);\n};\n\nexport default Navbar;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/components/Navbar.js"],"names":["Link","Navbar"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;;AAEA,MAAMC,MAAM,GAAG,MAAM;AACjB,sBACI;AAAA,4BACI;AAAK,MAAA,SAAS,EAAC,MAAf;AAAA,6BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,YADJ,eAII,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,GAAX;AAAA,6BAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,QAAX;AAAA,6BAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAApB;AAAA;AAAA;AAAA;AAAA,YALJ,eAMI,QAAC,IAAD;AAAM,MAAA,IAAI,EAAC,UAAX;AAAA,6BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA,YANJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeA,MAAf","sourcesContent":["import Link from 'next/link'\r\n\r\nconst Navbar = () => {\r\n return ( \r\n \r\n );\r\n}\r\n \r\nexport default Navbar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a1/fe/1d99de2060ba0ec1481f4a4a53eb686bb87cfff362ca26e6d70e81cecb9e53d2c73ec962aa764a5d0047124b18f42f0f237d3e210e617fbbe697c6493a1d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a1/fe/1d99de2060ba0ec1481f4a4a53eb686bb87cfff362ca26e6d70e81cecb9e53d2c73ec962aa764a5d0047124b18f42f0f237d3e210e617fbbe697c6493a1d new file mode 100644 index 00000000..aab37e7d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a1/fe/1d99de2060ba0ec1481f4a4a53eb686bb87cfff362ca26e6d70e81cecb9e53d2c73ec962aa764a5d0047124b18f42f0f237d3e210e617fbbe697c6493a1d @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Navbar","styles","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CASE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlEF;AAoED;KArEuBA,I","sourcesContent":["import Head from 'next/head'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a2/25/172031c9a4bf7de636e9594deb105caa6e1af5d040cd36a4050940d6b09ea2bf129ea26ab45775ac1903ec255d90b45978e6ee95fb0b870362eb54afe750 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a2/25/172031c9a4bf7de636e9594deb105caa6e1af5d040cd36a4050940d6b09ea2bf129ea26ab45775ac1903ec255d90b45978e6ee95fb0b870362eb54afe750 new file mode 100644 index 00000000..308058b8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a2/25/172031c9a4bf7de636e9594deb105caa6e1af5d040cd36a4050940d6b09ea2bf129ea26ab45775ac1903ec255d90b45978e6ee95fb0b870362eb54afe750 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\ninjas.js\",\n _this = this;\n\nvar Test = function Test() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Test Header Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, _this);\n};\n\n_c = Test;\nexport default Test;\n\nvar _c;\n\n$RefreshReg$(_c, \"Test\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/ninjas.js"],"names":["Test"],"mappings":";;;;;AAAA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACf,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,WADJ;AAKH,CAND;;KAAMA,I;AAQN,eAAeA,IAAf","sourcesContent":["const Test = () => {\r\n return ( \r\n
\r\n

Test Header Ninjas

\r\n
\r\n );\r\n}\r\n \r\nexport default Test;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/25/56caa14b8e3a9978eee66106458fa8d6d44b7ecdf5dec01dd07723918f5cb6cdd71bd0d59e964531f661ba67163ca1036d5c4a50b606a68f4c9e7815cc3d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/25/56caa14b8e3a9978eee66106458fa8d6d44b7ecdf5dec01dd07723918f5cb6cdd71bd0d59e964531f661ba67163ca1036d5c4a50b606a68f4c9e7815cc3d new file mode 100644 index 00000000..5fd11057 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/25/56caa14b8e3a9978eee66106458fa8d6d44b7ecdf5dec01dd07723918f5cb6cdd71bd0d59e964531f661ba67163ca1036d5c4a50b606a68f4c9e7815cc3d @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAZD;;KAAMJ,O;;AAcN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/40/c2db9cf15592abf9ef30c07695e8a09ae1739be1a8e80c9e2b71b27e4ecf210687082e8dc32703de786ed113fae14bad03635b9e176d56f2e949453493cd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/40/c2db9cf15592abf9ef30c07695e8a09ae1739be1a8e80c9e2b71b27e4ecf210687082e8dc32703de786ed113fae14bad03635b9e176d56f2e949453493cd new file mode 100644 index 00000000..0d85170e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/40/c2db9cf15592abf9ef30c07695e8a09ae1739be1a8e80c9e2b71b27e4ecf210687082e8dc32703de786ed113fae14bad03635b9e176d56f2e949453493cd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","map","ninja","single","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,SAAS,EAAEJ,MAAM,CAACK,MAArB;AAAA,iCACI;AAAA,sBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAMN,M;;AAeN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/63/5e0235422cfddb7fd3bc57e41b4fd0392f84d34b182f801b8744e2994000e68f79ff44585e3444951fc12229818326803f5fe6b4be0b6fbd44a87c3fee28 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/63/5e0235422cfddb7fd3bc57e41b4fd0392f84d34b182f801b8744e2994000e68f79ff44585e3444951fc12229818326803f5fe6b4be0b6fbd44a87c3fee28 new file mode 100644 index 00000000..8d0090e9 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a3/63/5e0235422cfddb7fd3bc57e41b4fd0392f84d34b182f801b8744e2994000e68f79ff44585e3444951fc12229818326803f5fe6b4be0b6fbd44a87c3fee28 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.RouterContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar RouterContext = /*#__PURE__*/_react[\"default\"].createContext(null);\n\nexports.RouterContext = RouterContext;\n\nif (true) {\n RouterContext.displayName = 'RouterContext';\n}","map":{"version":3,"sources":["../../../next-server/lib/router-context.ts"],"names":["RouterContext","React"],"mappings":";;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;;;;;AAGO;;AAAA,IAAMA,aAAa,GAAA,aAAGC,MAAAA,WAAAA,CAAAA,aAAAA,CAAtB,IAAsBA,CAAtB;;;;AAEP,UAA2C;AACzCD,EAAAA,aAAa,CAAbA,WAAAA,GAAAA,eAAAA;AACD","sourcesContent":["import React from 'react'\nimport { NextRouter } from './router/router'\n\nexport const RouterContext = React.createContext(null as any)\n\nif (process.env.NODE_ENV !== 'production') {\n RouterContext.displayName = 'RouterContext'\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a4/67/de8141219b0ec5e36cbde9cd58898c17cd62241a92d45fe490f7c6945aed50b20f4c1dc8ab5fdb10c30894a394cb21fc357ea915c716930826421976a3b6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a4/67/de8141219b0ec5e36cbde9cd58898c17cd62241a92d45fe490f7c6945aed50b20f4c1dc8ab5fdb10c30894a394cb21fc357ea915c716930826421976a3b6 new file mode 100644 index 00000000..22850e6e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a4/67/de8141219b0ec5e36cbde9cd58898c17cd62241a92d45fe490f7c6945aed50b20f4c1dc8ab5fdb10c30894a394cb21fc357ea915c716930826421976a3b6 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\";\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nexport const getStaticProps = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n return {\n props: {\n ninjas: data\n }\n };\n};\n\nconst Ninjas = ({\n ninjas\n}) => {\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 7\n }, this), ninjas.map(ninja => /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 11\n }, this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 5\n }, this);\n};\n\nexport default Ninjas;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","getStaticProps","res","fetch","data","json","props","ninjas","Ninjas","console","log","map","ninja","single","name","id"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAEA,OAAO,MAAMC,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,MAAM,EAAEH;AADL;AADJ,GAAP;AAKH,CATM;;AAaP,MAAMI,MAAM,GAAG,CAAC;AAAED,EAAAA;AAAF,CAAD,KAAgB;AAC7BE,EAAAA,OAAO,CAACC,GAAR,CAAYH,MAAZ;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,EAEGA,MAAM,CAACI,GAAP,CAAWC,KAAK,iBACf;AAAA,6BACE;AAAG,QAAA,SAAS,EAAEZ,MAAM,CAACa,MAArB;AAAA,+BACE;AAAA,oBAAMD,KAAK,CAACE;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,OAAUF,KAAK,CAACG,EAAhB;AAAA;AAAA;AAAA;AAAA,YADD,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAYD,CAfD;;AAiBA,eAAeP,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a5/7f/97e517c3db4664ca34a271bd2d53e06330634ca280870cd5c36328f70939e2ff84684503fc3ae19cece6a1b75d2cab6ddc4b9637f47a94ae92bc98e87b39 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a5/7f/97e517c3db4664ca34a271bd2d53e06330634ca280870cd5c36328f70939e2ff84684503fc3ae19cece6a1b75d2cab6ddc4b9637f47a94ae92bc98e87b39 new file mode 100644 index 00000000..97b95b5f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a5/7f/97e517c3db4664ca34a271bd2d53e06330634ca280870cd5c36328f70939e2ff84684503fc3ae19cece6a1b75d2cab6ddc4b9637f47a94ae92bc98e87b39 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a6/ff/a8baefb98a548a3511ffb8815d5170e70e2d9aa5a9a8489241005561ec90dddc8c08cffd51da6849da88cd3b2cab4facdea44e8a08b2fe71daf52d9304f4 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a6/ff/a8baefb98a548a3511ffb8815d5170e70e2d9aa5a9a8489241005561ec90dddc8c08cffd51da6849da88cd3b2cab4facdea44e8a08b2fe71daf52d9304f4 new file mode 100644 index 00000000..36c77fd9 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a6/ff/a8baefb98a548a3511ffb8815d5170e70e2d9aa5a9a8489241005561ec90dddc8c08cffd51da6849da88cd3b2cab4facdea44e8a08b2fe71daf52d9304f4 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n console.log(res);\n console.log(data);\n console.log(id);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","console","log","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAIH,CATM;;AAWP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE7BS,EAAAA,OAAO,CAACC,GAAR,CAAYhB,GAAZ;AACAe,EAAAA,OAAO,CAACC,GAAR,CAAYd,IAAZ;AACAa,EAAAA,OAAO,CAACC,GAAR,CAAYR,EAAZ;AAEE,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMF,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAfD;;AAiBA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/67/db3fa533713c35fa83384538be318b5f635022cae55ff312d7693474de3f44e9365cc20a196f6e11cdb62b887f4cd96db1b109465504ae3dab2239ac954d b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/67/db3fa533713c35fa83384538be318b5f635022cae55ff312d7693474de3f44e9365cc20a196f6e11cdb62b887f4cd96db1b109465504ae3dab2239ac954d new file mode 100644 index 00000000..a381ba8f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/67/db3fa533713c35fa83384538be318b5f635022cae55ff312d7693474de3f44e9365cc20a196f6e11cdb62b887f4cd96db1b109465504ae3dab2239ac954d @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAYA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMJ,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log('te11t');\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/79/b6a4597c12ebd1017acedb1d050701716bf637c819485f4277cea4cc77ea6e4c32ca3e109024fd4c007aecf672c7d33eeaefead2aca174a9e2b4d50fc99a b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/79/b6a4597c12ebd1017acedb1d050701716bf637c819485f4277cea4cc77ea6e4c32ca3e109024fd4c007aecf672c7d33eeaefead2aca174a9e2b4d50fc99a new file mode 100644 index 00000000..fa954490 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a7/79/b6a4597c12ebd1017acedb1d050701716bf637c819485f4277cea4cc77ea6e4c32ca3e109024fd4c007aecf672c7d33eeaefead2aca174a9e2b4d50fc99a @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css'; // import styles from '../styles/Home.module.css'\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"styles.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninjas","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB,C,CACA;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEIA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACpB;AAAA,+BACY;AAAG,UAAA,SAAS,EAAC,eAAb;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADZ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADoB;AAAA,KAAhB,CAFJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,M;;AAeN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n// import styles from '../styles/Home.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a8/a2/c828db23fa8b6c8d492547f0399e21904bd7a8da7747bf1d9d004e91a6e1f427a6b33155834fabfd993c13f130ff655ef7001efcc390bfeb800e0a161550 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a8/a2/c828db23fa8b6c8d492547f0399e21904bd7a8da7747bf1d9d004e91a6e1f427a6b33155834fabfd993c13f130ff655ef7001efcc390bfeb800e0a161550 new file mode 100644 index 00000000..f3ac1c2e --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a8/a2/c828db23fa8b6c8d492547f0399e21904bd7a8da7747bf1d9d004e91a6e1f427a6b33155834fabfd993c13f130ff655ef7001efcc390bfeb800e0a161550 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\_app.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport Layout from '../components/Layout';\nimport '../styles/globals.css';\n\nfunction MyApp({\n Component,\n pageProps\n}) {\n return /*#__PURE__*/_jsxDEV(Layout, {\n children: /*#__PURE__*/_jsxDEV(Component, _objectSpread({}, pageProps), void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n\nexport default MyApp;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/_app.js"],"names":["Layout","MyApp","Component","pageProps"],"mappings":";;;;;;;;;AAAA,OAAOA,MAAP,MAAmB,sBAAnB;AACA,OAAO,uBAAP;;AAEA,SAASC,KAAT,CAAe;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAf,EAAyC;AACvC,sBACE,QAAC,MAAD;AAAA,2BACE,QAAC,SAAD,oBAAeA,SAAf;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAKD;;AAED,eAAeF,KAAf","sourcesContent":["import Layout from '../components/Layout'\nimport '../styles/globals.css'\n\nfunction MyApp({ Component, pageProps }) {\n return (\n \n \n \n )\n}\n\nexport default MyApp"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a9/7d/d19d8b29cd94cd58b635bb153a9d20788d9582e992b6062e258ea2e99baeb62452dc490c65c39f2e9436dcc06e185b373b3c4aa9b4cb60a2e64fdece7780 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a9/7d/d19d8b29cd94cd58b635bb153a9d20788d9582e992b6062e258ea2e99baeb62452dc490c65c39f2e9436dcc06e185b373b3c4aa9b4cb60a2e64fdece7780 new file mode 100644 index 00000000..5f6bf86d --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/a9/7d/d19d8b29cd94cd58b635bb153a9d20788d9582e992b6062e258ea2e99baeb62452dc490c65c39f2e9436dcc06e185b373b3c4aa9b4cb60a2e64fdece7780 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [\"console.log('test');\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,oDAGI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ,eAKI;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aALJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAUH,CAXD;;KAAMJ,O;;AAaN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n console.log('test');\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/2d/d8550d6b8067bfd9f4503aeb3253c5a5df7b90b6303dbad78c099de15e862f91dbea1f27f6dff55a3ad260bfb9ef663a4c2312b69f52377a4a7b9e41009c b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/2d/d8550d6b8067bfd9f4503aeb3253c5a5df7b90b6303dbad78c099de15e862f91dbea1f27f6dff55a3ad260bfb9ef663a4c2312b69f52377a4a7b9e41009c new file mode 100644 index 00000000..bbef329f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/2d/d8550d6b8067bfd9f4503aeb3253c5a5df7b90b6303dbad78c099de15e862f91dbea1f27f6dff55a3ad260bfb9ef663a4c2312b69f52377a4a7b9e41009c @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.HeadManagerContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar HeadManagerContext = /*#__PURE__*/_react[\"default\"].createContext({});\n\nexports.HeadManagerContext = HeadManagerContext;\n\nif (true) {\n HeadManagerContext.displayName = 'HeadManagerContext';\n}","map":{"version":3,"sources":["../../../next-server/lib/head-manager-context.ts"],"names":["HeadManagerContext","React"],"mappings":";;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;;;;;AAEO;;AAAA,IAAMA,kBAKX,GAAA,aAAGC,MAAAA,WAAAA,CAAAA,aAAAA,CALE,EAKFA,CALE;;;;AAOP,UAA2C;AACzCD,EAAAA,kBAAkB,CAAlBA,WAAAA,GAAAA,oBAAAA;AACD","sourcesContent":["import React from 'react'\n\nexport const HeadManagerContext: React.Context<{\n updateHead?: (state: any) => void\n mountedInstances?: any\n updateScripts?: (state: any) => void\n scripts?: any\n}> = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n HeadManagerContext.displayName = 'HeadManagerContext'\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/6b/85bc5a8e319dc04fb2a8a9e48b761f79628d6671b7fa98b799bd568e90b2e2dd6e9565d35c4c8655312837a3c7a9b4ce6b39164dc2822ce63831217d6962 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/6b/85bc5a8e319dc04fb2a8a9e48b761f79628d6671b7fa98b799bd568e90b2e2dd6e9565d35c4c8655312837a3c7a9b4ce6b39164dc2822ce63831217d6962 new file mode 100644 index 00000000..f474b4f5 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/aa/6b/85bc5a8e319dc04fb2a8a9e48b761f79628d6671b7fa98b799bd568e90b2e2dd6e9565d35c4c8655312837a3c7a9b4ce6b39164dc2822ce63831217d6962 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = withRouter;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"./router\");\n\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(ComposedComponent, Object.assign({\n router: (0, _router.useRouter)()\n }, props));\n }\n\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps // This is needed to allow checking for custom getInitialProps in _app\n ;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n\n if (true) {\n const name = ComposedComponent.displayName || ComposedComponent.name || 'Unknown';\n WithRouterWrapper.displayName = `withRouter(${name})`;\n }\n\n return WithRouterWrapper;\n}","map":{"version":3,"sources":["../../client/with-router.tsx"],"names":["ComposedComponent","getInitialProps","WithRouterWrapper","name"],"mappings":";;;;;;;AAAA,IAAA,MAAA,GAAA,sBAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;AAEA,IAAA,OAAA,GAAA,OAAA,CAAA,UAAA,CAAA;;AAWe,SAAA,UAAA,CAAA,iBAAA,EAK+B;AAC5C,WAAA,iBAAA,CAAA,KAAA,EAAoD;AAClD,WAAA,aAAO,MAAA,CAAA,OAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,MAAA,CAAA;AAAmB,MAAA,MAAM,EAAE,CAAA,GAAA,OAAA,CAA3B,SAA2B;AAA3B,KAAA,EAAP,KAAO,CAAA,CAAP;AAGF;;AAAA,EAAA,iBAAiB,CAAjB,eAAA,GAAoCA,iBAAiB,CAACC,eAAtD,CACA;AADA;AAEEC,EAAAA,iBAAD,CAAA,mBAACA,GAAiDF,iBAAD,CAAjD,mBAACE;;AACF,YAA2C;AACzC,UAAMC,IAAI,GACRH,iBAAiB,CAAjBA,WAAAA,IAAiCA,iBAAiB,CAAlDA,IAAAA,IADF,SAAA;AAEAE,IAAAA,iBAAiB,CAAjBA,WAAAA,GAAiC,cAAaC,IAA9CD,GAAAA;AAGF;;AAAA,SAAA,iBAAA;AACD","sourcesContent":["import React from 'react'\nimport { NextComponentType, NextPageContext } from '../next-server/lib/utils'\nimport { NextRouter, useRouter } from './router'\n\nexport type WithRouterProps = {\n router: NextRouter\n}\n\nexport type ExcludeRouterProps

= Pick<\n P,\n Exclude\n>\n\nexport default function withRouter<\n P extends WithRouterProps,\n C = NextPageContext\n>(\n ComposedComponent: NextComponentType\n): React.ComponentType> {\n function WithRouterWrapper(props: any): JSX.Element {\n return \n }\n\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps\n // This is needed to allow checking for custom getInitialProps in _app\n ;(WithRouterWrapper as any).origGetInitialProps = (ComposedComponent as any).origGetInitialProps\n if (process.env.NODE_ENV !== 'production') {\n const name =\n ComposedComponent.displayName || ComposedComponent.name || 'Unknown'\n WithRouterWrapper.displayName = `withRouter(${name})`\n }\n\n return WithRouterWrapper\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/68/5397d364a6a13cde2cb40fcca4c832cfd634f8491964aa37015d1f54ca557ae0518f61d1ea36ba5a0d95977e8e36f33ec639ff1867d07ae9e8cc83bc4f4e b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/68/5397d364a6a13cde2cb40fcca4c832cfd634f8491964aa37015d1f54ca557ae0518f61d1ea36ba5a0d95977e8e36f33ec639ff1867d07ae9e8cc83bc4f4e new file mode 100644 index 00000000..5902ce39 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/68/5397d364a6a13cde2cb40fcca4c832cfd634f8491964aa37015d1f54ca557ae0518f61d1ea36ba5a0d95977e8e36f33ec639ff1867d07ae9e8cc83bc4f4e @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n children: /*#__PURE__*/_jsxDEV(\"a\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Footer, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this) //

\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBAGM;AAAA,4BACE,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YADF,eAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI,QAAC,IAAD;AAAA,6BACA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,YALJ,eAQI,QAAC,MAAD;AAAA;AAAA;AAAA;AAAA,YARJ;AAAA;AAAA;AAAA;AAAA;AAAA,UAHN,CAaE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtEF;AAwED;KAzEuBA,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n \n \n
\n \n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n \n \n
\n
\n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/7f/319d7279c655c457c8909d628f9b5d56bbd8f553c8960a48309bb81fbd0eb2af21043e6f8e0a6273cb22d0221e83987445c1fd59e964d7b699dfc8e604fd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/7f/319d7279c655c457c8909d628f9b5d56bbd8f553c8960a48309bb81fbd0eb2af21043e6f8e0a6273cb22d0221e83987445c1fd59e964d7b699dfc8e604fd new file mode 100644 index 00000000..d1b2a19f --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ab/7f/319d7279c655c457c8909d628f9b5d56bbd8f553c8960a48309bb81fbd0eb2af21043e6f8e0a6273cb22d0221e83987445c1fd59e964d7b699dfc8e604fd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\_app.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport '../styles/globals.css';\n\nfunction MyApp({\n Component,\n pageProps\n}) {\n return /*#__PURE__*/_jsxDEV(Component, _objectSpread({}, pageProps), void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 10\n }, this);\n}\n\nexport default MyApp;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/_app.js"],"names":["MyApp","Component","pageProps"],"mappings":";;;;;;;;;AAAA,OAAO,uBAAP;;AAEA,SAASA,KAAT,CAAe;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAf,EAAyC;AACvC,sBAAO,QAAC,SAAD,oBAAeA,SAAf;AAAA;AAAA;AAAA;AAAA,UAAP;AACD;;AAED,eAAeF,KAAf","sourcesContent":["import '../styles/globals.css'\n\nfunction MyApp({ Component, pageProps }) {\n return \n}\n\nexport default MyApp\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/4b/ecd7098418e97af6bd46f5f8503b6ba0cc378ccfb01edf80f965db90db1328d1769d4f2458b124be0826bf1afef53b5b4b7264bf01a291a654cb0f6b57be b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/4b/ecd7098418e97af6bd46f5f8503b6ba0cc378ccfb01edf80f965db90db1328d1769d4f2458b124be0826bf1afef53b5b4b7264bf01a291a654cb0f6b57be new file mode 100644 index 00000000..06875991 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/4b/ecd7098418e97af6bd46f5f8503b6ba0cc378ccfb01edf80f965db90db1328d1769d4f2458b124be0826bf1afef53b5b4b7264bf01a291a654cb0f6b57be @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.isDynamicRoute = isDynamicRoute; // Identify /[param]/ in route string\n\nvar TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\n\nfunction isDynamicRoute(route) {\n return TEST_ROUTE.test(route);\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/is-dynamic.ts"],"names":["TEST_ROUTE"],"mappings":";;;yCAAA;;AACA,IAAMA,UAAU,GAAhB,sBAAA;;AAEO,SAAA,cAAA,CAAA,KAAA,EAAgD;AACrD,SAAOA,UAAU,CAAVA,IAAAA,CAAP,KAAOA,CAAP;AACD","sourcesContent":["// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/\n\nexport function isDynamicRoute(route: string): boolean {\n return TEST_ROUTE.test(route)\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/62/809d406403cd95472f52b0a8edeab7223ab45898e04c6c7675488cbb57fa14ecf1d99a2561e89e748b5035ce35edc98193a83001df4c53a2a21042f03dfd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/62/809d406403cd95472f52b0a8edeab7223ab45898e04c6c7675488cbb57fa14ecf1d99a2561e89e748b5035ce35edc98193a83001df4c53a2a21042f03dfd new file mode 100644 index 00000000..c29d1ded --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/62/809d406403cd95472f52b0a8edeab7223ab45898e04c6c7675488cbb57fa14ecf1d99a2561e89e748b5035ce35edc98193a83001df4c53a2a21042f03dfd @@ -0,0 +1 @@ +{"ast":null,"code":"import { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\index.js\";\nimport Head from 'next/head';\nimport Footer from '../components/Footer';\nimport Navbar from '../components/Navbar';\nimport styles from '../styles/Home.module.css';\nimport Link from 'next/link';\nexport default function Home() {\n return /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(Head, {\n children: [/*#__PURE__*/_jsxDEV(\"title\", {\n children: \"Home Pg\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"meta\", {\n name: \"keywords\",\n content: \"keyword, another\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: \"Home Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.text,\n children: \"Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n href: \"ninjas\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.btn,\n children: \"See Ninja Listing\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this)]\n }, void 0, true) //
\n // \n // Create Next App\n // \n // \n //
\n //

\n // Welcome to Next.js!\n //

\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n ;\n}\n_c = Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/index.js"],"names":["Head","Footer","Navbar","styles","Link","Home","title","text","btn"],"mappings":";;;AAAA,OAAOA,IAAP,MAAiB,WAAjB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,eAAe,SAASC,IAAT,GAAgB;AAC7B,sBACI;AAAA,4BACA,QAAC,IAAD;AAAA,8BAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFF,eAGE;AAAM,QAAA,IAAI,EAAC,UAAX;AAAsB,QAAA,OAAO,EAAC;AAA9B;AAAA;AAAA;AAAA;AAAA,cAHF;AAAA;AAAA;AAAA;AAAA;AAAA,YADA,eASE;AAAA,8BACI;AAAI,QAAA,SAAS,EAAEF,MAAM,CAACG,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADJ,eAEI;AAAG,QAAA,SAAS,EAAEH,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFJ,eAGI;AAAG,QAAA,SAAS,EAAEJ,MAAM,CAACI,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHJ,eAII,QAAC,IAAD;AAAM,QAAA,IAAI,EAAC,QAAX;AAAA,+BACA;AAAG,UAAA,SAAS,EAAEJ,MAAM,CAACK,GAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AAAA;AAAA;AAAA;AAAA,cAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,YATF;AAAA,kBADJ,CAmBE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA5EF;AA8ED;KA/EuBH,I","sourcesContent":["import Head from 'next/head'\nimport Footer from '../components/Footer'\nimport Navbar from '../components/Navbar'\nimport styles from '../styles/Home.module.css'\nimport Link from 'next/link'\n\nexport default function Home() {\n return (\n <>\n \n\n Home Pg\n \n \n \n \n {/* //
*/}\n
\n

Home Page

\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

\n

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

\n \n See Ninja Listing\n \n
\n \n //
\n // \n // Create Next App\n // \n // \n\n //
\n //

\n // Welcome to Next.js!\n //

\n\n //

\n // Get started by editing{' '}\n // pages/index.js\n //

\n\n //
\n // \n //

Documentation →

\n //

Find in-depth information about Next.js features and API.

\n //
\n\n // \n //

Learn →

\n //

Learn about Next.js in an interactive course with quizzes!

\n //
\n\n // \n //

Examples →

\n //

Discover and deploy boilerplate example Next.js projects.

\n // \n\n // \n //

Deploy →

\n //

\n // Instantly deploy your Next.js site to a public URL with Vercel.\n //

\n // \n //
\n //
\n\n //
\n // \n // Powered by{' '}\n // \"Vercel\n // \n //
\n //
\n )\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/e3/448faeb9e1964866dbf115a4d36de36112f8948ae4ee7bf38f7386966164a0d1128a0d68cd9adf0f239cd8041f72d75c79e335fb5150f073748e75d8fb05 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/e3/448faeb9e1964866dbf115a4d36de36112f8948ae4ee7bf38f7386966164a0d1128a0d68cd9adf0f239cd8041f72d75c79e335fb5150f073748e75d8fb05 new file mode 100644 index 00000000..296952ae --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ac/e3/448faeb9e1964866dbf115a4d36de36112f8948ae4ee7bf38f7386966164a0d1128a0d68cd9adf0f239cd8041f72d75c79e335fb5150f073748e75d8fb05 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json(); // map data to an array of path objects with params (id)\n\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n paths,\n fallback: false\n };\n};\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.address.city\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 5\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website","address","city"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB,CAFwC,CAIxC;;AACA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC9B,WAAO;AACLC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADH,KAAP;AAGD,GAJa,CAAd;AAMA,SAAO;AACLL,IAAAA,KADK;AAELM,IAAAA,QAAQ,EAAE;AAFL,GAAP;AAID,CAfM;AAiBP,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC/C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,gDAAgDO,EAAjD,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADF,GAAP;AAGD,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC7B,sBACE;AAAA,4BACE;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YADF,eAEE;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAFF,eAGE;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAHF,eAIE;AAAA,gBAAKX,KAAK,CAACY,OAAN,CAAcC;AAAnB;AAAA;AAAA;AAAA;AAAA,YAJF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAQD,CATD;;AAWA,eAAeL,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n // map data to an array of path objects with params (id)\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id);\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return (\r\n
\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n

{ ninja.address.city }

\r\n
\r\n );\r\n}\r\n\r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ad/39/ec1f135f20252539d56db4c0784a765b0532749296d0d08b82b8412af307619affd02d75b97eaf7102c1e6f098a9951bf5ff11c0651dcfd7a2fb420f955b b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ad/39/ec1f135f20252539d56db4c0784a765b0532749296d0d08b82b8412af307619affd02d75b97eaf7102c1e6f098a9951bf5ff11c0651dcfd7a2fb420f955b new file mode 100644 index 00000000..73472adc --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ad/39/ec1f135f20252539d56db4c0784a765b0532749296d0d08b82b8412af307619affd02d75b97eaf7102c1e6f098a9951bf5ff11c0651dcfd7a2fb420f955b @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css';\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single.single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;;AAeA,IAAMC,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,eAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/af/e9/1d79057b52c39dd6303ed1b367fd03dae56c8cfc3ab173f6d56e4f6ab0431c337cc96e2e92ae65f4a6808e2b977c285b2af698f18bb16d649abc12788fdd b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/af/e9/1d79057b52c39dd6303ed1b367fd03dae56c8cfc3ab173f6d56e4f6ab0431c337cc96e2e92ae65f4a6808e2b977c285b2af698f18bb16d649abc12788fdd new file mode 100644 index 00000000..5d8605a8 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/af/e9/1d79057b52c39dd6303ed1b367fd03dae56c8cfc3ab173f6d56e4f6ab0431c337cc96e2e92ae65f4a6808e2b977c285b2af698f18bb16d649abc12788fdd @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\",\n _this = this;\n\n// this function runs as many times as there are items in what you fetch\nvar Details = function Details(_ref) {\n var ninja = _ref.ninja;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.address.city\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, _this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, _this);\n};\n\n_c = Details;\nexport var __N_SSG = true;\nexport default Details;\n\nvar _c;\n\n$RefreshReg$(_c, \"Details\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details","ninja","name","email","website","address","city"],"mappings":";;;;;AAmBA;AAWA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAe;AAAA,MAAZC,KAAY,QAAZA,KAAY;AAC3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,eAEI;AAAA,gBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA,aAFJ,eAGI;AAAA,gBAAKD,KAAK,CAACE;AAAX;AAAA;AAAA;AAAA;AAAA,aAHJ,eAII;AAAA,gBAAKF,KAAK,CAACG;AAAX;AAAA;AAAA;AAAA;AAAA,aAJJ,eAKI;AAAA,gBAAKH,KAAK,CAACI,OAAN,CAAcC;AAAnB;AAAA;AAAA;AAAA;AAAA,aALJ;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AASH,CAVD;;KAAMN,O;;AAYN,eAAeA,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n

{ ninja.address.city }

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/37/5912411771776080fc17549423de274eefb965251fd6c8425e9716a9fc9fd3865306080148b3a2a9b88654b30fc2bc8f77d83fc95ef85263177573cd1c48 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/37/5912411771776080fc17549423de274eefb965251fd6c8425e9716a9fc9fd3865306080148b3a2a9b88654b30fc2bc8f77d83fc95ef85263177573cd1c48 new file mode 100644 index 00000000..a99729a5 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/37/5912411771776080fc17549423de274eefb965251fd6c8425e9716a9fc9fd3865306080148b3a2a9b88654b30fc2bc8f77d83fc95ef85263177573cd1c48 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n console.log(res);\n console.log(data);\n console.log(id);\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","console","log","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAIFY,EAAAA,OAAO,CAACC,GAAR,CAAYf,GAAZ;AACAc,EAAAA,OAAO,CAACC,GAAR,CAAYb,IAAZ;AACAY,EAAAA,OAAO,CAACC,GAAR,CAAYP,EAAZ;AACD,CAZM;;AAcP,MAAMQ,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n \r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/89/bd76c7b026058a07faef285dadfb54766e1fdd8431ff166f2a7be56fbbc017a4c5d52eefd88040c86bbc78aea4705b5679c59a391ef4aa961143553accb5 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/89/bd76c7b026058a07faef285dadfb54766e1fdd8431ff166f2a7be56fbbc017a4c5d52eefd88040c86bbc78aea4705b5679c59a391ef4aa961143553accb5 new file mode 100644 index 00000000..e83d6a38 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/89/bd76c7b026058a07faef285dadfb54766e1fdd8431ff166f2a7be56fbbc017a4c5d52eefd88040c86bbc78aea4705b5679c59a391ef4aa961143553accb5 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nimport styles from '../../styles/Ninjas.module.css';\nimport Link from 'next/link';\n\nvar Ninjas = function Ninjas(_ref) {\n var ninjas = _ref.ninjas;\n // console.log(ninjas)\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 7\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(Link, {\n href: '/ninjas/' + ninja.id,\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: styles.single,\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 5\n }, _this);\n};\n\n_c = Ninjas;\nexport var __N_SSG = true;\nexport default Ninjas;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninjas\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["styles","Link","Ninjas","ninjas","map","ninja","id","single","name"],"mappings":";;;;;AAAA,OAAOA,MAAP,MAAmB,gCAAnB;AACA,OAAOC,IAAP,MAAiB,WAAjB;;AAWA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC7B;AAEA,sBACE;AAAA,4BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADF,EAEGA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACf,QAAC,IAAD;AAAM,QAAA,IAAI,EAAE,aAAaA,KAAK,CAACC,EAA/B;AAAA,+BACE;AAAG,UAAA,SAAS,EAAEN,MAAM,CAACO,MAArB;AAAA,iCACE;AAAA,sBAAMF,KAAK,CAACG;AAAZ;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF,SAAwCH,KAAK,CAACC,EAA9C;AAAA;AAAA;AAAA;AAAA,eADe;AAAA,KAAhB,CAFH;AAAA;AAAA;AAAA;AAAA;AAAA,WADF;AAYD,CAfD;;KAAMJ,M;;AAiBN,eAAeA,MAAf","sourcesContent":["import styles from '../../styles/Ninjas.module.css'\r\nimport Link from 'next/link'\r\n\r\nexport const getStaticProps = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninjas: data }\r\n }\r\n}\r\n\r\nconst Ninjas = ({ ninjas }) => {\r\n // console.log(ninjas)\r\n\r\n return (\r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n \r\n

{ ninja.name }

\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninjas;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/c1/874c726fc0f32deb8bfa34d1692e6f047818ead386e376dbb98c5c3546c746726477d5c0b5c757d6da6bc46d60d66ff1a2cb3afb99cc53686b90cc818bc3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/c1/874c726fc0f32deb8bfa34d1692e6f047818ead386e376dbb98c5c3546c746726477d5c0b5c757d6da6bc46d60d66ff1a2cb3afb99cc53686b90cc818bc3 new file mode 100644 index 00000000..19e61a31 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b0/c1/874c726fc0f32deb8bfa34d1692e6f047818ead386e376dbb98c5c3546c746726477d5c0b5c757d6da6bc46d60d66ff1a2cb3afb99cc53686b90cc818bc3 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n console.log(res);\n console.log(data);\n console.log(id);\n console.log('hello');\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","console","log","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGFY,EAAAA,OAAO,CAACC,GAAR,CAAYf,GAAZ;AACAc,EAAAA,OAAO,CAACC,GAAR,CAAYb,IAAZ;AACAY,EAAAA,OAAO,CAACC,GAAR,CAAYP,EAAZ;AACAM,EAAAA,OAAO,CAACC,GAAR,CAAY,OAAZ;AAED,CAbM;;AAeP,MAAMC,OAAO,GAAG,CAAC;AAAEV,EAAAA;AAAF,CAAD,KAAe;AAG3B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADJ,eAEI;AAAA,gBAAMA,KAAK,CAACW;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKX,KAAK,CAACY;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n console.log(res);\r\n console.log(data);\r\n console.log(id);\r\n console.log('hello');\r\n \r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n\r\n return ( \r\n
\r\n

Details Page

\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b2/c2/0775e12ee43a0ba67c62fb1704832544d714f5c10be96e2fa51a66307ef3e6b47d9d5219d4d60465cdd5a174b1fc1d874a6d46242053d22443545f0fbea3 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b2/c2/0775e12ee43a0ba67c62fb1704832544d714f5c10be96e2fa51a66307ef3e6b47d9d5219d4d60465cdd5a174b1fc1d874a6d46242053d22443545f0fbea3 new file mode 100644 index 00000000..a5e37a5b --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b2/c2/0775e12ee43a0ba67c62fb1704832544d714f5c10be96e2fa51a66307ef3e6b47d9d5219d4d60465cdd5a174b1fc1d874a6d46242053d22443545f0fbea3 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.removePathTrailingSlash = removePathTrailingSlash;\nexports.normalizePathTrailingSlash = void 0;\n/**\n* Removes the trailing slash of a path if there is one. Preserves the root path `/`.\n*/\n\nfunction removePathTrailingSlash(path) {\n return path.endsWith('/') && path !== '/' ? path.slice(0, -1) : path;\n}\n/**\n* Normalizes the trailing slash of a path according to the `trailingSlash` option\n* in `next.config.js`.\n*/\n\n\nconst normalizePathTrailingSlash = process.env.__NEXT_TRAILING_SLASH ? path => {\n if (/\\.[^/]+\\/?$/.test(path)) {\n return removePathTrailingSlash(path);\n } else if (path.endsWith('/')) {\n return path;\n } else {\n return path + '/';\n }\n} : removePathTrailingSlash;\nexports.normalizePathTrailingSlash = normalizePathTrailingSlash;","map":{"version":3,"sources":["../../client/normalize-trailing-slash.ts"],"names":["path","normalizePathTrailingSlash","process","removePathTrailingSlash"],"mappings":";;;;;AAAA;AACA;AACA;;AACO,SAAA,uBAAA,CAAA,IAAA,EAAuD;AAC5D,SAAOA,IAAI,CAAJA,QAAAA,CAAAA,GAAAA,KAAsBA,IAAI,KAA1BA,GAAAA,GAAqCA,IAAI,CAAJA,KAAAA,CAAAA,CAAAA,EAAc,CAAnDA,CAAqCA,CAArCA,GAAP,IAAA;AAGF;AAAA;AACA;AACA;AACA;;;AACO,MAAMC,0BAA0B,GAAGC,OAAO,CAAPA,GAAAA,CAAAA,qBAAAA,GACrCF,IAAD,IAA0B;AACxB,MAAI,cAAA,IAAA,CAAJ,IAAI,CAAJ,EAA8B;AAC5B,WAAOG,uBAAuB,CAA9B,IAA8B,CAA9B;AADF,GAAA,MAEO,IAAIH,IAAI,CAAJA,QAAAA,CAAJ,GAAIA,CAAJ,EAAwB;AAC7B,WAAA,IAAA;AADK,GAAA,MAEA;AACL,WAAOA,IAAI,GAAX,GAAA;AAEH;AATqCE,CAAAA,GAAnC,uBAAA","sourcesContent":["/**\n * Removes the trailing slash of a path if there is one. Preserves the root path `/`.\n */\nexport function removePathTrailingSlash(path: string): string {\n return path.endsWith('/') && path !== '/' ? path.slice(0, -1) : path\n}\n\n/**\n * Normalizes the trailing slash of a path according to the `trailingSlash` option\n * in `next.config.js`.\n */\nexport const normalizePathTrailingSlash = process.env.__NEXT_TRAILING_SLASH\n ? (path: string): string => {\n if (/\\.[^/]+\\/?$/.test(path)) {\n return removePathTrailingSlash(path)\n } else if (path.endsWith('/')) {\n return path\n } else {\n return path + '/'\n }\n }\n : removePathTrailingSlash\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/12/6cdc174707b423c40d13791be6549044045de640aa36d3eec09f4abfee04d22bfada230ada3fef38dc341c7cbff03774f1e6ef734a98b147f8a843c4bf96 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/12/6cdc174707b423c40d13791be6549044045de640aa36d3eec09f4abfee04d22bfada230ada3fef38dc341c7cbff03774f1e6ef734a98b147f8a843c4bf96 new file mode 100644 index 00000000..8f8729ee --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/12/6cdc174707b423c40d13791be6549044045de640aa36d3eec09f4abfee04d22bfada230ada3fef38dc341c7cbff03774f1e6ef734a98b147f8a843c4bf96 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n console.log(ninjas);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","console","log","ninjas","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAE7BS,EAAAA,OAAO,CAACC,GAAR,CAAYC,MAAZ;AACE,sBACI;AAAA,4BAEI;AAAA,gBAAMX,KAAK,CAACY;AAAZ;AAAA;AAAA;AAAA;AAAA,YAFJ,eAGI;AAAA,gBAAKZ,KAAK,CAACa;AAAX;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKb,KAAK,CAACc;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AASH,CAZD;;AAcA,eAAeN,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n \r\n console.log(ninjas)\r\n return ( \r\n
\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/4e/949212a8e3f456d893985393c5f3a6c77806fa068c61f9047cc60dcb272c436827bfb96f9643ce072234d0144243171f552660e659509c1834d1de71cbf9 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/4e/949212a8e3f456d893985393c5f3a6c77806fa068c61f9047cc60dcb272c436827bfb96f9643ce072234d0144243171f552660e659509c1834d1de71cbf9 new file mode 100644 index 00000000..8488ea18 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b4/4e/949212a8e3f456d893985393c5f3a6c77806fa068c61f9047cc60dcb272c436827bfb96f9643ce072234d0144243171f552660e659509c1834d1de71cbf9 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\n const data = await res.json();\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n // paths: paths\n // line above is same as below (shorter)\n paths,\n fallback: false\n };\n}; // this function runs as many times as there are items in what you fetch\n\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [\"console.log(\", ninja, \");\", /*#__PURE__*/_jsxDEV(\"h2\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACtC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,2CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC5B,WAAO;AACHC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADL,KAAP;AAGH,GAJa,CAAd;AAMA,SAAO;AACH;AACA;AACAL,IAAAA,KAHG;AAIHM,IAAAA,QAAQ,EAAE;AAJP,GAAP;AAMH,CAhBM,C,CAmBP;;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC7C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,8CAA8CO,EAA/C,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACHU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADJ,GAAP;AAGH,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC3B,sBACI;AAAA,+BACiBA,KADjB,qBAGI;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YAHJ,eAII;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAJJ,eAKI;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADJ;AAUH,CAXD;;AAaA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n // paths: paths\r\n // line above is same as below (shorter)\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\n\r\n// this function runs as many times as there are items in what you fetch\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users' + id);\r\n const data = await res.json();\r\n \r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return ( \r\n
\r\n console.log({ninja});\r\n {/*

Details Page

*/}\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/4a/d461eb25047849341cacc4a344be1a535b1103ad1c1817e718d1778b0cc6e027fbff70cd2cfb7d961e380bd13c7489870306ffec6972006e8a2129c59078 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/4a/d461eb25047849341cacc4a344be1a535b1103ad1c1817e718d1778b0cc6e027fbff70cd2cfb7d961e380bd13c7489870306ffec6972006e8a2129c59078 new file mode 100644 index 00000000..848313e6 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/4a/d461eb25047849341cacc4a344be1a535b1103ad1c1817e718d1778b0cc6e027fbff70cd2cfb7d961e380bd13c7489870306ffec6972006e8a2129c59078 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\index.js\",\n _this = this;\n\nvar Ninja = function Ninja(_ref) {\n var ninjas = _ref.ninjas;\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"All Ninjas\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, _this), ninjas.map(function (ninja) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"#\",\n className: \"single\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 25\n }, _this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 21\n }, _this)\n }, ninja.id, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 17\n }, _this);\n })]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 9\n }, _this);\n};\n\n_c = Ninja;\nexport var __N_SSG = true;\nexport default Ninja;\n\nvar _c;\n\n$RefreshReg$(_c, \"Ninja\");","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/index.js"],"names":["Ninja","ninjas","map","ninja","name","id"],"mappings":";;;;;AAaA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAAgB;AAAA,MAAbC,MAAa,QAAbA,MAAa;AAC1B,sBACI;AAAA,4BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aADJ,EAEKA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,0BACb;AAAA,+BACI;AAAG,UAAA,IAAI,EAAC,GAAR;AAAY,UAAA,SAAS,EAAC,QAAtB;AAAA,iCACI;AAAA,sBAAMA,KAAK,CAACC;AAAZ;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA;AADJ,SAAUD,KAAK,CAACE,EAAhB;AAAA;AAAA;AAAA;AAAA,eADa;AAAA,KAAhB,CAFL;AAAA;AAAA;AAAA;AAAA;AAAA,WADJ;AAYH,CAbD;;KAAML,K;;AAeN,eAAeA,KAAf","sourcesContent":["export const getStaticProps = async () => {\r\n const res = await fetch('http://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n return {\r\n props: {\r\n ninjas: data\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nconst Ninja = ({ ninjas }) => {\r\n return ( \r\n
\r\n

All Ninjas

\r\n {ninjas.map(ninja => (\r\n \r\n ))}\r\n
\r\n );\r\n}\r\n \r\nexport default Ninja;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/51/1d7b1b70517aa155db87604deefb6f11319ae427d92b9ade42c76084c70f24059493cb02b74c3e1b40761b74f7ace79ce5f2f8e971ffb94d0c73527b1c68 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/51/1d7b1b70517aa155db87604deefb6f11319ae427d92b9ade42c76084c70f24059493cb02b74c3e1b40761b74f7ace79ce5f2f8e971ffb94d0c73527b1c68 new file mode 100644 index 00000000..ea082aff --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b5/51/1d7b1b70517aa155db87604deefb6f11319ae427d92b9ade42c76084c70f24059493cb02b74c3e1b40761b74f7ace79ce5f2f8e971ffb94d0c73527b1c68 @@ -0,0 +1 @@ +{"ast":null,"code":"","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[""]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b7/87/be50a27e8e853a67e604fdb35ad1e2203e03d28e29fec1ed3843911745f8b0db84b8ef7fa28457983d71450a730f1a2ff44258d6210a269a1de125518b31 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b7/87/be50a27e8e853a67e604fdb35ad1e2203e03d28e29fec1ed3843911745f8b0db84b8ef7fa28457983d71450a730f1a2ff44258d6210a269a1de125518b31 new file mode 100644 index 00000000..656573a0 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b7/87/be50a27e8e853a67e604fdb35ad1e2203e03d28e29fec1ed3843911745f8b0db84b8ef7fa28457983d71450a730f1a2ff44258d6210a269a1de125518b31 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nexports.__esModule = true;\nexports.searchParamsToUrlQuery = searchParamsToUrlQuery;\nexports.urlQueryToSearchParams = urlQueryToSearchParams;\nexports.assign = assign;\n\nfunction searchParamsToUrlQuery(searchParams) {\n var query = {};\n searchParams.forEach(function (value, key) {\n if (typeof query[key] === 'undefined') {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n ;\n query[key].push(value);\n } else {\n query[key] = [query[key], value];\n }\n });\n return query;\n}\n\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === 'string' || typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') {\n return String(param);\n } else {\n return '';\n }\n}\n\nfunction urlQueryToSearchParams(urlQuery) {\n var result = new URLSearchParams();\n Object.entries(urlQuery).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n if (Array.isArray(value)) {\n value.forEach(function (item) {\n return result.append(key, stringifyUrlQueryParam(item));\n });\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\n\nfunction assign(target) {\n for (var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n searchParamsList[_key - 1] = arguments[_key];\n }\n\n searchParamsList.forEach(function (searchParams) {\n Array.from(searchParams.keys()).forEach(function (key) {\n return target[\"delete\"](key);\n });\n searchParams.forEach(function (value, key) {\n return target.append(key, value);\n });\n });\n return target;\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/querystring.ts"],"names":["query","searchParams","Array","isNaN","String","result","Object","value","item","stringifyUrlQueryParam","searchParamsList","key","target"],"mappings":";;;;;;;;;AAEO,SAAA,sBAAA,CAAA,YAAA,EAEW;AAChB,MAAMA,KAAqB,GAA3B,EAAA;AACAC,EAAAA,YAAY,CAAZA,OAAAA,CAAqB,UAAA,KAAA,EAAA,GAAA,EAAgB;AACnC,QAAI,OAAOD,KAAK,CAAZ,GAAY,CAAZ,KAAJ,WAAA,EAAuC;AACrCA,MAAAA,KAAK,CAALA,GAAK,CAALA,GAAAA,KAAAA;AADF,KAAA,MAEO,IAAIE,KAAK,CAALA,OAAAA,CAAcF,KAAK,CAAvB,GAAuB,CAAnBE,CAAJ,EAA+B;AACpC;AAAEF,MAAAA,KAAK,CAAN,GAAM,CAALA,CAAD,IAACA,CAAD,KAACA;AADG,KAAA,MAEA;AACLA,MAAAA,KAAK,CAALA,GAAK,CAALA,GAAa,CAACA,KAAK,CAAN,GAAM,CAAN,EAAbA,KAAa,CAAbA;AAEH;AARDC,GAAAA;AASA,SAAA,KAAA;AAGF;;AAAA,SAAA,sBAAA,CAAA,KAAA,EAAuD;AACrD,MACE,OAAA,KAAA,KAAA,QAAA,IACC,OAAA,KAAA,KAAA,QAAA,IAA6B,CAACE,KAAK,CADpC,KACoC,CADpC,IAEA,OAAA,KAAA,KAHF,SAAA,EAIE;AACA,WAAOC,MAAM,CAAb,KAAa,CAAb;AALF,GAAA,MAMO;AACL,WAAA,EAAA;AAEH;AAEM;;AAAA,SAAA,sBAAA,CAAA,QAAA,EAEY;AACjB,MAAMC,MAAM,GAAG,IAAf,eAAe,EAAf;AACAC,EAAAA,MAAM,CAANA,OAAAA,CAAAA,QAAAA,EAAAA,OAAAA,CAAiC,gBAAkB;AAAA;AAAA,QAAjB,GAAiB;AAAA,QAAlB,KAAkB;;AACjD,QAAIJ,KAAK,CAALA,OAAAA,CAAJ,KAAIA,CAAJ,EAA0B;AACxBK,MAAAA,KAAK,CAALA,OAAAA,CAAeC,UAAAA,IAAD;AAAA,eAAUH,MAAM,CAANA,MAAAA,CAAAA,GAAAA,EAAmBI,sBAAsB,CAAjEF,IAAiE,CAAzCF,CAAV;AAAA,OAAdE;AADF,KAAA,MAEO;AACLF,MAAAA,MAAM,CAANA,GAAAA,CAAAA,GAAAA,EAAgBI,sBAAsB,CAAtCJ,KAAsC,CAAtCA;AAEH;AANDC,GAAAA;AAOA,SAAA,MAAA;AAGK;;AAAA,SAAA,MAAA,CAAA,MAAA,EAGY;AAAA,oCAHZ,gBAGY;AAHZ,IAAA,gBAGY;AAAA;;AACjBI,EAAAA,gBAAgB,CAAhBA,OAAAA,CAA0BT,UAAAA,YAAD,EAAkB;AACzCC,IAAAA,KAAK,CAALA,IAAAA,CAAWD,YAAY,CAAvBC,IAAWD,EAAXC,EAAAA,OAAAA,CAAyCS,UAAAA,GAAD;AAAA,aAASC,MAAAA,UAAAA,CAAjDV,GAAiDU,CAAT;AAAA,KAAxCV;AACAD,IAAAA,YAAY,CAAZA,OAAAA,CAAqB,UAAA,KAAA,EAAA,GAAA;AAAA,aAAgBW,MAAM,CAANA,MAAAA,CAAAA,GAAAA,EAArCX,KAAqCW,CAAhB;AAAA,KAArBX;AAFFS,GAAAA;AAIA,SAAA,MAAA;AACD","sourcesContent":["import { ParsedUrlQuery } from 'querystring'\n\nexport function searchParamsToUrlQuery(\n searchParams: URLSearchParams\n): ParsedUrlQuery {\n const query: ParsedUrlQuery = {}\n searchParams.forEach((value, key) => {\n if (typeof query[key] === 'undefined') {\n query[key] = value\n } else if (Array.isArray(query[key])) {\n ;(query[key] as string[]).push(value)\n } else {\n query[key] = [query[key] as string, value]\n }\n })\n return query\n}\n\nfunction stringifyUrlQueryParam(param: string): string {\n if (\n typeof param === 'string' ||\n (typeof param === 'number' && !isNaN(param)) ||\n typeof param === 'boolean'\n ) {\n return String(param)\n } else {\n return ''\n }\n}\n\nexport function urlQueryToSearchParams(\n urlQuery: ParsedUrlQuery\n): URLSearchParams {\n const result = new URLSearchParams()\n Object.entries(urlQuery).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((item) => result.append(key, stringifyUrlQueryParam(item)))\n } else {\n result.set(key, stringifyUrlQueryParam(value))\n }\n })\n return result\n}\n\nexport function assign(\n target: URLSearchParams,\n ...searchParamsList: URLSearchParams[]\n): URLSearchParams {\n searchParamsList.forEach((searchParams) => {\n Array.from(searchParams.keys()).forEach((key) => target.delete(key))\n searchParams.forEach((value, key) => target.append(key, value))\n })\n return target\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/ba/b165ffa080de366842902161ad0f7d04a52fd7fd47eb6a664688da7569e01a0a50a06ba2a19dfb64541238853fb466e4157d84c420c1dbbe5c27c1176354 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/ba/b165ffa080de366842902161ad0f7d04a52fd7fd47eb6a664688da7569e01a0a50a06ba2a19dfb64541238853fb466e4157d84c420c1dbbe5c27c1176354 new file mode 100644 index 00000000..4ea60f6c --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/ba/b165ffa080de366842902161ad0f7d04a52fd7fd47eb6a664688da7569e01a0a50a06ba2a19dfb64541238853fb466e4157d84c420c1dbbe5c27c1176354 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\nexport const getStaticPaths = async () => {\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\n const data = await res.json(); // map data to an array of path objects with params (id)\n\n const paths = data.map(ninja => {\n return {\n params: {\n id: ninja.id.toString()\n }\n };\n });\n return {\n paths,\n fallback: false\n };\n};\nexport const getStaticProps = async context => {\n const id = context.params.id;\n const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id);\n const data = await res.json();\n return {\n props: {\n ninja: data\n }\n };\n};\n\nconst Details = ({\n ninja\n}) => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: ninja.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: ninja.website\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 5\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["getStaticPaths","res","fetch","data","json","paths","map","ninja","params","id","toString","fallback","getStaticProps","context","props","Details","name","email","website"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG,YAAY;AACxC,QAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,4CAAD,CAAvB;AACA,QAAMC,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB,CAFwC,CAIxC;;AACA,QAAMC,KAAK,GAAGF,IAAI,CAACG,GAAL,CAASC,KAAK,IAAI;AAC9B,WAAO;AACLC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,EAAE,EAAEF,KAAK,CAACE,EAAN,CAASC,QAAT;AAAN;AADH,KAAP;AAGD,GAJa,CAAd;AAMA,SAAO;AACLL,IAAAA,KADK;AAELM,IAAAA,QAAQ,EAAE;AAFL,GAAP;AAID,CAfM;AAiBP,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAP,IAAmB;AAC/C,QAAMJ,EAAE,GAAGI,OAAO,CAACL,MAAR,CAAeC,EAA1B;AACA,QAAMR,GAAG,GAAG,MAAMC,KAAK,CAAC,gDAAgDO,EAAjD,CAAvB;AACA,QAAMN,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAJ,EAAnB;AAEA,SAAO;AACLU,IAAAA,KAAK,EAAE;AAAEP,MAAAA,KAAK,EAAEJ;AAAT;AADF,GAAP;AAGD,CARM;;AAUP,MAAMY,OAAO,GAAG,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAe;AAC7B,sBACE;AAAA,4BACE;AAAA,gBAAMA,KAAK,CAACS;AAAZ;AAAA;AAAA;AAAA;AAAA,YADF,eAEE;AAAA,gBAAKT,KAAK,CAACU;AAAX;AAAA;AAAA;AAAA;AAAA,YAFF,eAGE;AAAA,gBAAKV,KAAK,CAACW;AAAX;AAAA;AAAA;AAAA;AAAA,YAHF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAQD,CATD;;AAWA,eAAeH,OAAf","sourcesContent":["export const getStaticPaths = async () => {\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users');\r\n const data = await res.json();\r\n\r\n // map data to an array of path objects with params (id)\r\n const paths = data.map(ninja => {\r\n return {\r\n params: { id: ninja.id.toString() }\r\n }\r\n })\r\n\r\n return {\r\n paths,\r\n fallback: false\r\n }\r\n}\r\n\r\nexport const getStaticProps = async (context) => {\r\n const id = context.params.id;\r\n const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id);\r\n const data = await res.json();\r\n\r\n return {\r\n props: { ninja: data }\r\n }\r\n}\r\n\r\nconst Details = ({ ninja }) => {\r\n return (\r\n
\r\n

{ ninja.name }

\r\n

{ ninja.email }

\r\n

{ ninja.website }

\r\n {/*

{ ninja.address.city }

*/}\r\n
\r\n );\r\n}\r\n\r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/d0/045a8b5c8cfc7ec3154f6442415f23b5e7c95ea124368298e1eed075d855ccbbad0f173bb54c8e70bbcb193c3c1d40b340c84944471a92979023aa8a1567 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/d0/045a8b5c8cfc7ec3154f6442415f23b5e7c95ea124368298e1eed075d855ccbbad0f173bb54c8e70bbcb193c3c1d40b340c84944471a92979023aa8a1567 new file mode 100644 index 00000000..14108832 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/b9/d0/045a8b5c8cfc7ec3154f6442415f23b5e7c95ea124368298e1eed075d855ccbbad0f173bb54c8e70bbcb193c3c1d40b340c84944471a92979023aa8a1567 @@ -0,0 +1 @@ +{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"E:\\\\Creative Cloud Files\\\\_E11\\\\code\\\\React\\\\NextJS\\\\ninjalist\\\\pages\\\\ninjas\\\\[id].js\";\n\nconst Details = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"Details Page\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 4,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 3,\n columnNumber: 9\n }, this);\n};\n\nexport default Details;","map":{"version":3,"sources":["E:/Creative Cloud Files/_E11/code/React/NextJS/ninjalist/pages/ninjas/[id].js"],"names":["Details"],"mappings":";;;AAAA,MAAMA,OAAO,GAAG,MAAM;AAClB,sBACI;AAAA,2BACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADJ;AAAA;AAAA;AAAA;AAAA,UADJ;AAKH,CAND;;AAQA,eAAeA,OAAf","sourcesContent":["const Details = () => {\r\n return ( \r\n
\r\n

Details Page

\r\n
\r\n );\r\n}\r\n \r\nexport default Details;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ba/08/cc3f29451aa3626a25f912d5462541b33149cddef2c0efc7039b41b6304b2cce12291dcd691e94bb68b2d30de551d6d0d85b23c06bf50e00a0bd73fc4fd6 b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ba/08/cc3f29451aa3626a25f912d5462541b33149cddef2c0efc7039b41b6304b2cce12291dcd691e94bb68b2d30de551d6d0d85b23c06bf50e00a0bd73fc4fd6 new file mode 100644 index 00000000..d13bf248 --- /dev/null +++ b/ninjalist/.next/cache/next-babel-loader/content-v2/sha512/ba/08/cc3f29451aa3626a25f912d5462541b33149cddef2c0efc7039b41b6304b2cce12291dcd691e94bb68b2d30de551d6d0d85b23c06bf50e00a0bd73fc4fd6 @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _head = _interopRequireDefault(require(\"../next-server/lib/head\"));\n\nconst statusCodes = {\n 400: 'Bad Request',\n 404: 'This page could not be found',\n 405: 'Method Not Allowed',\n 500: 'Internal Server Error'\n};\n\nfunction _getInitialProps({\n res,\n err\n}) {\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\n/**\n* `Error` component used for handling errors.\n*/\n\n\nclass Error extends _react.default.Component {\n render() {\n const {\n statusCode\n } = this.props;\n const title = this.props.title || statusCodes[statusCode] || 'An unexpected error has occurred';\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n style: styles.error\n }, /*#__PURE__*/_react.default.createElement(_head.default, null, /*#__PURE__*/_react.default.createElement(\"title\", null, statusCode, \": \", title)), /*#__PURE__*/_react.default.createElement(\"div\", null, /*#__PURE__*/_react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: 'body { margin: 0 }'\n }\n }), statusCode ? /*#__PURE__*/_react.default.createElement(\"h1\", {\n style: styles.h1\n }, statusCode) : null, /*#__PURE__*/_react.default.createElement(\"div\", {\n style: styles.desc\n }, /*#__PURE__*/_react.default.createElement(\"h2\", {\n style: styles.h2\n }, title, \".\"))));\n }\n\n}\n\nexports.default = Error;\nError.displayName = 'ErrorPage';\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nconst styles = {\n error: {\n color: '#000',\n background: '#fff',\n fontFamily: '-apple-system, BlinkMacSystemFont, Roboto, \"Segoe UI\", \"Fira Sans\", Avenir, \"Helvetica Neue\", \"Lucida Grande\", sans-serif',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n },\n desc: {\n display: 'inline-block',\n textAlign: 'left',\n lineHeight: '49px',\n height: '49px',\n verticalAlign: 'middle'\n },\n h1: {\n display: 'inline-block',\n borderRight: '1px solid rgba(0, 0, 0,.3)',\n margin: 0,\n marginRight: '20px',\n padding: '10px 23px 10px 0',\n fontSize: '24px',\n fontWeight: 500,\n verticalAlign: 'top'\n },\n h2: {\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: 'inherit',\n margin: 0,\n padding: 0\n }\n};","map":{"version":3,"sources":["../../pages/_error.tsx"],"names":["statusCodes","statusCode","res","err","Error","React","Component","displayName","getInitialProps","_getInitialProps","origGetInitialProps","render","title","styles","__html","error","color","background","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","desc","lineHeight","verticalAlign","h1","borderRight","margin","marginRight","padding","fontSize","fontWeight","h2"],"mappings":"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","sourcesContent":["import React from 'react'\nimport Head from '../next-server/lib/head'\nimport { NextPageContext } from '../next-server/lib/utils'\n\nconst statusCodes: { [code: number]: string } = {\n 400: 'Bad Request',\n 404: 'This page could not be found',\n 405: 'Method Not Allowed',\n 500: 'Internal Server Error',\n}\n\nexport type ErrorProps = {\n statusCode: number\n title?: string\n}\n\nfunction _getInitialProps({\n res,\n err,\n}: NextPageContext): Promise | ErrorProps {\n const statusCode =\n res && res.statusCode ? res.statusCode : err ? err.statusCode! : 404\n return { statusCode }\n}\n\n/**\n * `Error` component used for handling errors.\n */\nexport default class Error

extends React.Component

{\n static displayName = 'ErrorPage'\n\n static getInitialProps = _getInitialProps\n static origGetInitialProps = _getInitialProps\n\n render() {\n const { statusCode } = this.props\n const title =\n this.props.title ||\n statusCodes[statusCode] ||\n 'An unexpected error has occurred'\n\n return (\n

\n \n \n {statusCode}: {title}\n \n \n
\n `);}}return result;};}inspect(originalDom,_data,options){if(!options.getFontDefinition){return;}// collecting all the requested font definitions +originalDom.querySelectorAll('link').filter(tag=>tag.getAttribute('rel')==='stylesheet'&&tag.hasAttribute('data-href')&&_constants.OPTIMIZED_FONT_PROVIDERS.some(url=>{const dataHref=tag.getAttribute('data-href');return dataHref?dataHref.startsWith(url):false;})).forEach(element=>{const url=element.getAttribute('data-href');const nonce=element.getAttribute('nonce');if(url){this.fontDefinitions.push([url,nonce]);}});}}class ImageOptimizerMiddleware{constructor(){this.mutate=async(markup,_data)=>{let result=markup;let imagePreloadTags=_data.preloads.images.filter(imgHref=>!preloadTagAlreadyExists(markup,imgHref)).reduce((acc,imgHref)=>acc+``,'');return result.replace(/=MAXIMUM_IMAGE_PRELOADS){break;}}_data.preloads.images=[];for(const imgEl of eligibleImages){const src=imgEl.getAttribute('src');if(src){_data.preloads.images.push(src);}}}}function isImgEligible(imgElement){let imgSrc=imgElement.getAttribute('src');return!!imgSrc&&sourceIsSupportedType(imgSrc)&&imageIsNotTooSmall(imgElement)&&imageIsNotHidden(imgElement);}function preloadTagAlreadyExists(html,href){const regex=new RegExp(`]*href[^>]*${href}`);return html.match(regex);}function imageIsNotTooSmall(imgElement){// Skip images without both height and width--we don't know enough to say if +// they are too small +if(!(imgElement.hasAttribute('height')&&imgElement.hasAttribute('width'))){return true;}try{const heightAttr=imgElement.getAttribute('height');const widthAttr=imgElement.getAttribute('width');if(!heightAttr||!widthAttr){return true;}if(parseInt(heightAttr)*parseInt(widthAttr)<=IMAGE_PRELOAD_SIZE_THRESHOLD){return false;}}catch(err){return true;}return true;}// Traverse up the dom from each image to see if it or any of it's +// ancestors have the hidden attribute. +function imageIsNotHidden(imgElement){let activeElement=imgElement;while(activeElement.parentNode){if(activeElement.hasAttribute('hidden')){return false;}activeElement=activeElement.parentNode;}return true;}// Currently only filters out svg images--could be made more specific in the future. +function sourceIsSupportedType(imgSrc){return!imgSrc.includes('.svg');}// Initialization +registerPostProcessor('Inline-Fonts',new FontOptimizerMiddleware(),// Using process.env because passing Experimental flag through loader is not possible. +// @ts-ignore +options=>options.optimizeFonts||process.env.__NEXT_OPTIMIZE_FONTS);registerPostProcessor('Preload Images',new ImageOptimizerMiddleware(),// @ts-ignore +options=>options.optimizeImages||process.env.__NEXT_OPTIMIZE_IMAGES);var _default=processHTML;exports.default=_default; +//# sourceMappingURL=post-process.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/post-process.js.map b/ninjalist/node_modules/next/dist/next-server/lib/post-process.js.map new file mode 100644 index 00000000..79c337e6 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/post-process.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/post-process.ts"],"names":["MAXIMUM_IMAGE_PRELOADS","IMAGE_PRELOAD_SIZE_THRESHOLD","middlewareRegistry","registerPostProcessor","name","middleware","condition","push","processHTML","html","data","options","postProcessData","preloads","images","root","document","callMiddleWare","inspect","mutate","i","length","FontOptimizerMiddleware","fontDefinitions","markup","_data","result","getFontDefinition","key","url","nonce","fallBackLinkTag","indexOf","fontContent","replace","nonceStr","originalDom","querySelectorAll","filter","tag","getAttribute","hasAttribute","OPTIMIZED_FONT_PROVIDERS","some","dataHref","startsWith","forEach","element","ImageOptimizerMiddleware","imagePreloadTags","imgHref","preloadTagAlreadyExists","reduce","acc","imgElements","eligibleImages","isImgEligible","imgEl","src","imgElement","imgSrc","sourceIsSupportedType","imageIsNotTooSmall","imageIsNotHidden","href","regex","RegExp","match","heightAttr","widthAttr","parseInt","err","activeElement","parentNode","includes","optimizeFonts","process","env","__NEXT_OPTIMIZE_FONTS","optimizeImages","__NEXT_OPTIMIZE_IMAGES"],"mappings":"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","sourcesContent":["import { parse, HTMLElement } from 'node-html-parser'\nimport { OPTIMIZED_FONT_PROVIDERS } from './constants'\n\n// const MIDDLEWARE_TIME_BUDGET = parseInt(process.env.__POST_PROCESS_MIDDLEWARE_TIME_BUDGET || '', 10) || 10\nconst MAXIMUM_IMAGE_PRELOADS = 2\nconst IMAGE_PRELOAD_SIZE_THRESHOLD = 2500\n\ntype postProcessOptions = {\n optimizeFonts: boolean\n optimizeImages: boolean\n}\n\ntype renderOptions = {\n getFontDefinition?: (url: string) => string\n}\n\ntype postProcessData = {\n preloads: {\n images: Array\n }\n}\n\ninterface PostProcessMiddleware {\n inspect: (\n originalDom: HTMLElement,\n data: postProcessData,\n options: renderOptions\n ) => void\n mutate: (\n markup: string,\n data: postProcessData,\n options: renderOptions\n ) => Promise\n}\n\ntype middlewareSignature = {\n name: string\n middleware: PostProcessMiddleware\n condition: ((options: postProcessOptions) => boolean) | null\n}\n\nconst middlewareRegistry: Array = []\n\nfunction registerPostProcessor(\n name: string,\n middleware: PostProcessMiddleware,\n condition?: (options: postProcessOptions) => boolean\n) {\n middlewareRegistry.push({ name, middleware, condition: condition || null })\n}\n\nasync function processHTML(\n html: string,\n data: renderOptions,\n options: postProcessOptions\n): Promise {\n // Don't parse unless there's at least one processor middleware\n if (!middlewareRegistry[0]) {\n return html\n }\n const postProcessData: postProcessData = {\n preloads: {\n images: [],\n },\n }\n const root: HTMLElement = parse(html)\n let document = html\n // Calls the middleware, with some instrumentation and logging\n async function callMiddleWare(middleware: PostProcessMiddleware) {\n // let timer = Date.now()\n middleware.inspect(root, postProcessData, data)\n document = await middleware.mutate(document, postProcessData, data)\n // timer = Date.now() - timer\n // if (timer > MIDDLEWARE_TIME_BUDGET) {\n // TODO: Identify a correct upper limit for the postprocess step\n // and add a warning to disable the optimization\n // }\n return\n }\n\n for (let i = 0; i < middlewareRegistry.length; i++) {\n let middleware = middlewareRegistry[i]\n if (!middleware.condition || middleware.condition(options)) {\n await callMiddleWare(middlewareRegistry[i].middleware)\n }\n }\n\n return document\n}\n\nclass FontOptimizerMiddleware implements PostProcessMiddleware {\n fontDefinitions: (string | undefined)[][] = []\n inspect(\n originalDom: HTMLElement,\n _data: postProcessData,\n options: renderOptions\n ) {\n if (!options.getFontDefinition) {\n return\n }\n // collecting all the requested font definitions\n originalDom\n .querySelectorAll('link')\n .filter(\n (tag: HTMLElement) =>\n tag.getAttribute('rel') === 'stylesheet' &&\n tag.hasAttribute('data-href') &&\n OPTIMIZED_FONT_PROVIDERS.some((url) => {\n const dataHref = tag.getAttribute('data-href')\n return dataHref ? dataHref.startsWith(url) : false\n })\n )\n .forEach((element: HTMLElement) => {\n const url = element.getAttribute('data-href')\n const nonce = element.getAttribute('nonce')\n\n if (url) {\n this.fontDefinitions.push([url, nonce])\n }\n })\n }\n mutate = async (\n markup: string,\n _data: postProcessData,\n options: renderOptions\n ) => {\n let result = markup\n if (!options.getFontDefinition) {\n return markup\n }\n for (const key in this.fontDefinitions) {\n const [url, nonce] = this.fontDefinitions[key]\n const fallBackLinkTag = ``\n if (\n result.indexOf(``\n )\n }\n }\n return result\n }\n}\n\nclass ImageOptimizerMiddleware implements PostProcessMiddleware {\n inspect(originalDom: HTMLElement, _data: postProcessData) {\n const imgElements = originalDom.querySelectorAll('img')\n let eligibleImages: Array = []\n for (let i = 0; i < imgElements.length; i++) {\n if (isImgEligible(imgElements[i])) {\n eligibleImages.push(imgElements[i])\n }\n if (eligibleImages.length >= MAXIMUM_IMAGE_PRELOADS) {\n break\n }\n }\n\n _data.preloads.images = []\n\n for (const imgEl of eligibleImages) {\n const src = imgEl.getAttribute('src')\n if (src) {\n _data.preloads.images.push(src)\n }\n }\n }\n mutate = async (markup: string, _data: postProcessData) => {\n let result = markup\n let imagePreloadTags = _data.preloads.images\n .filter((imgHref) => !preloadTagAlreadyExists(markup, imgHref))\n .reduce(\n (acc, imgHref) =>\n acc + ``,\n ''\n )\n return result.replace(\n /]*href[^>]*${href}`)\n return html.match(regex)\n}\n\nfunction imageIsNotTooSmall(imgElement: HTMLElement): boolean {\n // Skip images without both height and width--we don't know enough to say if\n // they are too small\n if (\n !(imgElement.hasAttribute('height') && imgElement.hasAttribute('width'))\n ) {\n return true\n }\n try {\n const heightAttr = imgElement.getAttribute('height')\n const widthAttr = imgElement.getAttribute('width')\n if (!heightAttr || !widthAttr) {\n return true\n }\n\n if (\n parseInt(heightAttr) * parseInt(widthAttr) <=\n IMAGE_PRELOAD_SIZE_THRESHOLD\n ) {\n return false\n }\n } catch (err) {\n return true\n }\n return true\n}\n\n// Traverse up the dom from each image to see if it or any of it's\n// ancestors have the hidden attribute.\nfunction imageIsNotHidden(imgElement: HTMLElement): boolean {\n let activeElement = imgElement\n while (activeElement.parentNode) {\n if (activeElement.hasAttribute('hidden')) {\n return false\n }\n activeElement = activeElement.parentNode as HTMLElement\n }\n return true\n}\n\n// Currently only filters out svg images--could be made more specific in the future.\nfunction sourceIsSupportedType(imgSrc: string): boolean {\n return !imgSrc.includes('.svg')\n}\n\n// Initialization\nregisterPostProcessor(\n 'Inline-Fonts',\n new FontOptimizerMiddleware(),\n // Using process.env because passing Experimental flag through loader is not possible.\n // @ts-ignore\n (options) => options.optimizeFonts || process.env.__NEXT_OPTIMIZE_FONTS\n)\n\nregisterPostProcessor(\n 'Preload Images',\n new ImageOptimizerMiddleware(),\n // @ts-ignore\n (options) => options.optimizeImages || process.env.__NEXT_OPTIMIZE_IMAGES\n)\n\nexport default processHTML\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router-context.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router-context.d.ts new file mode 100644 index 00000000..9eb27927 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router-context.d.ts @@ -0,0 +1,3 @@ +import React from 'react'; +import { NextRouter } from './router/router'; +export declare const RouterContext: React.Context; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router-context.js b/ninjalist/node_modules/next/dist/next-server/lib/router-context.js new file mode 100644 index 00000000..698f2dbf --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router-context.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.RouterContext=void 0;var _react=_interopRequireDefault(require("react"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const RouterContext=/*#__PURE__*/_react.default.createContext(null);exports.RouterContext=RouterContext;if(process.env.NODE_ENV!=='production'){RouterContext.displayName='RouterContext';} +//# sourceMappingURL=router-context.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router-context.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router-context.js.map new file mode 100644 index 00000000..bd18d1c4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router-context.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/router-context.ts"],"names":["RouterContext","React","createContext","process","env","NODE_ENV","displayName"],"mappings":"kEAAA,oD,mFAGO,KAAMA,CAAAA,aAAa,cAAGC,eAAMC,aAAN,CAAgC,IAAhC,CAAtB,C,oCAEP,GAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,GAAyB,YAA7B,CAA2C,CACzCL,aAAa,CAACM,WAAd,CAA4B,eAA5B,CACD","sourcesContent":["import React from 'react'\nimport { NextRouter } from './router/router'\n\nexport const RouterContext = React.createContext(null as any)\n\nif (process.env.NODE_ENV !== 'production') {\n RouterContext.displayName = 'RouterContext'\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/router.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/router.d.ts new file mode 100644 index 00000000..dbef8efb --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/router.d.ts @@ -0,0 +1,192 @@ +/// +import { ParsedUrlQuery } from 'querystring'; +import { ComponentType } from 'react'; +import { UrlObject } from 'url'; +import { GoodPageCache, StyleSheetTuple } from '../../../client/page-loader'; +import { DomainLocales } from '../../server/config'; +import { MittEmitter } from '../mitt'; +import { NextPageContext, NEXT_DATA } from '../utils'; +declare global { + interface Window { + __NEXT_DATA__: NEXT_DATA; + } +} +interface RouteProperties { + shallow: boolean; +} +interface TransitionOptions { + shallow?: boolean; + locale?: string | false; + scroll?: boolean; +} +interface NextHistoryState { + url: string; + as: string; + options: TransitionOptions; +} +export declare function getDomainLocale(path: string, locale?: string | false, locales?: string[], domainLocales?: DomainLocales): string | false; +export declare function addLocale(path: string, locale?: string | false, defaultLocale?: string): string; +export declare function delLocale(path: string, locale?: string): string; +export declare function hasBasePath(path: string): boolean; +export declare function addBasePath(path: string): string; +export declare function delBasePath(path: string): string; +/** + * Detects whether a given url is routable by the Next.js router (browser only). + */ +export declare function isLocalURL(url: string): boolean; +declare type Url = UrlObject | string; +export declare function interpolateAs(route: string, asPathname: string, query: ParsedUrlQuery): { + params: string[]; + result: string; +}; +/** + * Resolves a given hyperlink with a certain router state (basePath not included). + * Preserves absolute urls. + */ +export declare function resolveHref(currentPath: string, href: Url, resolveAs?: boolean): string; +export declare type BaseRouter = { + route: string; + pathname: string; + query: ParsedUrlQuery; + asPath: string; + basePath: string; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; + isLocaleDomain: boolean; +}; +export declare type NextRouter = BaseRouter & Pick; +export declare type PrefetchOptions = { + priority?: boolean; + locale?: string | false; +}; +export declare type PrivateRouteInfo = (Omit & { + initial: true; +}) | CompletePrivateRouteInfo; +export declare type CompletePrivateRouteInfo = { + Component: ComponentType; + styleSheets: StyleSheetTuple[]; + __N_SSG?: boolean; + __N_SSP?: boolean; + props?: Record; + err?: Error; + error?: any; +}; +export declare type AppProps = Pick & { + router: Router; +} & Record; +export declare type AppComponent = ComponentType; +declare type Subscription = (data: PrivateRouteInfo, App: AppComponent, resetScroll: { + x: number; + y: number; +} | null) => Promise; +declare type BeforePopStateCallback = (state: NextHistoryState) => boolean; +declare type ComponentLoadCancel = (() => void) | null; +declare type HistoryMethod = 'replaceState' | 'pushState'; +export default class Router implements BaseRouter { + route: string; + pathname: string; + query: ParsedUrlQuery; + asPath: string; + basePath: string; + /** + * Map of all components loaded in `Router` + */ + components: { + [pathname: string]: PrivateRouteInfo; + }; + sdc: { + [asPath: string]: object; + }; + sub: Subscription; + clc: ComponentLoadCancel; + pageLoader: any; + _bps: BeforePopStateCallback | undefined; + events: MittEmitter; + _wrapApp: (App: AppComponent) => any; + isSsr: boolean; + isFallback: boolean; + _inFlightRoute?: string; + _shallow?: boolean; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; + isReady: boolean; + isLocaleDomain: boolean; + private _idx; + static events: MittEmitter; + constructor(pathname: string, query: ParsedUrlQuery, as: string, { initialProps, pageLoader, App, wrapApp, Component, err, subscription, isFallback, locale, locales, defaultLocale, domainLocales, }: { + subscription: Subscription; + initialProps: any; + pageLoader: any; + Component: ComponentType; + App: AppComponent; + wrapApp: (App: AppComponent) => any; + err?: Error; + isFallback: boolean; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; + }); + onPopState: (e: PopStateEvent) => void; + reload(): void; + /** + * Go back in history + */ + back(): void; + /** + * Performs a `pushState` with arguments + * @param url of the route + * @param as masks `url` for the browser + * @param options object you can define `shallow` and other options + */ + push(url: Url, as?: Url, options?: TransitionOptions): Promise; + /** + * Performs a `replaceState` with arguments + * @param url of the route + * @param as masks `url` for the browser + * @param options object you can define `shallow` and other options + */ + replace(url: Url, as?: Url, options?: TransitionOptions): Promise; + private change; + changeState(method: HistoryMethod, url: string, as: string, options?: TransitionOptions): void; + handleRouteInfoError(err: Error & { + code: any; + cancelled: boolean; + }, pathname: string, query: ParsedUrlQuery, as: string, routeProps: RouteProperties, loadErrorFail?: boolean): Promise; + getRouteInfo(route: string, pathname: string, query: any, as: string, resolvedAs: string, routeProps: RouteProperties): Promise; + set(route: string, pathname: string, query: ParsedUrlQuery, as: string, data: PrivateRouteInfo, resetScroll: { + x: number; + y: number; + } | null): Promise; + /** + * Callback to execute before replacing router state + * @param cb callback to be executed + */ + beforePopState(cb: BeforePopStateCallback): void; + onlyAHashChange(as: string): boolean; + scrollToHash(as: string): void; + urlIsNew(asPath: string): boolean; + _resolveHref(parsedHref: UrlObject, pages: string[], applyBasePath?: boolean): UrlObject; + /** + * Prefetch page code, you may wait for the data during page rendering. + * This feature only works in production! + * @param url the href of prefetched page + * @param asPath the as path of the prefetched page + */ + prefetch(url: string, asPath?: string, options?: PrefetchOptions): Promise; + fetchComponent(route: string): Promise; + _getData(fn: () => Promise): Promise; + _getStaticData(dataHref: string): Promise; + _getServerData(dataHref: string): Promise; + getInitialProps(Component: ComponentType, ctx: NextPageContext): Promise; + abortComponentLoad(as: string, routeProps: RouteProperties): void; + notify(data: PrivateRouteInfo, resetScroll: { + x: number; + y: number; + } | null): Promise; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/router.js b/ninjalist/node_modules/next/dist/next-server/lib/router/router.js new file mode 100644 index 00000000..7129f095 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/router.js @@ -0,0 +1,175 @@ +"use strict";exports.__esModule=true;exports.getDomainLocale=getDomainLocale;exports.addLocale=addLocale;exports.delLocale=delLocale;exports.hasBasePath=hasBasePath;exports.addBasePath=addBasePath;exports.delBasePath=delBasePath;exports.isLocalURL=isLocalURL;exports.interpolateAs=interpolateAs;exports.resolveHref=resolveHref;exports.default=void 0;var _normalizeTrailingSlash=require("../../../client/normalize-trailing-slash");var _routeLoader=require("../../../client/route-loader");var _denormalizePagePath=require("../../server/denormalize-page-path");var _normalizeLocalePath=require("../i18n/normalize-locale-path");var _mitt=_interopRequireDefault(require("../mitt"));var _utils=require("../utils");var _isDynamic=require("./utils/is-dynamic");var _parseRelativeUrl=require("./utils/parse-relative-url");var _querystring=require("./utils/querystring");var _resolveRewrites=_interopRequireDefault(require("./utils/resolve-rewrites"));var _routeMatcher=require("./utils/route-matcher");var _routeRegex=require("./utils/route-regex");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/* global __NEXT_DATA__ */ // tslint:disable:no-console +let detectDomainLocale;if(process.env.__NEXT_I18N_SUPPORT){detectDomainLocale=require('../i18n/detect-domain-locale').detectDomainLocale;}const basePath=process.env.__NEXT_ROUTER_BASEPATH||'';function buildCancellationError(){return Object.assign(new Error('Route Cancelled'),{cancelled:true});}function addPathPrefix(path,prefix){return prefix&&path.startsWith('/')?path==='/'?(0,_normalizeTrailingSlash.normalizePathTrailingSlash)(prefix):`${prefix}${pathNoQueryHash(path)==='/'?path.substring(1):path}`:path;}function getDomainLocale(path,locale,locales,domainLocales){if(process.env.__NEXT_I18N_SUPPORT){locale=locale||(0,_normalizeLocalePath.normalizeLocalePath)(path,locales).detectedLocale;const detectedDomain=detectDomainLocale(domainLocales,undefined,locale);if(detectedDomain){return`http${detectedDomain.http?'':'s'}://${detectedDomain.domain}${basePath||''}${locale===detectedDomain.defaultLocale?'':`/${locale}`}${path}`;}return false;}return false;}function addLocale(path,locale,defaultLocale){if(process.env.__NEXT_I18N_SUPPORT){return locale&&locale!==defaultLocale&&!path.startsWith('/'+locale+'/')&&path!=='/'+locale?addPathPrefix(path,'/'+locale):path;}return path;}function delLocale(path,locale){if(process.env.__NEXT_I18N_SUPPORT){return locale&&(path.startsWith('/'+locale+'/')||path==='/'+locale)?path.substr(locale.length+1)||'/':path;}return path;}function pathNoQueryHash(path){const queryIndex=path.indexOf('?');const hashIndex=path.indexOf('#');if(queryIndex>-1||hashIndex>-1){path=path.substring(0,queryIndex>-1?queryIndex:hashIndex);}return path;}function hasBasePath(path){path=pathNoQueryHash(path);return path===basePath||path.startsWith(basePath+'/');}function addBasePath(path){// we only add the basepath on relative urls +return addPathPrefix(path,basePath);}function delBasePath(path){path=path.slice(basePath.length);if(!path.startsWith('/'))path=`/${path}`;return path;}/** + * Detects whether a given url is routable by the Next.js router (browser only). + */function isLocalURL(url){// prevent a hydration mismatch on href for url with anchor refs +if(url.startsWith('/')||url.startsWith('#'))return true;try{// absolute urls can be local if they are on the same origin +const locationOrigin=(0,_utils.getLocationOrigin)();const resolved=new URL(url,locationOrigin);return resolved.origin===locationOrigin&&hasBasePath(resolved.pathname);}catch(_){return false;}}function interpolateAs(route,asPathname,query){let interpolatedRoute='';const dynamicRegex=(0,_routeRegex.getRouteRegex)(route);const dynamicGroups=dynamicRegex.groups;const dynamicMatches=// Try to match the dynamic route against the asPath +(asPathname!==route?(0,_routeMatcher.getRouteMatcher)(dynamicRegex)(asPathname):'')||// Fall back to reading the values from the href +// TODO: should this take priority; also need to change in the router. +query;interpolatedRoute=route;const params=Object.keys(dynamicGroups);if(!params.every(param=>{let value=dynamicMatches[param]||'';const{repeat,optional}=dynamicGroups[param];// support single-level catch-all +// TODO: more robust handling for user-error (passing `/`) +let replaced=`[${repeat?'...':''}${param}]`;if(optional){replaced=`${!value?'/':''}[${replaced}]`;}if(repeat&&!Array.isArray(value))value=[value];return(optional||param in dynamicMatches)&&(// Interpolate group into data URL if present +interpolatedRoute=interpolatedRoute.replace(replaced,repeat?value.map(// these values should be fully encoded instead of just +// path delimiter escaped since they are being inserted +// into the URL and we expect URL encoded segments +// when parsing dynamic route params +segment=>encodeURIComponent(segment)).join('/'):encodeURIComponent(value))||'/');})){interpolatedRoute='';// did not satisfy all requirements +// n.b. We ignore this error because we handle warning for this case in +// development in the `` component directly. +}return{params,result:interpolatedRoute};}function omitParmsFromQuery(query,params){const filteredQuery={};Object.keys(query).forEach(key=>{if(!params.includes(key)){filteredQuery[key]=query[key];}});return filteredQuery;}/** + * Resolves a given hyperlink with a certain router state (basePath not included). + * Preserves absolute urls. + */function resolveHref(currentPath,href,resolveAs){// we use a dummy base url for relative urls +const base=new URL(currentPath,'http://n');const urlAsString=typeof href==='string'?href:(0,_utils.formatWithValidation)(href);// Return because it cannot be routed by the Next.js router +if(!isLocalURL(urlAsString)){return resolveAs?[urlAsString]:urlAsString;}try{const finalUrl=new URL(urlAsString,base);finalUrl.pathname=(0,_normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname);let interpolatedAs='';if((0,_isDynamic.isDynamicRoute)(finalUrl.pathname)&&finalUrl.searchParams&&resolveAs){const query=(0,_querystring.searchParamsToUrlQuery)(finalUrl.searchParams);const{result,params}=interpolateAs(finalUrl.pathname,finalUrl.pathname,query);if(result){interpolatedAs=(0,_utils.formatWithValidation)({pathname:result,hash:finalUrl.hash,query:omitParmsFromQuery(query,params)});}}// if the origin didn't change, it means we received a relative href +const resolvedHref=finalUrl.origin===base.origin?finalUrl.href.slice(finalUrl.origin.length):finalUrl.href;return resolveAs?[resolvedHref,interpolatedAs||resolvedHref]:resolvedHref;}catch(_){return resolveAs?[urlAsString]:urlAsString;}}function stripOrigin(url){const origin=(0,_utils.getLocationOrigin)();return url.startsWith(origin)?url.substring(origin.length):url;}function prepareUrlAs(router,url,as){// If url and as provided as an object representation, +// we'll format them into the string version here. +let[resolvedHref,resolvedAs]=resolveHref(router.pathname,url,true);const origin=(0,_utils.getLocationOrigin)();const hrefHadOrigin=resolvedHref.startsWith(origin);const asHadOrigin=resolvedAs&&resolvedAs.startsWith(origin);resolvedHref=stripOrigin(resolvedHref);resolvedAs=resolvedAs?stripOrigin(resolvedAs):resolvedAs;const preparedUrl=hrefHadOrigin?resolvedHref:addBasePath(resolvedHref);const preparedAs=as?stripOrigin(resolveHref(router.pathname,as)):resolvedAs||resolvedHref;return{url:preparedUrl,as:asHadOrigin?preparedAs:addBasePath(preparedAs)};}const manualScrollRestoration=process.env.__NEXT_SCROLL_RESTORATION&&typeof window!=='undefined'&&'scrollRestoration'in window.history&&!!function(){try{let v='__next';// eslint-disable-next-line no-sequences +return sessionStorage.setItem(v,v),sessionStorage.removeItem(v),true;}catch(n){}}();const SSG_DATA_NOT_FOUND=Symbol('SSG_DATA_NOT_FOUND');function fetchRetry(url,attempts){return fetch(url,{// Cookies are required to be present for Next.js' SSG "Preview Mode". +// Cookies may also be required for `getServerSideProps`. +// +// > `fetch` won’t send cookies, unless you set the credentials init +// > option. +// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch +// +// > For maximum browser compatibility when it comes to sending & +// > receiving cookies, always supply the `credentials: 'same-origin'` +// > option instead of relying on the default. +// https://github.com/github/fetch#caveats +credentials:'same-origin'}).then(res=>{if(!res.ok){if(attempts>1&&res.status>=500){return fetchRetry(url,attempts-1);}if(res.status===404){return res.json().then(data=>{if(data.notFound){return{notFound:SSG_DATA_NOT_FOUND};}throw new Error(`Failed to load static props`);});}throw new Error(`Failed to load static props`);}return res.json();});}function fetchNextData(dataHref,isServerRender){return fetchRetry(dataHref,isServerRender?3:1).catch(err=>{// We should only trigger a server-side transition if this was caused +// on a client-side transition. Otherwise, we'd get into an infinite +// loop. +if(!isServerRender){(0,_routeLoader.markAssetError)(err);}throw err;});}class Router{/** + * Map of all components loaded in `Router` + */ // Static Data Cache +constructor(_pathname,_query,_as,{initialProps,pageLoader,App,wrapApp,Component,err,subscription,isFallback,locale,locales,defaultLocale,domainLocales}){this.route=void 0;this.pathname=void 0;this.query=void 0;this.asPath=void 0;this.basePath=void 0;this.components=void 0;this.sdc={};this.sub=void 0;this.clc=void 0;this.pageLoader=void 0;this._bps=void 0;this.events=void 0;this._wrapApp=void 0;this.isSsr=void 0;this.isFallback=void 0;this._inFlightRoute=void 0;this._shallow=void 0;this.locale=void 0;this.locales=void 0;this.defaultLocale=void 0;this.domainLocales=void 0;this.isReady=void 0;this.isLocaleDomain=void 0;this._idx=0;this.onPopState=e=>{const state=e.state;if(!state){// We get state as undefined for two reasons. +// 1. With older safari (< 8) and older chrome (< 34) +// 2. When the URL changed with # +// +// In the both cases, we don't need to proceed and change the route. +// (as it's already changed) +// But we can simply replace the state with the new changes. +// Actually, for (1) we don't need to nothing. But it's hard to detect that event. +// So, doing the following for (1) does no harm. +const{pathname,query}=this;this.changeState('replaceState',(0,_utils.formatWithValidation)({pathname:addBasePath(pathname),query}),(0,_utils.getURL)());return;}if(!state.__N){return;}let forcedScroll;const{url,as,options,idx}=state;if(process.env.__NEXT_SCROLL_RESTORATION){if(manualScrollRestoration){if(this._idx!==idx){// Snapshot current scroll position: +try{sessionStorage.setItem('__next_scroll_'+this._idx,JSON.stringify({x:self.pageXOffset,y:self.pageYOffset}));}catch(_unused){}// Restore old scroll position: +try{const v=sessionStorage.getItem('__next_scroll_'+idx);forcedScroll=JSON.parse(v);}catch(_unused2){forcedScroll={x:0,y:0};}}}}this._idx=idx;const{pathname}=(0,_parseRelativeUrl.parseRelativeUrl)(url);// Make sure we don't re-render on initial load, +// can be caused by navigating back from an external site +if(this.isSsr&&as===this.asPath&&pathname===this.pathname){return;}// If the downstream application returns falsy, return. +// They will then be responsible for handling the event. +if(this._bps&&!this._bps(state)){return;}this.change('replaceState',url,as,Object.assign({},options,{shallow:options.shallow&&this._shallow,locale:options.locale||this.defaultLocale}),forcedScroll);};// represents the current component key +this.route=(0,_normalizeTrailingSlash.removePathTrailingSlash)(_pathname);// set up the component cache (by route keys) +this.components={};// We should not keep the cache, if there's an error +// Otherwise, this cause issues when when going back and +// come again to the errored page. +if(_pathname!=='/_error'){this.components[this.route]={Component,initial:true,props:initialProps,err,__N_SSG:initialProps&&initialProps.__N_SSG,__N_SSP:initialProps&&initialProps.__N_SSP};}this.components['/_app']={Component:App,styleSheets:[/* /_app does not need its stylesheets managed */]};// Backwards compat for Router.router.events +// TODO: Should be remove the following major version as it was never documented +this.events=Router.events;this.pageLoader=pageLoader;this.pathname=_pathname;this.query=_query;// if auto prerendered and dynamic route wait to update asPath +// until after mount to prevent hydration mismatch +const autoExportDynamic=(0,_isDynamic.isDynamicRoute)(_pathname)&&self.__NEXT_DATA__.autoExport;this.asPath=autoExportDynamic?_pathname:_as;this.basePath=basePath;this.sub=subscription;this.clc=null;this._wrapApp=wrapApp;// make sure to ignore extra popState in safari on navigating +// back from external site +this.isSsr=true;this.isFallback=isFallback;this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||!autoExportDynamic&&!self.location.search);this.isLocaleDomain=false;if(process.env.__NEXT_I18N_SUPPORT){this.locale=locale;this.locales=locales;this.defaultLocale=defaultLocale;this.domainLocales=domainLocales;this.isLocaleDomain=!!detectDomainLocale(domainLocales,self.location.hostname);}if(typeof window!=='undefined'){// make sure "as" doesn't start with double slashes or else it can +// throw an error as it's considered invalid +if(_as.substr(0,2)!=='//'){// in order for `e.state` to work on the `onpopstate` event +// we have to register the initial route upon initialization +this.changeState('replaceState',(0,_utils.formatWithValidation)({pathname:addBasePath(_pathname),query:_query}),(0,_utils.getURL)(),{locale});}window.addEventListener('popstate',this.onPopState);// enable custom scroll restoration handling when available +// otherwise fallback to browser's default handling +if(process.env.__NEXT_SCROLL_RESTORATION){if(manualScrollRestoration){window.history.scrollRestoration='manual';}}}}reload(){window.location.reload();}/** + * Go back in history + */back(){window.history.back();}/** + * Performs a `pushState` with arguments + * @param url of the route + * @param as masks `url` for the browser + * @param options object you can define `shallow` and other options + */push(url,as,options={}){if(process.env.__NEXT_SCROLL_RESTORATION){// TODO: remove in the future when we update history before route change +// is complete, as the popstate event should handle this capture. +if(manualScrollRestoration){try{// Snapshot scroll position right before navigating to a new page: +sessionStorage.setItem('__next_scroll_'+this._idx,JSON.stringify({x:self.pageXOffset,y:self.pageYOffset}));}catch(_unused3){}}};({url,as}=prepareUrlAs(this,url,as));return this.change('pushState',url,as,options);}/** + * Performs a `replaceState` with arguments + * @param url of the route + * @param as masks `url` for the browser + * @param options object you can define `shallow` and other options + */replace(url,as,options={}){;({url,as}=prepareUrlAs(this,url,as));return this.change('replaceState',url,as,options);}async change(method,url,as,options,forcedScroll){var _options$scroll;if(!isLocalURL(url)){window.location.href=url;return false;}// for static pages with query params in the URL we delay +// marking the router ready until after the query is updated +if(options._h){this.isReady=true;}// Default to scroll reset behavior unless explicitly specified to be +// `false`! This makes the behavior between using `Router#push` and a +// `` consistent. +options.scroll=!!((_options$scroll=options.scroll)!=null?_options$scroll:true);let localeChange=options.locale!==this.locale;if(process.env.__NEXT_I18N_SUPPORT){this.locale=options.locale===false?this.defaultLocale:options.locale||this.locale;if(typeof options.locale==='undefined'){options.locale=this.locale;}const parsedAs=(0,_parseRelativeUrl.parseRelativeUrl)(hasBasePath(as)?delBasePath(as):as);const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(parsedAs.pathname,this.locales);if(localePathResult.detectedLocale){this.locale=localePathResult.detectedLocale;parsedAs.pathname=addBasePath(parsedAs.pathname);as=(0,_utils.formatWithValidation)(parsedAs);url=addBasePath((0,_normalizeLocalePath.normalizeLocalePath)(hasBasePath(url)?delBasePath(url):url,this.locales).pathname);}let didNavigate=false;// we need to wrap this in the env check again since regenerator runtime +// moves this on its own due to the return +if(process.env.__NEXT_I18N_SUPPORT){var _this$locales;// if the locale isn't configured hard navigate to show 404 page +if(!((_this$locales=this.locales)!=null&&_this$locales.includes(this.locale))){parsedAs.pathname=addLocale(parsedAs.pathname,this.locale);window.location.href=(0,_utils.formatWithValidation)(parsedAs);// this was previously a return but was removed in favor +// of better dead code elimination with regenerator runtime +didNavigate=true;}}const detectedDomain=detectDomainLocale(this.domainLocales,undefined,this.locale);// we need to wrap this in the env check again since regenerator runtime +// moves this on its own due to the return +if(process.env.__NEXT_I18N_SUPPORT){// if we are navigating to a domain locale ensure we redirect to the +// correct domain +if(!didNavigate&&detectedDomain&&this.isLocaleDomain&&self.location.hostname!==detectedDomain.domain){const asNoBasePath=delBasePath(as);window.location.href=`http${detectedDomain.http?'':'s'}://${detectedDomain.domain}${addBasePath(`${this.locale===detectedDomain.defaultLocale?'':`/${this.locale}`}${asNoBasePath==='/'?'':asNoBasePath}`||'/')}`;// this was previously a return but was removed in favor +// of better dead code elimination with regenerator runtime +didNavigate=true;}}if(didNavigate){return new Promise(()=>{});}}if(!options._h){this.isSsr=false;}// marking route changes as a navigation start entry +if(_utils.ST){performance.mark('routeChange');}const{shallow=false}=options;const routeProps={shallow};if(this._inFlightRoute){this.abortComponentLoad(this._inFlightRoute,routeProps);}as=addBasePath(addLocale(hasBasePath(as)?delBasePath(as):as,options.locale,this.defaultLocale));const cleanedAs=delLocale(hasBasePath(as)?delBasePath(as):as,this.locale);this._inFlightRoute=as;// If the url change is only related to a hash change +// We should not proceed. We should only change the state. +// WARNING: `_h` is an internal option for handing Next.js client-side +// hydration. Your app should _never_ use this property. It may change at +// any time without notice. +if(!options._h&&this.onlyAHashChange(cleanedAs)){this.asPath=cleanedAs;Router.events.emit('hashChangeStart',as,routeProps);// TODO: do we need the resolved href when only a hash change? +this.changeState(method,url,as,options);this.scrollToHash(cleanedAs);this.notify(this.components[this.route],null);Router.events.emit('hashChangeComplete',as,routeProps);return true;}let parsed=(0,_parseRelativeUrl.parseRelativeUrl)(url);let{pathname,query}=parsed;// The build manifest needs to be loaded before auto-static dynamic pages +// get their query parameters to allow ensuring they can be parsed properly +// when rewritten to +let pages,rewrites;try{pages=await this.pageLoader.getPageList();({__rewrites:rewrites}=await(0,_routeLoader.getClientBuildManifest)());}catch(err){// If we fail to resolve the page list or client-build manifest, we must +// do a server-side transition: +window.location.href=as;return false;}parsed=this._resolveHref(parsed,pages);if(parsed.pathname!==pathname){pathname=parsed.pathname;url=(0,_utils.formatWithValidation)(parsed);}// url and as should always be prefixed with basePath by this +// point by either next/link or router.push/replace so strip the +// basePath from the pathname to match the pages dir 1-to-1 +pathname=pathname?(0,_normalizeTrailingSlash.removePathTrailingSlash)(delBasePath(pathname)):pathname;// If asked to change the current URL we should reload the current page +// (not location.reload() but reload getInitialProps and other Next.js stuffs) +// We also need to set the method = replaceState always +// as this should not go into the history (That's how browsers work) +// We should compare the new asPath to the current asPath, not the url +if(!this.urlIsNew(cleanedAs)&&!localeChange){method='replaceState';}let route=(0,_normalizeTrailingSlash.removePathTrailingSlash)(pathname);// we need to resolve the as value using rewrites for dynamic SSG +// pages to allow building the data URL correctly +let resolvedAs=as;if(process.env.__NEXT_HAS_REWRITES&&as.startsWith('/')){const rewritesResult=(0,_resolveRewrites.default)(addBasePath(addLocale(delBasePath(as),this.locale)),pages,rewrites,query,p=>this._resolveHref({pathname:p},pages).pathname,this.locales);resolvedAs=rewritesResult.asPath;if(rewritesResult.matchedPage&&rewritesResult.resolvedHref){// if this directly matches a page we need to update the href to +// allow the correct page chunk to be loaded +route=rewritesResult.resolvedHref;pathname=rewritesResult.resolvedHref;parsed.pathname=pathname;url=(0,_utils.formatWithValidation)(parsed);}}if(!isLocalURL(as)){if(process.env.NODE_ENV!=='production'){throw new Error(`Invalid href: "${url}" and as: "${as}", received relative href and external as`+`\nSee more info: https://err.sh/next.js/invalid-relative-url-external-as`);}window.location.href=as;return false;}resolvedAs=delLocale(delBasePath(resolvedAs),this.locale);if((0,_isDynamic.isDynamicRoute)(route)){const parsedAs=(0,_parseRelativeUrl.parseRelativeUrl)(resolvedAs);const asPathname=parsedAs.pathname;const routeRegex=(0,_routeRegex.getRouteRegex)(route);const routeMatch=(0,_routeMatcher.getRouteMatcher)(routeRegex)(asPathname);const shouldInterpolate=route===asPathname;const interpolatedAs=shouldInterpolate?interpolateAs(route,asPathname,query):{};if(!routeMatch||shouldInterpolate&&!interpolatedAs.result){const missingParams=Object.keys(routeRegex.groups).filter(param=>!query[param]);if(missingParams.length>0){if(process.env.NODE_ENV!=='production'){console.warn(`${shouldInterpolate?`Interpolating href`:`Mismatching \`as\` and \`href\``} failed to manually provide `+`the params: ${missingParams.join(', ')} in the \`href\`'s \`query\``);}throw new Error((shouldInterpolate?`The provided \`href\` (${url}) value is missing query values (${missingParams.join(', ')}) to be interpolated properly. `:`The provided \`as\` value (${asPathname}) is incompatible with the \`href\` value (${route}). `)+`Read more: https://err.sh/vercel/next.js/${shouldInterpolate?'href-interpolation-failed':'incompatible-href-as'}`);}}else if(shouldInterpolate){as=(0,_utils.formatWithValidation)(Object.assign({},parsedAs,{pathname:interpolatedAs.result,query:omitParmsFromQuery(query,interpolatedAs.params)}));}else{// Merge params into `query`, overwriting any specified in search +Object.assign(query,routeMatch);}}Router.events.emit('routeChangeStart',as,routeProps);try{let routeInfo=await this.getRouteInfo(route,pathname,query,as,resolvedAs,routeProps);let{error,props,__N_SSG,__N_SSP}=routeInfo;// handle redirect on client-transition +if((__N_SSG||__N_SSP)&&props){if(props.pageProps&&props.pageProps.__N_REDIRECT){const destination=props.pageProps.__N_REDIRECT;// check if destination is internal (resolves to a page) and attempt +// client-navigation if it is falling back to hard navigation if +// it's not +if(destination.startsWith('/')){const parsedHref=(0,_parseRelativeUrl.parseRelativeUrl)(destination);this._resolveHref(parsedHref,pages,false);if(pages.includes(parsedHref.pathname)){const{url:newUrl,as:newAs}=prepareUrlAs(this,destination,destination);return this.change(method,newUrl,newAs,options);}}window.location.href=destination;return new Promise(()=>{});}// handle SSG data 404 +if(props.notFound===SSG_DATA_NOT_FOUND){let notFoundRoute;try{await this.fetchComponent('/404');notFoundRoute='/404';}catch(_){notFoundRoute='/_error';}routeInfo=await this.getRouteInfo(notFoundRoute,notFoundRoute,query,as,resolvedAs,{shallow:false});}}Router.events.emit('beforeHistoryChange',as,routeProps);this.changeState(method,url,as,options);if(process.env.NODE_ENV!=='production'){const appComp=this.components['/_app'].Component;window.next.isPrerendered=appComp.getInitialProps===appComp.origGetInitialProps&&!routeInfo.Component.getInitialProps;}// shallow routing is only allowed for same page URL changes. +const isValidShallowRoute=options.shallow&&this.route===route;await this.set(route,pathname,query,cleanedAs,routeInfo,forcedScroll||(isValidShallowRoute||!options.scroll?null:{x:0,y:0})).catch(e=>{if(e.cancelled)error=error||e;else throw e;});if(error){Router.events.emit('routeChangeError',error,cleanedAs,routeProps);throw error;}if(process.env.__NEXT_I18N_SUPPORT){if(this.locale){document.documentElement.lang=this.locale;}}Router.events.emit('routeChangeComplete',as,routeProps);return true;}catch(err){if(err.cancelled){return false;}throw err;}}changeState(method,url,as,options={}){if(process.env.NODE_ENV!=='production'){if(typeof window.history==='undefined'){console.error(`Warning: window.history is not available.`);return;}if(typeof window.history[method]==='undefined'){console.error(`Warning: window.history.${method} is not available`);return;}}if(method!=='pushState'||(0,_utils.getURL)()!==as){this._shallow=options.shallow;window.history[method]({url,as,options,__N:true,idx:this._idx=method!=='pushState'?this._idx:this._idx+1},// Most browsers currently ignores this parameter, although they may use it in the future. +// Passing the empty string here should be safe against future changes to the method. +// https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState +'',as);}}async handleRouteInfoError(err,pathname,query,as,routeProps,loadErrorFail){if(err.cancelled){// bubble up cancellation errors +throw err;}if((0,_routeLoader.isAssetError)(err)||loadErrorFail){Router.events.emit('routeChangeError',err,as,routeProps);// If we can't load the page it could be one of following reasons +// 1. Page doesn't exists +// 2. Page does exist in a different zone +// 3. Internal error while loading the page +// So, doing a hard reload is the proper way to deal with this. +window.location.href=as;// Changing the URL doesn't block executing the current code path. +// So let's throw a cancellation error stop the routing logic. +throw buildCancellationError();}try{let Component;let styleSheets;let props;if(typeof Component==='undefined'||typeof styleSheets==='undefined'){;({page:Component,styleSheets}=await this.fetchComponent('/_error'));}const routeInfo={props,Component,styleSheets,err,error:err};if(!routeInfo.props){try{routeInfo.props=await this.getInitialProps(Component,{err,pathname,query});}catch(gipErr){console.error('Error in error page `getInitialProps`: ',gipErr);routeInfo.props={};}}return routeInfo;}catch(routeInfoErr){return this.handleRouteInfoError(routeInfoErr,pathname,query,as,routeProps,true);}}async getRouteInfo(route,pathname,query,as,resolvedAs,routeProps){try{const existingRouteInfo=this.components[route];if(routeProps.shallow&&existingRouteInfo&&this.route===route){return existingRouteInfo;}const cachedRouteInfo=existingRouteInfo&&'initial'in existingRouteInfo?undefined:existingRouteInfo;const routeInfo=cachedRouteInfo?cachedRouteInfo:await this.fetchComponent(route).then(res=>({Component:res.page,styleSheets:res.styleSheets,__N_SSG:res.mod.__N_SSG,__N_SSP:res.mod.__N_SSP}));const{Component,__N_SSG,__N_SSP}=routeInfo;if(process.env.NODE_ENV!=='production'){const{isValidElementType}=require('react-is');if(!isValidElementType(Component)){throw new Error(`The default export is not a React Component in page: "${pathname}"`);}}let dataHref;if(__N_SSG||__N_SSP){dataHref=this.pageLoader.getDataHref((0,_utils.formatWithValidation)({pathname,query}),resolvedAs,__N_SSG,this.locale);}const props=await this._getData(()=>__N_SSG?this._getStaticData(dataHref):__N_SSP?this._getServerData(dataHref):this.getInitialProps(Component,// we provide AppTree later so this needs to be `any` +{pathname,query,asPath:as}));routeInfo.props=props;this.components[route]=routeInfo;return routeInfo;}catch(err){return this.handleRouteInfoError(err,pathname,query,as,routeProps);}}set(route,pathname,query,as,data,resetScroll){this.isFallback=false;this.route=route;this.pathname=pathname;this.query=query;this.asPath=as;return this.notify(data,resetScroll);}/** + * Callback to execute before replacing router state + * @param cb callback to be executed + */beforePopState(cb){this._bps=cb;}onlyAHashChange(as){if(!this.asPath)return false;const[oldUrlNoHash,oldHash]=this.asPath.split('#');const[newUrlNoHash,newHash]=as.split('#');// Makes sure we scroll to the provided hash if the url/hash are the same +if(newHash&&oldUrlNoHash===newUrlNoHash&&oldHash===newHash){return true;}// If the urls are change, there's more than a hash change +if(oldUrlNoHash!==newUrlNoHash){return false;}// If the hash has changed, then it's a hash only change. +// This check is necessary to handle both the enter and +// leave hash === '' cases. The identity case falls through +// and is treated as a next reload. +return oldHash!==newHash;}scrollToHash(as){const[,hash]=as.split('#');// Scroll to top if the hash is just `#` with no value or `#top` +// To mirror browsers +if(hash===''||hash==='top'){window.scrollTo(0,0);return;}// First we check if the element by id is found +const idEl=document.getElementById(hash);if(idEl){idEl.scrollIntoView();return;}// If there's no element with the id, we check the `name` property +// To mirror browsers +const nameEl=document.getElementsByName(hash)[0];if(nameEl){nameEl.scrollIntoView();}}urlIsNew(asPath){return this.asPath!==asPath;}_resolveHref(parsedHref,pages,applyBasePath=true){const{pathname}=parsedHref;const cleanPathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)((0,_denormalizePagePath.denormalizePagePath)(applyBasePath?delBasePath(pathname):pathname));if(cleanPathname==='/404'||cleanPathname==='/_error'){return parsedHref;}// handle resolving href for dynamic routes +if(!pages.includes(cleanPathname)){// eslint-disable-next-line array-callback-return +pages.some(page=>{if((0,_isDynamic.isDynamicRoute)(page)&&(0,_routeRegex.getRouteRegex)(page).re.test(cleanPathname)){parsedHref.pathname=applyBasePath?addBasePath(page):page;return true;}});}parsedHref.pathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)(parsedHref.pathname);return parsedHref;}/** + * Prefetch page code, you may wait for the data during page rendering. + * This feature only works in production! + * @param url the href of prefetched page + * @param asPath the as path of the prefetched page + */async prefetch(url,asPath=url,options={}){let parsed=(0,_parseRelativeUrl.parseRelativeUrl)(url);let{pathname}=parsed;if(process.env.__NEXT_I18N_SUPPORT){if(options.locale===false){pathname=(0,_normalizeLocalePath.normalizeLocalePath)(pathname,this.locales).pathname;parsed.pathname=pathname;url=(0,_utils.formatWithValidation)(parsed);let parsedAs=(0,_parseRelativeUrl.parseRelativeUrl)(asPath);const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(parsedAs.pathname,this.locales);parsedAs.pathname=localePathResult.pathname;options.locale=localePathResult.detectedLocale||this.defaultLocale;asPath=(0,_utils.formatWithValidation)(parsedAs);}}const pages=await this.pageLoader.getPageList();parsed=this._resolveHref(parsed,pages,false);if(parsed.pathname!==pathname){pathname=parsed.pathname;url=(0,_utils.formatWithValidation)(parsed);}// Prefetch is not supported in development mode because it would trigger on-demand-entries +if(process.env.NODE_ENV!=='production'){return;}const route=(0,_normalizeTrailingSlash.removePathTrailingSlash)(pathname);await Promise.all([this.pageLoader._isSsg(url).then(isSsg=>{return isSsg?this._getStaticData(this.pageLoader.getDataHref(url,asPath,true,typeof options.locale!=='undefined'?options.locale:this.locale)):false;}),this.pageLoader[options.priority?'loadPage':'prefetch'](route)]);}async fetchComponent(route){let cancelled=false;const cancel=this.clc=()=>{cancelled=true;};const componentResult=await this.pageLoader.loadPage(route);if(cancelled){const error=new Error(`Abort fetching component for route: "${route}"`);error.cancelled=true;throw error;}if(cancel===this.clc){this.clc=null;}return componentResult;}_getData(fn){let cancelled=false;const cancel=()=>{cancelled=true;};this.clc=cancel;return fn().then(data=>{if(cancel===this.clc){this.clc=null;}if(cancelled){const err=new Error('Loading initial props cancelled');err.cancelled=true;throw err;}return data;});}_getStaticData(dataHref){const{href:cacheKey}=new URL(dataHref,window.location.href);if(process.env.NODE_ENV==='production'&&this.sdc[cacheKey]){return Promise.resolve(this.sdc[cacheKey]);}return fetchNextData(dataHref,this.isSsr).then(data=>{this.sdc[cacheKey]=data;return data;});}_getServerData(dataHref){return fetchNextData(dataHref,this.isSsr);}getInitialProps(Component,ctx){const{Component:App}=this.components['/_app'];const AppTree=this._wrapApp(App);ctx.AppTree=AppTree;return(0,_utils.loadGetInitialProps)(App,{AppTree,Component,router:this,ctx});}abortComponentLoad(as,routeProps){if(this.clc){Router.events.emit('routeChangeError',buildCancellationError(),as,routeProps);this.clc();this.clc=null;}}notify(data,resetScroll){return this.sub(data,this.components['/_app'].Component,resetScroll);}}exports.default=Router;Router.events=(0,_mitt.default)(); +//# sourceMappingURL=router.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/router.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/router.js.map new file mode 100644 index 00000000..242eff08 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/router.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../next-server/lib/router/router.ts"],"names":["detectDomainLocale","process","env","__NEXT_I18N_SUPPORT","require","basePath","__NEXT_ROUTER_BASEPATH","buildCancellationError","Object","assign","Error","cancelled","addPathPrefix","path","prefix","startsWith","pathNoQueryHash","substring","getDomainLocale","locale","locales","domainLocales","detectedLocale","detectedDomain","undefined","http","domain","defaultLocale","addLocale","delLocale","substr","length","queryIndex","indexOf","hashIndex","hasBasePath","addBasePath","delBasePath","slice","isLocalURL","url","locationOrigin","resolved","URL","origin","pathname","_","interpolateAs","route","asPathname","query","interpolatedRoute","dynamicRegex","dynamicGroups","groups","dynamicMatches","params","keys","every","param","value","repeat","optional","replaced","Array","isArray","replace","map","segment","encodeURIComponent","join","result","omitParmsFromQuery","filteredQuery","forEach","key","includes","resolveHref","currentPath","href","resolveAs","base","urlAsString","finalUrl","interpolatedAs","searchParams","hash","resolvedHref","stripOrigin","prepareUrlAs","router","as","resolvedAs","hrefHadOrigin","asHadOrigin","preparedUrl","preparedAs","manualScrollRestoration","__NEXT_SCROLL_RESTORATION","window","history","v","sessionStorage","setItem","removeItem","n","SSG_DATA_NOT_FOUND","Symbol","fetchRetry","attempts","fetch","credentials","then","res","ok","status","json","data","notFound","fetchNextData","dataHref","isServerRender","catch","err","Router","constructor","initialProps","pageLoader","App","wrapApp","Component","subscription","isFallback","asPath","components","sdc","sub","clc","_bps","events","_wrapApp","isSsr","_inFlightRoute","_shallow","isReady","isLocaleDomain","_idx","onPopState","e","state","changeState","__N","forcedScroll","options","idx","JSON","stringify","x","self","pageXOffset","y","pageYOffset","getItem","parse","change","shallow","initial","props","__N_SSG","__N_SSP","styleSheets","autoExportDynamic","__NEXT_DATA__","autoExport","gssp","gip","location","search","hostname","addEventListener","scrollRestoration","reload","back","push","method","_h","scroll","localeChange","parsedAs","localePathResult","didNavigate","asNoBasePath","Promise","ST","performance","mark","routeProps","abortComponentLoad","cleanedAs","onlyAHashChange","emit","scrollToHash","notify","parsed","pages","rewrites","getPageList","__rewrites","_resolveHref","urlIsNew","__NEXT_HAS_REWRITES","rewritesResult","p","matchedPage","NODE_ENV","routeRegex","routeMatch","shouldInterpolate","missingParams","filter","console","warn","routeInfo","getRouteInfo","error","pageProps","__N_REDIRECT","destination","parsedHref","newUrl","newAs","notFoundRoute","fetchComponent","appComp","next","isPrerendered","getInitialProps","origGetInitialProps","isValidShallowRoute","set","document","documentElement","lang","handleRouteInfoError","loadErrorFail","page","gipErr","routeInfoErr","existingRouteInfo","cachedRouteInfo","mod","isValidElementType","getDataHref","_getData","_getStaticData","_getServerData","resetScroll","beforePopState","cb","oldUrlNoHash","oldHash","split","newUrlNoHash","newHash","scrollTo","idEl","getElementById","scrollIntoView","nameEl","getElementsByName","applyBasePath","cleanPathname","some","re","test","prefetch","all","_isSsg","isSsg","priority","cancel","componentResult","loadPage","fn","cacheKey","resolve","ctx","AppTree"],"mappings":"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","sourcesContent":["/* global __NEXT_DATA__ */\n// tslint:disable:no-console\nimport { ParsedUrlQuery } from 'querystring'\nimport { ComponentType } from 'react'\nimport { UrlObject } from 'url'\nimport {\n normalizePathTrailingSlash,\n removePathTrailingSlash,\n} from '../../../client/normalize-trailing-slash'\nimport { GoodPageCache, StyleSheetTuple } from '../../../client/page-loader'\nimport {\n getClientBuildManifest,\n isAssetError,\n markAssetError,\n} from '../../../client/route-loader'\nimport { DomainLocales } from '../../server/config'\nimport { denormalizePagePath } from '../../server/denormalize-page-path'\nimport { normalizeLocalePath } from '../i18n/normalize-locale-path'\nimport mitt, { MittEmitter } from '../mitt'\nimport {\n AppContextType,\n formatWithValidation,\n getLocationOrigin,\n getURL,\n loadGetInitialProps,\n NextPageContext,\n ST,\n NEXT_DATA,\n} from '../utils'\nimport { isDynamicRoute } from './utils/is-dynamic'\nimport { parseRelativeUrl } from './utils/parse-relative-url'\nimport { searchParamsToUrlQuery } from './utils/querystring'\nimport resolveRewrites from './utils/resolve-rewrites'\nimport { getRouteMatcher } from './utils/route-matcher'\nimport { getRouteRegex } from './utils/route-regex'\n\ndeclare global {\n interface Window {\n /* prod */\n __NEXT_DATA__: NEXT_DATA\n }\n}\n\ninterface RouteProperties {\n shallow: boolean\n}\n\ninterface TransitionOptions {\n shallow?: boolean\n locale?: string | false\n scroll?: boolean\n}\n\ninterface NextHistoryState {\n url: string\n as: string\n options: TransitionOptions\n}\n\ntype HistoryState =\n | null\n | { __N: false }\n | ({ __N: true; idx: number } & NextHistoryState)\n\nlet detectDomainLocale: typeof import('../i18n/detect-domain-locale').detectDomainLocale\n\nif (process.env.__NEXT_I18N_SUPPORT) {\n detectDomainLocale = require('../i18n/detect-domain-locale')\n .detectDomainLocale\n}\n\nconst basePath = (process.env.__NEXT_ROUTER_BASEPATH as string) || ''\n\nfunction buildCancellationError() {\n return Object.assign(new Error('Route Cancelled'), {\n cancelled: true,\n })\n}\n\nfunction addPathPrefix(path: string, prefix?: string) {\n return prefix && path.startsWith('/')\n ? path === '/'\n ? normalizePathTrailingSlash(prefix)\n : `${prefix}${pathNoQueryHash(path) === '/' ? path.substring(1) : path}`\n : path\n}\n\nexport function getDomainLocale(\n path: string,\n locale?: string | false,\n locales?: string[],\n domainLocales?: DomainLocales\n) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n locale = locale || normalizeLocalePath(path, locales).detectedLocale\n\n const detectedDomain = detectDomainLocale(domainLocales, undefined, locale)\n\n if (detectedDomain) {\n return `http${detectedDomain.http ? '' : 's'}://${detectedDomain.domain}${\n basePath || ''\n }${locale === detectedDomain.defaultLocale ? '' : `/${locale}`}${path}`\n }\n return false\n }\n\n return false\n}\n\nexport function addLocale(\n path: string,\n locale?: string | false,\n defaultLocale?: string\n) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale &&\n locale !== defaultLocale &&\n !path.startsWith('/' + locale + '/') &&\n path !== '/' + locale\n ? addPathPrefix(path, '/' + locale)\n : path\n }\n return path\n}\n\nexport function delLocale(path: string, locale?: string) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return locale &&\n (path.startsWith('/' + locale + '/') || path === '/' + locale)\n ? path.substr(locale.length + 1) || '/'\n : path\n }\n return path\n}\n\nfunction pathNoQueryHash(path: string) {\n const queryIndex = path.indexOf('?')\n const hashIndex = path.indexOf('#')\n\n if (queryIndex > -1 || hashIndex > -1) {\n path = path.substring(0, queryIndex > -1 ? queryIndex : hashIndex)\n }\n return path\n}\n\nexport function hasBasePath(path: string): boolean {\n path = pathNoQueryHash(path)\n return path === basePath || path.startsWith(basePath + '/')\n}\n\nexport function addBasePath(path: string): string {\n // we only add the basepath on relative urls\n return addPathPrefix(path, basePath)\n}\n\nexport function delBasePath(path: string): string {\n path = path.slice(basePath.length)\n if (!path.startsWith('/')) path = `/${path}`\n return path\n}\n\n/**\n * Detects whether a given url is routable by the Next.js router (browser only).\n */\nexport function isLocalURL(url: string): boolean {\n // prevent a hydration mismatch on href for url with anchor refs\n if (url.startsWith('/') || url.startsWith('#')) return true\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = getLocationOrigin()\n const resolved = new URL(url, locationOrigin)\n return resolved.origin === locationOrigin && hasBasePath(resolved.pathname)\n } catch (_) {\n return false\n }\n}\n\ntype Url = UrlObject | string\n\nexport function interpolateAs(\n route: string,\n asPathname: string,\n query: ParsedUrlQuery\n) {\n let interpolatedRoute = ''\n\n const dynamicRegex = getRouteRegex(route)\n const dynamicGroups = dynamicRegex.groups\n const dynamicMatches =\n // Try to match the dynamic route against the asPath\n (asPathname !== route ? getRouteMatcher(dynamicRegex)(asPathname) : '') ||\n // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query\n\n interpolatedRoute = route\n const params = Object.keys(dynamicGroups)\n\n if (\n !params.every((param) => {\n let value = dynamicMatches[param] || ''\n const { repeat, optional } = dynamicGroups[param]\n\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = `[${repeat ? '...' : ''}${param}]`\n if (optional) {\n replaced = `${!value ? '/' : ''}[${replaced}]`\n }\n if (repeat && !Array.isArray(value)) value = [value]\n\n return (\n (optional || param in dynamicMatches) &&\n // Interpolate group into data URL if present\n (interpolatedRoute =\n interpolatedRoute!.replace(\n replaced,\n repeat\n ? (value as string[])\n .map(\n // these values should be fully encoded instead of just\n // path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment) => encodeURIComponent(segment)\n )\n .join('/')\n : encodeURIComponent(value as string)\n ) || '/')\n )\n })\n ) {\n interpolatedRoute = '' // did not satisfy all requirements\n\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `` component directly.\n }\n return {\n params,\n result: interpolatedRoute,\n }\n}\n\nfunction omitParmsFromQuery(query: ParsedUrlQuery, params: string[]) {\n const filteredQuery: ParsedUrlQuery = {}\n\n Object.keys(query).forEach((key) => {\n if (!params.includes(key)) {\n filteredQuery[key] = query[key]\n }\n })\n return filteredQuery\n}\n\n/**\n * Resolves a given hyperlink with a certain router state (basePath not included).\n * Preserves absolute urls.\n */\nexport function resolveHref(\n currentPath: string,\n href: Url,\n resolveAs?: boolean\n): string {\n // we use a dummy base url for relative urls\n const base = new URL(currentPath, 'http://n')\n const urlAsString =\n typeof href === 'string' ? href : formatWithValidation(href)\n // Return because it cannot be routed by the Next.js router\n if (!isLocalURL(urlAsString)) {\n return (resolveAs ? [urlAsString] : urlAsString) as string\n }\n try {\n const finalUrl = new URL(urlAsString, base)\n finalUrl.pathname = normalizePathTrailingSlash(finalUrl.pathname)\n let interpolatedAs = ''\n\n if (\n isDynamicRoute(finalUrl.pathname) &&\n finalUrl.searchParams &&\n resolveAs\n ) {\n const query = searchParamsToUrlQuery(finalUrl.searchParams)\n\n const { result, params } = interpolateAs(\n finalUrl.pathname,\n finalUrl.pathname,\n query\n )\n\n if (result) {\n interpolatedAs = formatWithValidation({\n pathname: result,\n hash: finalUrl.hash,\n query: omitParmsFromQuery(query, params),\n })\n }\n }\n\n // if the origin didn't change, it means we received a relative href\n const resolvedHref =\n finalUrl.origin === base.origin\n ? finalUrl.href.slice(finalUrl.origin.length)\n : finalUrl.href\n\n return (resolveAs\n ? [resolvedHref, interpolatedAs || resolvedHref]\n : resolvedHref) as string\n } catch (_) {\n return (resolveAs ? [urlAsString] : urlAsString) as string\n }\n}\n\nfunction stripOrigin(url: string) {\n const origin = getLocationOrigin()\n\n return url.startsWith(origin) ? url.substring(origin.length) : url\n}\n\nfunction prepareUrlAs(router: NextRouter, url: Url, as?: Url) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = resolveHref(router.pathname, url, true)\n const origin = getLocationOrigin()\n const hrefHadOrigin = resolvedHref.startsWith(origin)\n const asHadOrigin = resolvedAs && resolvedAs.startsWith(origin)\n\n resolvedHref = stripOrigin(resolvedHref)\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs\n\n const preparedUrl = hrefHadOrigin ? resolvedHref : addBasePath(resolvedHref)\n const preparedAs = as\n ? stripOrigin(resolveHref(router.pathname, as))\n : resolvedAs || resolvedHref\n\n return {\n url: preparedUrl,\n as: asHadOrigin ? preparedAs : addBasePath(preparedAs),\n }\n}\n\nexport type BaseRouter = {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n isLocaleDomain: boolean\n}\n\nexport type NextRouter = BaseRouter &\n Pick<\n Router,\n | 'push'\n | 'replace'\n | 'reload'\n | 'back'\n | 'prefetch'\n | 'beforePopState'\n | 'events'\n | 'isFallback'\n | 'isReady'\n >\n\nexport type PrefetchOptions = {\n priority?: boolean\n locale?: string | false\n}\n\nexport type PrivateRouteInfo =\n | (Omit & { initial: true })\n | CompletePrivateRouteInfo\n\nexport type CompletePrivateRouteInfo = {\n Component: ComponentType\n styleSheets: StyleSheetTuple[]\n __N_SSG?: boolean\n __N_SSP?: boolean\n props?: Record\n err?: Error\n error?: any\n}\n\nexport type AppProps = Pick & {\n router: Router\n} & Record\nexport type AppComponent = ComponentType\n\ntype Subscription = (\n data: PrivateRouteInfo,\n App: AppComponent,\n resetScroll: { x: number; y: number } | null\n) => Promise\n\ntype BeforePopStateCallback = (state: NextHistoryState) => boolean\n\ntype ComponentLoadCancel = (() => void) | null\n\ntype HistoryMethod = 'replaceState' | 'pushState'\n\nconst manualScrollRestoration =\n process.env.__NEXT_SCROLL_RESTORATION &&\n typeof window !== 'undefined' &&\n 'scrollRestoration' in window.history &&\n !!(function () {\n try {\n let v = '__next'\n // eslint-disable-next-line no-sequences\n return sessionStorage.setItem(v, v), sessionStorage.removeItem(v), true\n } catch (n) {}\n })()\n\nconst SSG_DATA_NOT_FOUND = Symbol('SSG_DATA_NOT_FOUND')\n\nfunction fetchRetry(url: string, attempts: number): Promise {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: 'same-origin',\n }).then((res) => {\n if (!res.ok) {\n if (attempts > 1 && res.status >= 500) {\n return fetchRetry(url, attempts - 1)\n }\n if (res.status === 404) {\n return res.json().then((data) => {\n if (data.notFound) {\n return { notFound: SSG_DATA_NOT_FOUND }\n }\n throw new Error(`Failed to load static props`)\n })\n }\n throw new Error(`Failed to load static props`)\n }\n return res.json()\n })\n}\n\nfunction fetchNextData(dataHref: string, isServerRender: boolean) {\n return fetchRetry(dataHref, isServerRender ? 3 : 1).catch((err: Error) => {\n // We should only trigger a server-side transition if this was caused\n // on a client-side transition. Otherwise, we'd get into an infinite\n // loop.\n\n if (!isServerRender) {\n markAssetError(err)\n }\n throw err\n })\n}\n\nexport default class Router implements BaseRouter {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n\n /**\n * Map of all components loaded in `Router`\n */\n components: { [pathname: string]: PrivateRouteInfo }\n // Static Data Cache\n sdc: { [asPath: string]: object } = {}\n sub: Subscription\n clc: ComponentLoadCancel\n pageLoader: any\n _bps: BeforePopStateCallback | undefined\n events: MittEmitter\n _wrapApp: (App: AppComponent) => any\n isSsr: boolean\n isFallback: boolean\n _inFlightRoute?: string\n _shallow?: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n isReady: boolean\n isLocaleDomain: boolean\n\n private _idx: number = 0\n\n static events: MittEmitter = mitt()\n\n constructor(\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n {\n initialProps,\n pageLoader,\n App,\n wrapApp,\n Component,\n err,\n subscription,\n isFallback,\n locale,\n locales,\n defaultLocale,\n domainLocales,\n }: {\n subscription: Subscription\n initialProps: any\n pageLoader: any\n Component: ComponentType\n App: AppComponent\n wrapApp: (App: AppComponent) => any\n err?: Error\n isFallback: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n }\n ) {\n // represents the current component key\n this.route = removePathTrailingSlash(pathname)\n\n // set up the component cache (by route keys)\n this.components = {}\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== '/_error') {\n this.components[this.route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP,\n }\n }\n\n this.components['/_app'] = {\n Component: App as ComponentType,\n styleSheets: [\n /* /_app does not need its stylesheets managed */\n ],\n }\n\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events\n\n this.pageLoader = pageLoader\n this.pathname = pathname\n this.query = query\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic =\n isDynamicRoute(pathname) && self.__NEXT_DATA__.autoExport\n\n this.asPath = autoExportDynamic ? pathname : as\n this.basePath = basePath\n this.sub = subscription\n this.clc = null\n this._wrapApp = wrapApp\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true\n\n this.isFallback = isFallback\n\n this.isReady = !!(\n self.__NEXT_DATA__.gssp ||\n self.__NEXT_DATA__.gip ||\n (!autoExportDynamic && !self.location.search)\n )\n this.isLocaleDomain = false\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale = locale\n this.locales = locales\n this.defaultLocale = defaultLocale\n this.domainLocales = domainLocales\n this.isLocaleDomain = !!detectDomainLocale(\n domainLocales,\n self.location.hostname\n )\n }\n\n if (typeof window !== 'undefined') {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (as.substr(0, 2) !== '//') {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n this.changeState(\n 'replaceState',\n formatWithValidation({ pathname: addBasePath(pathname), query }),\n getURL(),\n { locale }\n )\n }\n\n window.addEventListener('popstate', this.onPopState)\n\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n window.history.scrollRestoration = 'manual'\n }\n }\n }\n }\n\n onPopState = (e: PopStateEvent): void => {\n const state = e.state as HistoryState\n\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this\n this.changeState(\n 'replaceState',\n formatWithValidation({ pathname: addBasePath(pathname), query }),\n getURL()\n )\n return\n }\n\n if (!state.__N) {\n return\n }\n\n let forcedScroll: { x: number; y: number } | undefined\n const { url, as, options, idx } = state\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n if (this._idx !== idx) {\n // Snapshot current scroll position:\n try {\n sessionStorage.setItem(\n '__next_scroll_' + this._idx,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n\n // Restore old scroll position:\n try {\n const v = sessionStorage.getItem('__next_scroll_' + idx)\n forcedScroll = JSON.parse(v!)\n } catch {\n forcedScroll = { x: 0, y: 0 }\n }\n }\n }\n }\n this._idx = idx\n\n const { pathname } = parseRelativeUrl(url)\n\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === this.asPath && pathname === this.pathname) {\n return\n }\n\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return\n }\n\n this.change(\n 'replaceState',\n url,\n as,\n Object.assign<{}, TransitionOptions, TransitionOptions>({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n }),\n forcedScroll\n )\n }\n\n reload(): void {\n window.location.reload()\n }\n\n /**\n * Go back in history\n */\n back() {\n window.history.back()\n }\n\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n push(url: Url, as?: Url, options: TransitionOptions = {}) {\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n // TODO: remove in the future when we update history before route change\n // is complete, as the popstate event should handle this capture.\n if (manualScrollRestoration) {\n try {\n // Snapshot scroll position right before navigating to a new page:\n sessionStorage.setItem(\n '__next_scroll_' + this._idx,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n }\n }\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('pushState', url, as, options)\n }\n\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n replace(url: Url, as?: Url, options: TransitionOptions = {}) {\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('replaceState', url, as, options)\n }\n\n private async change(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions,\n forcedScroll?: { x: number; y: number }\n ): Promise {\n if (!isLocalURL(url)) {\n window.location.href = url\n return false\n }\n\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n if ((options as any)._h) {\n this.isReady = true\n }\n\n // Default to scroll reset behavior unless explicitly specified to be\n // `false`! This makes the behavior between using `Router#push` and a\n // `` consistent.\n options.scroll = !!(options.scroll ?? true)\n\n let localeChange = options.locale !== this.locale\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locale =\n options.locale === false\n ? this.defaultLocale\n : options.locale || this.locale\n\n if (typeof options.locale === 'undefined') {\n options.locale = this.locale\n }\n\n const parsedAs = parseRelativeUrl(hasBasePath(as) ? delBasePath(as) : as)\n const localePathResult = normalizeLocalePath(\n parsedAs.pathname,\n this.locales\n )\n\n if (localePathResult.detectedLocale) {\n this.locale = localePathResult.detectedLocale\n parsedAs.pathname = addBasePath(parsedAs.pathname)\n as = formatWithValidation(parsedAs)\n url = addBasePath(\n normalizeLocalePath(\n hasBasePath(url) ? delBasePath(url) : url,\n this.locales\n ).pathname\n )\n }\n let didNavigate = false\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if the locale isn't configured hard navigate to show 404 page\n if (!this.locales?.includes(this.locale!)) {\n parsedAs.pathname = addLocale(parsedAs.pathname, this.locale)\n window.location.href = formatWithValidation(parsedAs)\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n const detectedDomain = detectDomainLocale(\n this.domainLocales,\n undefined,\n this.locale\n )\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if we are navigating to a domain locale ensure we redirect to the\n // correct domain\n if (\n !didNavigate &&\n detectedDomain &&\n this.isLocaleDomain &&\n self.location.hostname !== detectedDomain.domain\n ) {\n const asNoBasePath = delBasePath(as)\n window.location.href = `http${detectedDomain.http ? '' : 's'}://${\n detectedDomain.domain\n }${addBasePath(\n `${\n this.locale === detectedDomain.defaultLocale\n ? ''\n : `/${this.locale}`\n }${asNoBasePath === '/' ? '' : asNoBasePath}` || '/'\n )}`\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n if (didNavigate) {\n return new Promise(() => {})\n }\n }\n\n if (!(options as any)._h) {\n this.isSsr = false\n }\n // marking route changes as a navigation start entry\n if (ST) {\n performance.mark('routeChange')\n }\n\n const { shallow = false } = options\n const routeProps = { shallow }\n\n if (this._inFlightRoute) {\n this.abortComponentLoad(this._inFlightRoute, routeProps)\n }\n\n as = addBasePath(\n addLocale(\n hasBasePath(as) ? delBasePath(as) : as,\n options.locale,\n this.defaultLocale\n )\n )\n const cleanedAs = delLocale(\n hasBasePath(as) ? delBasePath(as) : as,\n this.locale\n )\n this._inFlightRoute = as\n\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n if (!(options as any)._h && this.onlyAHashChange(cleanedAs)) {\n this.asPath = cleanedAs\n Router.events.emit('hashChangeStart', as, routeProps)\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, options)\n this.scrollToHash(cleanedAs)\n this.notify(this.components[this.route], null)\n Router.events.emit('hashChangeComplete', as, routeProps)\n return true\n }\n\n let parsed = parseRelativeUrl(url)\n let { pathname, query } = parsed\n\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages: any, rewrites: any\n try {\n pages = await this.pageLoader.getPageList()\n ;({ __rewrites: rewrites } = await getClientBuildManifest())\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n window.location.href = as\n return false\n }\n\n parsed = this._resolveHref(parsed, pages) as typeof parsed\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname\n url = formatWithValidation(parsed)\n }\n\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname\n ? removePathTrailingSlash(delBasePath(pathname))\n : pathname\n\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = 'replaceState'\n }\n\n let route = removePathTrailingSlash(pathname)\n\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as\n\n if (process.env.__NEXT_HAS_REWRITES && as.startsWith('/')) {\n const rewritesResult = resolveRewrites(\n addBasePath(addLocale(delBasePath(as), this.locale)),\n pages,\n rewrites,\n query,\n (p: string) => this._resolveHref({ pathname: p }, pages).pathname!,\n this.locales\n )\n resolvedAs = rewritesResult.asPath\n\n if (rewritesResult.matchedPage && rewritesResult.resolvedHref) {\n // if this directly matches a page we need to update the href to\n // allow the correct page chunk to be loaded\n route = rewritesResult.resolvedHref\n pathname = rewritesResult.resolvedHref\n parsed.pathname = pathname\n url = formatWithValidation(parsed)\n }\n }\n\n if (!isLocalURL(as)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Invalid href: \"${url}\" and as: \"${as}\", received relative href and external as` +\n `\\nSee more info: https://err.sh/next.js/invalid-relative-url-external-as`\n )\n }\n\n window.location.href = as\n return false\n }\n\n resolvedAs = delLocale(delBasePath(resolvedAs), this.locale)\n\n if (isDynamicRoute(route)) {\n const parsedAs = parseRelativeUrl(resolvedAs)\n const asPathname = parsedAs.pathname\n\n const routeRegex = getRouteRegex(route)\n const routeMatch = getRouteMatcher(routeRegex)(asPathname)\n const shouldInterpolate = route === asPathname\n const interpolatedAs = shouldInterpolate\n ? interpolateAs(route, asPathname, query)\n : ({} as { result: undefined; params: undefined })\n\n if (!routeMatch || (shouldInterpolate && !interpolatedAs.result)) {\n const missingParams = Object.keys(routeRegex.groups).filter(\n (param) => !query[param]\n )\n\n if (missingParams.length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `${\n shouldInterpolate\n ? `Interpolating href`\n : `Mismatching \\`as\\` and \\`href\\``\n } failed to manually provide ` +\n `the params: ${missingParams.join(\n ', '\n )} in the \\`href\\`'s \\`query\\``\n )\n }\n\n throw new Error(\n (shouldInterpolate\n ? `The provided \\`href\\` (${url}) value is missing query values (${missingParams.join(\n ', '\n )}) to be interpolated properly. `\n : `The provided \\`as\\` value (${asPathname}) is incompatible with the \\`href\\` value (${route}). `) +\n `Read more: https://err.sh/vercel/next.js/${\n shouldInterpolate\n ? 'href-interpolation-failed'\n : 'incompatible-href-as'\n }`\n )\n }\n } else if (shouldInterpolate) {\n as = formatWithValidation(\n Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: omitParmsFromQuery(query, interpolatedAs.params!),\n })\n )\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch)\n }\n }\n\n Router.events.emit('routeChangeStart', as, routeProps)\n\n try {\n let routeInfo = await this.getRouteInfo(\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps\n )\n let { error, props, __N_SSG, __N_SSP } = routeInfo\n\n // handle redirect on client-transition\n if ((__N_SSG || __N_SSP) && props) {\n if ((props as any).pageProps && (props as any).pageProps.__N_REDIRECT) {\n const destination = (props as any).pageProps.__N_REDIRECT\n\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith('/')) {\n const parsedHref = parseRelativeUrl(destination)\n this._resolveHref(parsedHref, pages, false)\n\n if (pages.includes(parsedHref.pathname)) {\n const { url: newUrl, as: newAs } = prepareUrlAs(\n this,\n destination,\n destination\n )\n return this.change(method, newUrl, newAs, options)\n }\n }\n\n window.location.href = destination\n return new Promise(() => {})\n }\n\n // handle SSG data 404\n if (props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute\n\n try {\n await this.fetchComponent('/404')\n notFoundRoute = '/404'\n } catch (_) {\n notFoundRoute = '/_error'\n }\n\n routeInfo = await this.getRouteInfo(\n notFoundRoute,\n notFoundRoute,\n query,\n as,\n resolvedAs,\n { shallow: false }\n )\n }\n }\n\n Router.events.emit('beforeHistoryChange', as, routeProps)\n this.changeState(method, url, as, options)\n\n if (process.env.NODE_ENV !== 'production') {\n const appComp: any = this.components['/_app'].Component\n ;(window as any).next.isPrerendered =\n appComp.getInitialProps === appComp.origGetInitialProps &&\n !(routeInfo.Component as any).getInitialProps\n }\n\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && this.route === route\n await this.set(\n route,\n pathname!,\n query,\n cleanedAs,\n routeInfo,\n forcedScroll ||\n (isValidShallowRoute || !options.scroll ? null : { x: 0, y: 0 })\n ).catch((e) => {\n if (e.cancelled) error = error || e\n else throw e\n })\n\n if (error) {\n Router.events.emit('routeChangeError', error, cleanedAs, routeProps)\n throw error\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (this.locale) {\n document.documentElement.lang = this.locale\n }\n }\n Router.events.emit('routeChangeComplete', as, routeProps)\n\n return true\n } catch (err) {\n if (err.cancelled) {\n return false\n }\n throw err\n }\n }\n\n changeState(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions = {}\n ): void {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window.history === 'undefined') {\n console.error(`Warning: window.history is not available.`)\n return\n }\n\n if (typeof window.history[method] === 'undefined') {\n console.error(`Warning: window.history.${method} is not available`)\n return\n }\n }\n\n if (method !== 'pushState' || getURL() !== as) {\n this._shallow = options.shallow\n window.history[method](\n {\n url,\n as,\n options,\n __N: true,\n idx: this._idx = method !== 'pushState' ? this._idx : this._idx + 1,\n } as HistoryState,\n // Most browsers currently ignores this parameter, although they may use it in the future.\n // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n '',\n as\n )\n }\n }\n\n async handleRouteInfoError(\n err: Error & { code: any; cancelled: boolean },\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n routeProps: RouteProperties,\n loadErrorFail?: boolean\n ): Promise {\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err\n }\n\n if (isAssetError(err) || loadErrorFail) {\n Router.events.emit('routeChangeError', err, as, routeProps)\n\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n\n // So, doing a hard reload is the proper way to deal with this.\n window.location.href = as\n\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError()\n }\n\n try {\n let Component: ComponentType\n let styleSheets: StyleSheetTuple[]\n let props: Record | undefined\n\n if (\n typeof Component! === 'undefined' ||\n typeof styleSheets! === 'undefined'\n ) {\n ;({ page: Component, styleSheets } = await this.fetchComponent(\n '/_error'\n ))\n }\n\n const routeInfo: CompletePrivateRouteInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err,\n }\n\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query,\n } as any)\n } catch (gipErr) {\n console.error('Error in error page `getInitialProps`: ', gipErr)\n routeInfo.props = {}\n }\n }\n\n return routeInfo\n } catch (routeInfoErr) {\n return this.handleRouteInfoError(\n routeInfoErr,\n pathname,\n query,\n as,\n routeProps,\n true\n )\n }\n }\n\n async getRouteInfo(\n route: string,\n pathname: string,\n query: any,\n as: string,\n resolvedAs: string,\n routeProps: RouteProperties\n ): Promise {\n try {\n const existingRouteInfo: PrivateRouteInfo | undefined = this.components[\n route\n ]\n if (routeProps.shallow && existingRouteInfo && this.route === route) {\n return existingRouteInfo\n }\n\n const cachedRouteInfo: CompletePrivateRouteInfo | undefined =\n existingRouteInfo && 'initial' in existingRouteInfo\n ? undefined\n : existingRouteInfo\n const routeInfo: CompletePrivateRouteInfo = cachedRouteInfo\n ? cachedRouteInfo\n : await this.fetchComponent(route).then((res) => ({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP,\n }))\n\n const { Component, __N_SSG, __N_SSP } = routeInfo\n\n if (process.env.NODE_ENV !== 'production') {\n const { isValidElementType } = require('react-is')\n if (!isValidElementType(Component)) {\n throw new Error(\n `The default export is not a React Component in page: \"${pathname}\"`\n )\n }\n }\n\n let dataHref: string | undefined\n\n if (__N_SSG || __N_SSP) {\n dataHref = this.pageLoader.getDataHref(\n formatWithValidation({ pathname, query }),\n resolvedAs,\n __N_SSG,\n this.locale\n )\n }\n\n const props = await this._getData(() =>\n __N_SSG\n ? this._getStaticData(dataHref!)\n : __N_SSP\n ? this._getServerData(dataHref!)\n : this.getInitialProps(\n Component,\n // we provide AppTree later so this needs to be `any`\n {\n pathname,\n query,\n asPath: as,\n } as any\n )\n )\n\n routeInfo.props = props\n this.components[route] = routeInfo\n return routeInfo\n } catch (err) {\n return this.handleRouteInfoError(err, pathname, query, as, routeProps)\n }\n }\n\n set(\n route: string,\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n data: PrivateRouteInfo,\n resetScroll: { x: number; y: number } | null\n ): Promise {\n this.isFallback = false\n\n this.route = route\n this.pathname = pathname\n this.query = query\n this.asPath = as\n return this.notify(data, resetScroll)\n }\n\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */\n beforePopState(cb: BeforePopStateCallback) {\n this._bps = cb\n }\n\n onlyAHashChange(as: string): boolean {\n if (!this.asPath) return false\n const [oldUrlNoHash, oldHash] = this.asPath.split('#')\n const [newUrlNoHash, newHash] = as.split('#')\n\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true\n }\n\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false\n }\n\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash\n }\n\n scrollToHash(as: string): void {\n const [, hash] = as.split('#')\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === '' || hash === 'top') {\n window.scrollTo(0, 0)\n return\n }\n\n // First we check if the element by id is found\n const idEl = document.getElementById(hash)\n if (idEl) {\n idEl.scrollIntoView()\n return\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(hash)[0]\n if (nameEl) {\n nameEl.scrollIntoView()\n }\n }\n\n urlIsNew(asPath: string): boolean {\n return this.asPath !== asPath\n }\n\n _resolveHref(parsedHref: UrlObject, pages: string[], applyBasePath = true) {\n const { pathname } = parsedHref\n const cleanPathname = removePathTrailingSlash(\n denormalizePagePath(applyBasePath ? delBasePath(pathname!) : pathname!)\n )\n\n if (cleanPathname === '/404' || cleanPathname === '/_error') {\n return parsedHref\n }\n\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname!)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page) => {\n if (\n isDynamicRoute(page) &&\n getRouteRegex(page).re.test(cleanPathname!)\n ) {\n parsedHref.pathname = applyBasePath ? addBasePath(page) : page\n return true\n }\n })\n }\n parsedHref.pathname = removePathTrailingSlash(parsedHref.pathname!)\n return parsedHref\n }\n\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */\n async prefetch(\n url: string,\n asPath: string = url,\n options: PrefetchOptions = {}\n ): Promise {\n let parsed = parseRelativeUrl(url)\n\n let { pathname } = parsed\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (options.locale === false) {\n pathname = normalizeLocalePath!(pathname, this.locales).pathname\n parsed.pathname = pathname\n url = formatWithValidation(parsed)\n\n let parsedAs = parseRelativeUrl(asPath)\n const localePathResult = normalizeLocalePath!(\n parsedAs.pathname,\n this.locales\n )\n parsedAs.pathname = localePathResult.pathname\n options.locale = localePathResult.detectedLocale || this.defaultLocale\n asPath = formatWithValidation(parsedAs)\n }\n }\n\n const pages = await this.pageLoader.getPageList()\n\n parsed = this._resolveHref(parsed, pages, false) as typeof parsed\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname\n url = formatWithValidation(parsed)\n }\n\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (process.env.NODE_ENV !== 'production') {\n return\n }\n\n const route = removePathTrailingSlash(pathname)\n await Promise.all([\n this.pageLoader._isSsg(url).then((isSsg: boolean) => {\n return isSsg\n ? this._getStaticData(\n this.pageLoader.getDataHref(\n url,\n asPath,\n true,\n typeof options.locale !== 'undefined'\n ? options.locale\n : this.locale\n )\n )\n : false\n }),\n this.pageLoader[options.priority ? 'loadPage' : 'prefetch'](route),\n ])\n }\n\n async fetchComponent(route: string): Promise {\n let cancelled = false\n const cancel = (this.clc = () => {\n cancelled = true\n })\n\n const componentResult = await this.pageLoader.loadPage(route)\n\n if (cancelled) {\n const error: any = new Error(\n `Abort fetching component for route: \"${route}\"`\n )\n error.cancelled = true\n throw error\n }\n\n if (cancel === this.clc) {\n this.clc = null\n }\n\n return componentResult\n }\n\n _getData(fn: () => Promise): Promise {\n let cancelled = false\n const cancel = () => {\n cancelled = true\n }\n this.clc = cancel\n return fn().then((data) => {\n if (cancel === this.clc) {\n this.clc = null\n }\n\n if (cancelled) {\n const err: any = new Error('Loading initial props cancelled')\n err.cancelled = true\n throw err\n }\n\n return data\n })\n }\n\n _getStaticData(dataHref: string): Promise {\n const { href: cacheKey } = new URL(dataHref, window.location.href)\n if (process.env.NODE_ENV === 'production' && this.sdc[cacheKey]) {\n return Promise.resolve(this.sdc[cacheKey])\n }\n return fetchNextData(dataHref, this.isSsr).then((data) => {\n this.sdc[cacheKey] = data\n return data\n })\n }\n\n _getServerData(dataHref: string): Promise {\n return fetchNextData(dataHref, this.isSsr)\n }\n\n getInitialProps(\n Component: ComponentType,\n ctx: NextPageContext\n ): Promise {\n const { Component: App } = this.components['/_app']\n const AppTree = this._wrapApp(App as AppComponent)\n ctx.AppTree = AppTree\n return loadGetInitialProps>(App, {\n AppTree,\n Component,\n router: this,\n ctx,\n })\n }\n\n abortComponentLoad(as: string, routeProps: RouteProperties): void {\n if (this.clc) {\n Router.events.emit(\n 'routeChangeError',\n buildCancellationError(),\n as,\n routeProps\n )\n this.clc()\n this.clc = null\n }\n }\n\n notify(\n data: PrivateRouteInfo,\n resetScroll: { x: number; y: number } | null\n ): Promise {\n return this.sub(\n data,\n this.components['/_app'].Component as AppComponent,\n resetScroll\n )\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.d.ts new file mode 100644 index 00000000..889297d1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.d.ts @@ -0,0 +1 @@ +export default function escapePathDelimiters(segment: string, escapeEncoded?: boolean): string; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js new file mode 100644 index 00000000..53c0d6b1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js @@ -0,0 +1,3 @@ +"use strict";exports.__esModule=true;exports.default=escapePathDelimiters;// escape delimiters used by path-to-regexp +function escapePathDelimiters(segment,escapeEncoded){return segment.replace(new RegExp(`([/#?]${escapeEncoded?'|%(2f|23|3f)':''})`,'gi'),char=>encodeURIComponent(char));} +//# sourceMappingURL=escape-path-delimiters.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js.map new file mode 100644 index 00000000..e6482ef0 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/escape-path-delimiters.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/escape-path-delimiters.ts"],"names":["escapePathDelimiters","segment","escapeEncoded","replace","RegExp","char","encodeURIComponent"],"mappings":"0EAAA;AACe,QAASA,CAAAA,oBAAT,CACbC,OADa,CAEbC,aAFa,CAGL,CACR,MAAOD,CAAAA,OAAO,CAACE,OAAR,CACL,GAAIC,CAAAA,MAAJ,CAAY,SAAQF,aAAa,CAAG,cAAH,CAAoB,EAAG,GAAxD,CAA4D,IAA5D,CADK,CAEJG,IAAD,EAAkBC,kBAAkB,CAACD,IAAD,CAF/B,CAAP,CAID","sourcesContent":["// escape delimiters used by path-to-regexp\nexport default function escapePathDelimiters(\n segment: string,\n escapeEncoded?: boolean\n): string {\n return segment.replace(\n new RegExp(`([/#?]${escapeEncoded ? '|%(2f|23|3f)' : ''})`, 'gi'),\n (char: string) => encodeURIComponent(char)\n )\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.d.ts new file mode 100644 index 00000000..b0722e76 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.d.ts @@ -0,0 +1,3 @@ +/// +import { UrlObject } from 'url'; +export declare function formatUrl(urlObj: UrlObject): string; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js new file mode 100644 index 00000000..53a45d13 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js @@ -0,0 +1,23 @@ +"use strict";exports.__esModule=true;exports.formatUrl=formatUrl;var querystring=_interopRequireWildcard(require("./querystring"));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}// Format function modified from nodejs +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +const slashedProtocols=/https?|ftp|gopher|file/;function formatUrl(urlObj){let{auth,hostname}=urlObj;let protocol=urlObj.protocol||'';let pathname=urlObj.pathname||'';let hash=urlObj.hash||'';let query=urlObj.query||'';let host=false;auth=auth?encodeURIComponent(auth).replace(/%3A/i,':')+'@':'';if(urlObj.host){host=auth+urlObj.host;}else if(hostname){host=auth+(~hostname.indexOf(':')?`[${hostname}]`:hostname);if(urlObj.port){host+=':'+urlObj.port;}}if(query&&typeof query==='object'){query=String(querystring.urlQueryToSearchParams(query));}let search=urlObj.search||query&&`?${query}`||'';if(protocol&&protocol.substr(-1)!==':')protocol+=':';if(urlObj.slashes||(!protocol||slashedProtocols.test(protocol))&&host!==false){host='//'+(host||'');if(pathname&&pathname[0]!=='/')pathname='/'+pathname;}else if(!host){host='';}if(hash&&hash[0]!=='#')hash='#'+hash;if(search&&search[0]!=='?')search='?'+search;pathname=pathname.replace(/[?#]/g,encodeURIComponent);search=search.replace('#','%23');return`${protocol}${host}${pathname}${search}${hash}`;} +//# sourceMappingURL=format-url.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js.map new file mode 100644 index 00000000..34612c02 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/format-url.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/format-url.ts"],"names":["slashedProtocols","formatUrl","urlObj","auth","hostname","protocol","pathname","hash","query","host","encodeURIComponent","replace","indexOf","port","String","querystring","urlQueryToSearchParams","search","substr","slashes","test"],"mappings":"iEAwBA,kE,qzBAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,KAAMA,CAAAA,gBAAgB,CAAG,wBAAzB,CAEO,QAASC,CAAAA,SAAT,CAAmBC,MAAnB,CAAsC,CAC3C,GAAI,CAAEC,IAAF,CAAQC,QAAR,EAAqBF,MAAzB,CACA,GAAIG,CAAAA,QAAQ,CAAGH,MAAM,CAACG,QAAP,EAAmB,EAAlC,CACA,GAAIC,CAAAA,QAAQ,CAAGJ,MAAM,CAACI,QAAP,EAAmB,EAAlC,CACA,GAAIC,CAAAA,IAAI,CAAGL,MAAM,CAACK,IAAP,EAAe,EAA1B,CACA,GAAIC,CAAAA,KAAK,CAAGN,MAAM,CAACM,KAAP,EAAgB,EAA5B,CACA,GAAIC,CAAAA,IAAoB,CAAG,KAA3B,CAEAN,IAAI,CAAGA,IAAI,CAAGO,kBAAkB,CAACP,IAAD,CAAlB,CAAyBQ,OAAzB,CAAiC,MAAjC,CAAyC,GAAzC,EAAgD,GAAnD,CAAyD,EAApE,CAEA,GAAIT,MAAM,CAACO,IAAX,CAAiB,CACfA,IAAI,CAAGN,IAAI,CAAGD,MAAM,CAACO,IAArB,CACD,CAFD,IAEO,IAAIL,QAAJ,CAAc,CACnBK,IAAI,CAAGN,IAAI,EAAI,CAACC,QAAQ,CAACQ,OAAT,CAAiB,GAAjB,CAAD,CAA0B,IAAGR,QAAS,GAAtC,CAA2CA,QAA/C,CAAX,CACA,GAAIF,MAAM,CAACW,IAAX,CAAiB,CACfJ,IAAI,EAAI,IAAMP,MAAM,CAACW,IAArB,CACD,CACF,CAED,GAAIL,KAAK,EAAI,MAAOA,CAAAA,KAAP,GAAiB,QAA9B,CAAwC,CACtCA,KAAK,CAAGM,MAAM,CAACC,WAAW,CAACC,sBAAZ,CAAmCR,KAAnC,CAAD,CAAd,CACD,CAED,GAAIS,CAAAA,MAAM,CAAGf,MAAM,CAACe,MAAP,EAAkBT,KAAK,EAAK,IAAGA,KAAM,EAArC,EAA2C,EAAxD,CAEA,GAAIH,QAAQ,EAAIA,QAAQ,CAACa,MAAT,CAAgB,CAAC,CAAjB,IAAwB,GAAxC,CAA6Cb,QAAQ,EAAI,GAAZ,CAE7C,GACEH,MAAM,CAACiB,OAAP,EACC,CAAC,CAACd,QAAD,EAAaL,gBAAgB,CAACoB,IAAjB,CAAsBf,QAAtB,CAAd,GAAkDI,IAAI,GAAK,KAF9D,CAGE,CACAA,IAAI,CAAG,MAAQA,IAAI,EAAI,EAAhB,CAAP,CACA,GAAIH,QAAQ,EAAIA,QAAQ,CAAC,CAAD,CAAR,GAAgB,GAAhC,CAAqCA,QAAQ,CAAG,IAAMA,QAAjB,CACtC,CAND,IAMO,IAAI,CAACG,IAAL,CAAW,CAChBA,IAAI,CAAG,EAAP,CACD,CAED,GAAIF,IAAI,EAAIA,IAAI,CAAC,CAAD,CAAJ,GAAY,GAAxB,CAA6BA,IAAI,CAAG,IAAMA,IAAb,CAC7B,GAAIU,MAAM,EAAIA,MAAM,CAAC,CAAD,CAAN,GAAc,GAA5B,CAAiCA,MAAM,CAAG,IAAMA,MAAf,CAEjCX,QAAQ,CAAGA,QAAQ,CAACK,OAAT,CAAiB,OAAjB,CAA0BD,kBAA1B,CAAX,CACAO,MAAM,CAAGA,MAAM,CAACN,OAAP,CAAe,GAAf,CAAoB,KAApB,CAAT,CAEA,MAAQ,GAAEN,QAAS,GAAEI,IAAK,GAAEH,QAAS,GAAEW,MAAO,GAAEV,IAAK,EAArD,CACD","sourcesContent":["// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport { UrlObject } from 'url'\nimport { ParsedUrlQuery } from 'querystring'\nimport * as querystring from './querystring'\n\nconst slashedProtocols = /https?|ftp|gopher|file/\n\nexport function formatUrl(urlObj: UrlObject) {\n let { auth, hostname } = urlObj\n let protocol = urlObj.protocol || ''\n let pathname = urlObj.pathname || ''\n let hash = urlObj.hash || ''\n let query = urlObj.query || ''\n let host: string | false = false\n\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''\n\n if (urlObj.host) {\n host = auth + urlObj.host\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname)\n if (urlObj.port) {\n host += ':' + urlObj.port\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query as ParsedUrlQuery))\n }\n\n let search = urlObj.search || (query && `?${query}`) || ''\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':'\n\n if (\n urlObj.slashes ||\n ((!protocol || slashedProtocols.test(protocol)) && host !== false)\n ) {\n host = '//' + (host || '')\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname\n } else if (!host) {\n host = ''\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash\n if (search && search[0] !== '?') search = '?' + search\n\n pathname = pathname.replace(/[?#]/g, encodeURIComponent)\n search = search.replace('#', '%23')\n\n return `${protocol}${host}${pathname}${search}${hash}`\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.d.ts new file mode 100644 index 00000000..2d35319d --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.d.ts @@ -0,0 +1 @@ +export default function getAssetPathFromRoute(route: string, ext?: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js new file mode 100644 index 00000000..9bb8ebfa --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js @@ -0,0 +1,4 @@ +"use strict";exports.__esModule=true;exports.default=getAssetPathFromRoute;// Translates a logical route into its pages asset path (relative from a common prefix) +// "asset path" being its javascript file, data file, prerendered html,... +function getAssetPathFromRoute(route,ext=''){const path=route==='/'?'/index':/^\/index(\/|$)/.test(route)?`/index${route}`:`${route}`;return path+ext;} +//# sourceMappingURL=get-asset-path-from-route.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js.map new file mode 100644 index 00000000..0502d3a1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-asset-path-from-route.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/get-asset-path-from-route.ts"],"names":["getAssetPathFromRoute","route","ext","path","test"],"mappings":"2EAAA;AACA;AACe,QAASA,CAAAA,qBAAT,CACbC,KADa,CAEbC,GAAW,CAAG,EAFD,CAGL,CACR,KAAMC,CAAAA,IAAI,CACRF,KAAK,GAAK,GAAV,CACI,QADJ,CAEI,iBAAiBG,IAAjB,CAAsBH,KAAtB,EACC,SAAQA,KAAM,EADf,CAEC,GAAEA,KAAM,EALf,CAMA,MAAOE,CAAAA,IAAI,CAAGD,GAAd,CACD","sourcesContent":["// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\nexport default function getAssetPathFromRoute(\n route: string,\n ext: string = ''\n): string {\n const path =\n route === '/'\n ? '/index'\n : /^\\/index(\\/|$)/.test(route)\n ? `/index${route}`\n : `${route}`\n return path + ext\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.d.ts new file mode 100644 index 00000000..c624ff24 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.d.ts @@ -0,0 +1 @@ +export default function getRouteFromAssetPath(assetPath: string, ext?: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js new file mode 100644 index 00000000..cd31e361 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js @@ -0,0 +1,4 @@ +"use strict";exports.__esModule=true;exports.default=getRouteFromAssetPath;// Translate a pages asset path (relative from a common prefix) back into its logical route +// "asset path" being its javascript file, data file, prerendered html,... +function getRouteFromAssetPath(assetPath,ext=''){assetPath=assetPath.replace(/\\/g,'/');assetPath=ext&&assetPath.endsWith(ext)?assetPath.slice(0,-ext.length):assetPath;if(assetPath.startsWith('/index/')){assetPath=assetPath.slice(6);}else if(assetPath==='/index'){assetPath='/';}return assetPath;} +//# sourceMappingURL=get-route-from-asset-path.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js.map new file mode 100644 index 00000000..e82e359e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/get-route-from-asset-path.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/get-route-from-asset-path.ts"],"names":["getRouteFromAssetPath","assetPath","ext","replace","endsWith","slice","length","startsWith"],"mappings":"2EAAA;AACA;AACe,QAASA,CAAAA,qBAAT,CACbC,SADa,CAEbC,GAAW,CAAG,EAFD,CAGL,CACRD,SAAS,CAAGA,SAAS,CAACE,OAAV,CAAkB,KAAlB,CAAyB,GAAzB,CAAZ,CACAF,SAAS,CACPC,GAAG,EAAID,SAAS,CAACG,QAAV,CAAmBF,GAAnB,CAAP,CAAiCD,SAAS,CAACI,KAAV,CAAgB,CAAhB,CAAmB,CAACH,GAAG,CAACI,MAAxB,CAAjC,CAAmEL,SADrE,CAEA,GAAIA,SAAS,CAACM,UAAV,CAAqB,SAArB,CAAJ,CAAqC,CACnCN,SAAS,CAAGA,SAAS,CAACI,KAAV,CAAgB,CAAhB,CAAZ,CACD,CAFD,IAEO,IAAIJ,SAAS,GAAK,QAAlB,CAA4B,CACjCA,SAAS,CAAG,GAAZ,CACD,CACD,MAAOA,CAAAA,SAAP,CACD","sourcesContent":["// Translate a pages asset path (relative from a common prefix) back into its logical route\n// \"asset path\" being its javascript file, data file, prerendered html,...\nexport default function getRouteFromAssetPath(\n assetPath: string,\n ext: string = ''\n): string {\n assetPath = assetPath.replace(/\\\\/g, '/')\n assetPath =\n ext && assetPath.endsWith(ext) ? assetPath.slice(0, -ext.length) : assetPath\n if (assetPath.startsWith('/index/')) {\n assetPath = assetPath.slice(6)\n } else if (assetPath === '/index') {\n assetPath = '/'\n }\n return assetPath\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.d.ts new file mode 100644 index 00000000..825d3126 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.d.ts @@ -0,0 +1,4 @@ +export { getRouteMatcher } from './route-matcher'; +export { getRouteRegex } from './route-regex'; +export { getSortedRoutes } from './sorted-routes'; +export { isDynamicRoute } from './is-dynamic'; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js new file mode 100644 index 00000000..3fb352b4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.isDynamicRoute=exports.getSortedRoutes=exports.getRouteRegex=exports.getRouteMatcher=void 0;var _routeMatcher=require("./route-matcher");exports.getRouteMatcher=_routeMatcher.getRouteMatcher;var _routeRegex=require("./route-regex");exports.getRouteRegex=_routeRegex.getRouteRegex;var _sortedRoutes=require("./sorted-routes");exports.getSortedRoutes=_sortedRoutes.getSortedRoutes;var _isDynamic=require("./is-dynamic");exports.isDynamicRoute=_isDynamic.isDynamicRoute; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js.map new file mode 100644 index 00000000..d8c557ed --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/index.ts"],"names":[],"mappings":"yIAAA,6C,sDACA,yC,gDACA,6C,sDACA,uC","sourcesContent":["export { getRouteMatcher } from './route-matcher'\nexport { getRouteRegex } from './route-regex'\nexport { getSortedRoutes } from './sorted-routes'\nexport { isDynamicRoute } from './is-dynamic'\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.d.ts new file mode 100644 index 00000000..7d7ddbec --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.d.ts @@ -0,0 +1 @@ +export declare function isDynamicRoute(route: string): boolean; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js new file mode 100644 index 00000000..7dfb56fd --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js @@ -0,0 +1,3 @@ +"use strict";exports.__esModule=true;exports.isDynamicRoute=isDynamicRoute;// Identify /[param]/ in route string +const TEST_ROUTE=/\/\[[^/]+?\](?=\/|$)/;function isDynamicRoute(route){return TEST_ROUTE.test(route);} +//# sourceMappingURL=is-dynamic.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js.map new file mode 100644 index 00000000..2ab2d810 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/is-dynamic.ts"],"names":["TEST_ROUTE","isDynamicRoute","route","test"],"mappings":"2EAAA;AACA,KAAMA,CAAAA,UAAU,CAAG,sBAAnB,CAEO,QAASC,CAAAA,cAAT,CAAwBC,KAAxB,CAAgD,CACrD,MAAOF,CAAAA,UAAU,CAACG,IAAX,CAAgBD,KAAhB,CAAP,CACD","sourcesContent":["// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/\n\nexport function isDynamicRoute(route: string): boolean {\n return TEST_ROUTE.test(route)\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.d.ts new file mode 100644 index 00000000..8f58bb70 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.d.ts @@ -0,0 +1,14 @@ +/// +/** + * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative + * (e.g. `./hello`) then at least base must be. + * Absolute urls are rejected with one exception, in the browser, absolute urls that are on + * the current origin will be parsed as relative + */ +export declare function parseRelativeUrl(url: string, base?: string): { + pathname: string; + query: import("querystring").ParsedUrlQuery; + search: string; + hash: string; + href: string; +}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js new file mode 100644 index 00000000..638ea7c4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js @@ -0,0 +1,7 @@ +"use strict";exports.__esModule=true;exports.parseRelativeUrl=parseRelativeUrl;var _utils=require("../../utils");var _querystring=require("./querystring");/** + * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative + * (e.g. `./hello`) then at least base must be. + * Absolute urls are rejected with one exception, in the browser, absolute urls that are on + * the current origin will be parsed as relative + */function parseRelativeUrl(url,base){const globalBase=new URL(typeof window==='undefined'?'http://n':(0,_utils.getLocationOrigin)());const resolvedBase=base?new URL(base,globalBase):globalBase;const{pathname,searchParams,search,hash,href,origin}=new URL(url,resolvedBase);if(origin!==globalBase.origin){throw new Error(`invariant: invalid relative URL, router received ${url}`);}return{pathname,query:(0,_querystring.searchParamsToUrlQuery)(searchParams),search,hash,href:href.slice(globalBase.origin.length)};} +//# sourceMappingURL=parse-relative-url.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js.map new file mode 100644 index 00000000..5eb0f00e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/parse-relative-url.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/parse-relative-url.ts"],"names":["parseRelativeUrl","url","base","globalBase","URL","window","resolvedBase","pathname","searchParams","search","hash","href","origin","Error","query","slice","length"],"mappings":"+EAAA,kCACA,0CAEA;AACA;AACA;AACA;AACA;AACA,GACO,QAASA,CAAAA,gBAAT,CAA0BC,GAA1B,CAAuCC,IAAvC,CAAsD,CAC3D,KAAMC,CAAAA,UAAU,CAAG,GAAIC,CAAAA,GAAJ,CACjB,MAAOC,CAAAA,MAAP,GAAkB,WAAlB,CAAgC,UAAhC,CAA6C,8BAD5B,CAAnB,CAGA,KAAMC,CAAAA,YAAY,CAAGJ,IAAI,CAAG,GAAIE,CAAAA,GAAJ,CAAQF,IAAR,CAAcC,UAAd,CAAH,CAA+BA,UAAxD,CACA,KAAM,CAAEI,QAAF,CAAYC,YAAZ,CAA0BC,MAA1B,CAAkCC,IAAlC,CAAwCC,IAAxC,CAA8CC,MAA9C,EAAyD,GAAIR,CAAAA,GAAJ,CAC7DH,GAD6D,CAE7DK,YAF6D,CAA/D,CAIA,GAAIM,MAAM,GAAKT,UAAU,CAACS,MAA1B,CAAkC,CAChC,KAAM,IAAIC,CAAAA,KAAJ,CAAW,oDAAmDZ,GAAI,EAAlE,CAAN,CACD,CACD,MAAO,CACLM,QADK,CAELO,KAAK,CAAE,wCAAuBN,YAAvB,CAFF,CAGLC,MAHK,CAILC,IAJK,CAKLC,IAAI,CAAEA,IAAI,CAACI,KAAL,CAAWZ,UAAU,CAACS,MAAX,CAAkBI,MAA7B,CALD,CAAP,CAOD","sourcesContent":["import { getLocationOrigin } from '../../utils'\nimport { searchParamsToUrlQuery } from './querystring'\n\n/**\n * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative\n * (e.g. `./hello`) then at least base must be.\n * Absolute urls are rejected with one exception, in the browser, absolute urls that are on\n * the current origin will be parsed as relative\n */\nexport function parseRelativeUrl(url: string, base?: string) {\n const globalBase = new URL(\n typeof window === 'undefined' ? 'http://n' : getLocationOrigin()\n )\n const resolvedBase = base ? new URL(base, globalBase) : globalBase\n const { pathname, searchParams, search, hash, href, origin } = new URL(\n url,\n resolvedBase\n )\n if (origin !== globalBase.origin) {\n throw new Error(`invariant: invalid relative URL, router received ${url}`)\n }\n return {\n pathname,\n query: searchParamsToUrlQuery(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length),\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.d.ts new file mode 100644 index 00000000..602853c5 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.d.ts @@ -0,0 +1,6 @@ +import * as pathToRegexp from 'next/dist/compiled/path-to-regexp'; +export { pathToRegexp }; +export declare const matcherOptions: pathToRegexp.TokensToRegexpOptions & pathToRegexp.ParseOptions; +export declare const customRouteMatcherOptions: pathToRegexp.TokensToRegexpOptions & pathToRegexp.ParseOptions; +declare const _default: (customRoute?: boolean) => (path: string) => (pathname: string | null | undefined, params?: any) => any; +export default _default; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js new file mode 100644 index 00000000..12d1b85e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js @@ -0,0 +1,4 @@ +"use strict";exports.__esModule=true;exports.pathToRegexp=exports.default=exports.customRouteMatcherOptions=exports.matcherOptions=void 0;var pathToRegexp=_interopRequireWildcard(require("next/dist/compiled/path-to-regexp"));exports.pathToRegexp=pathToRegexp;function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}const matcherOptions={sensitive:false,delimiter:'/'};exports.matcherOptions=matcherOptions;const customRouteMatcherOptions={...matcherOptions,strict:true};exports.customRouteMatcherOptions=customRouteMatcherOptions;var _default=(customRoute=false)=>{return path=>{const keys=[];const matcherRegex=pathToRegexp.pathToRegexp(path,keys,customRoute?customRouteMatcherOptions:matcherOptions);const matcher=pathToRegexp.regexpToFunction(matcherRegex,keys);return(pathname,params)=>{const res=pathname==null?false:matcher(pathname);if(!res){return false;}if(customRoute){for(const key of keys){// unnamed params should be removed as they +// are not allowed to be used in the destination +if(typeof key.name==='number'){delete res.params[key.name];}}}return{...params,...res.params};};};};exports.default=_default; +//# sourceMappingURL=path-match.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js.map new file mode 100644 index 00000000..f83a05c8 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/path-match.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/path-match.ts"],"names":["matcherOptions","sensitive","delimiter","customRouteMatcherOptions","strict","customRoute","path","keys","matcherRegex","pathToRegexp","matcher","regexpToFunction","pathname","params","res","key","name"],"mappings":"0IAAA,uF,u1BAIO,KAAMA,CAAAA,cACc,CAAG,CAC5BC,SAAS,CAAE,KADiB,CAE5BC,SAAS,CAAE,GAFiB,CADvB,C,sCAMA,KAAMC,CAAAA,yBACc,CAAG,CAC5B,GAAGH,cADyB,CAE5BI,MAAM,CAAE,IAFoB,CADvB,C,yEAMQ,CAACC,WAAW,CAAG,KAAf,GAAyB,CACtC,MAAQC,CAAAA,IAAD,EAAkB,CACvB,KAAMC,CAAAA,IAAwB,CAAG,EAAjC,CACA,KAAMC,CAAAA,YAAY,CAAGC,YAAY,CAACA,YAAb,CACnBH,IADmB,CAEnBC,IAFmB,CAGnBF,WAAW,CAAGF,yBAAH,CAA+BH,cAHvB,CAArB,CAKA,KAAMU,CAAAA,OAAO,CAAGD,YAAY,CAACE,gBAAb,CAA8BH,YAA9B,CAA4CD,IAA5C,CAAhB,CAEA,MAAO,CAACK,QAAD,CAAsCC,MAAtC,GAAuD,CAC5D,KAAMC,CAAAA,GAAG,CAAGF,QAAQ,EAAI,IAAZ,CAAmB,KAAnB,CAA2BF,OAAO,CAACE,QAAD,CAA9C,CACA,GAAI,CAACE,GAAL,CAAU,CACR,MAAO,MAAP,CACD,CAED,GAAIT,WAAJ,CAAiB,CACf,IAAK,KAAMU,CAAAA,GAAX,GAAkBR,CAAAA,IAAlB,CAAwB,CACtB;AACA;AACA,GAAI,MAAOQ,CAAAA,GAAG,CAACC,IAAX,GAAoB,QAAxB,CAAkC,CAChC,MAAQF,CAAAA,GAAG,CAACD,MAAL,CAAoBE,GAAG,CAACC,IAAxB,CAAP,CACD,CACF,CACF,CAED,MAAO,CAAE,GAAGH,MAAL,CAAa,GAAGC,GAAG,CAACD,MAApB,CAAP,CACD,CAjBD,CAkBD,CA3BD,CA4BD,C","sourcesContent":["import * as pathToRegexp from 'next/dist/compiled/path-to-regexp'\n\nexport { pathToRegexp }\n\nexport const matcherOptions: pathToRegexp.TokensToRegexpOptions &\n pathToRegexp.ParseOptions = {\n sensitive: false,\n delimiter: '/',\n}\n\nexport const customRouteMatcherOptions: pathToRegexp.TokensToRegexpOptions &\n pathToRegexp.ParseOptions = {\n ...matcherOptions,\n strict: true,\n}\n\nexport default (customRoute = false) => {\n return (path: string) => {\n const keys: pathToRegexp.Key[] = []\n const matcherRegex = pathToRegexp.pathToRegexp(\n path,\n keys,\n customRoute ? customRouteMatcherOptions : matcherOptions\n )\n const matcher = pathToRegexp.regexpToFunction(matcherRegex, keys)\n\n return (pathname: string | null | undefined, params?: any) => {\n const res = pathname == null ? false : matcher(pathname)\n if (!res) {\n return false\n }\n\n if (customRoute) {\n for (const key of keys) {\n // unnamed params should be removed as they\n // are not allowed to be used in the destination\n if (typeof key.name === 'number') {\n delete (res.params as any)[key.name]\n }\n }\n }\n\n return { ...params, ...res.params }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.d.ts new file mode 100644 index 00000000..57e7dcdc --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.d.ts @@ -0,0 +1,22 @@ +/// +import { ParsedUrlQuery } from 'querystring'; +declare type Params = { + [param: string]: any; +}; +export declare function compileNonPath(value: string, params: Params): string; +export default function prepareDestination(destination: string, params: Params, query: ParsedUrlQuery, appendParamsToQuery: boolean): { + newUrl: string; + parsedDestination: { + query?: ParsedUrlQuery | undefined; + protocol?: string | undefined; + hostname?: string | undefined; + port?: string | undefined; + } & { + pathname: string; + query: ParsedUrlQuery; + search: string; + hash: string; + href: string; + }; +}; +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js new file mode 100644 index 00000000..a4c2d0ec --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js @@ -0,0 +1,21 @@ +"use strict";exports.__esModule=true;exports.compileNonPath=compileNonPath;exports.default=prepareDestination;var _querystring=require("./querystring");var _parseRelativeUrl=require("./parse-relative-url");var pathToRegexp=_interopRequireWildcard(require("next/dist/compiled/path-to-regexp"));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function compileNonPath(value,params){if(!value.includes(':')){return value;}for(const key of Object.keys(params)){if(value.includes(`:${key}`)){value=value.replace(new RegExp(`:${key}\\*`,'g'),`:${key}--ESCAPED_PARAM_ASTERISKS`).replace(new RegExp(`:${key}\\?`,'g'),`:${key}--ESCAPED_PARAM_QUESTION`).replace(new RegExp(`:${key}\\+`,'g'),`:${key}--ESCAPED_PARAM_PLUS`).replace(new RegExp(`:${key}(?!\\w)`,'g'),`--ESCAPED_PARAM_COLON${key}`);}}value=value.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,'\\$1').replace(/--ESCAPED_PARAM_PLUS/g,'+').replace(/--ESCAPED_PARAM_COLON/g,':').replace(/--ESCAPED_PARAM_QUESTION/g,'?').replace(/--ESCAPED_PARAM_ASTERISKS/g,'*');// the value needs to start with a forward-slash to be compiled +// correctly +return pathToRegexp.compile(`/${value}`,{validate:false})(params).substr(1);}function prepareDestination(destination,params,query,appendParamsToQuery){let parsedDestination={};// clone query so we don't modify the original +query=Object.assign({},query);const hadLocale=query.__nextLocale;delete query.__nextLocale;delete query.__nextDefaultLocale;if(destination.startsWith('/')){parsedDestination=(0,_parseRelativeUrl.parseRelativeUrl)(destination);}else{const{pathname,searchParams,hash,hostname,port,protocol,search,href}=new URL(destination);parsedDestination={pathname,query:(0,_querystring.searchParamsToUrlQuery)(searchParams),hash,protocol,hostname,port,search,href};}const destQuery=parsedDestination.query;const destPath=`${parsedDestination.pathname}${parsedDestination.hash||''}`;const destPathParamKeys=[];pathToRegexp.pathToRegexp(destPath,destPathParamKeys);const destPathParams=destPathParamKeys.map(key=>key.name);let destinationCompiler=pathToRegexp.compile(destPath,// we don't validate while compiling the destination since we should +// have already validated before we got to this point and validating +// breaks compiling destinations with named pattern params from the source +// e.g. /something:hello(.*) -> /another/:hello is broken with validation +// since compile validation is meant for reversing and not for inserting +// params from a separate path-regex into another +{validate:false});let newUrl;// update any params in query values +for(const[key,strOrArray]of Object.entries(destQuery)){let value=Array.isArray(strOrArray)?strOrArray[0]:strOrArray;if(value){// the value needs to start with a forward-slash to be compiled +// correctly +value=compileNonPath(value,params);}destQuery[key]=value;}// add path params to query if it's not a redirect and not +// already defined in destination query or path +let paramKeys=Object.keys(params);// remove internal param for i18n +if(hadLocale){paramKeys=paramKeys.filter(name=>name!=='nextInternalLocale');}if(appendParamsToQuery&&!paramKeys.some(key=>destPathParams.includes(key))){for(const key of paramKeys){if(!(key in destQuery)){destQuery[key]=params[key];}}}try{newUrl=destinationCompiler(params);const[pathname,hash]=newUrl.split('#');parsedDestination.pathname=pathname;parsedDestination.hash=`${hash?'#':''}${hash||''}`;delete parsedDestination.search;}catch(err){if(err.message.match(/Expected .*? to not repeat, but got an array/)){throw new Error(`To use a multi-match in the destination you must add \`*\` at the end of the param name to signify it should repeat. https://err.sh/vercel/next.js/invalid-multi-match`);}throw err;}// Query merge order lowest priority to highest +// 1. initial URL query values +// 2. path segment values +// 3. destination specified query values +parsedDestination.query={...query,...parsedDestination.query};return{newUrl,parsedDestination};} +//# sourceMappingURL=prepare-destination.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js.map new file mode 100644 index 00000000..e11d9e8b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/prepare-destination.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/prepare-destination.ts"],"names":["compileNonPath","value","params","includes","key","Object","keys","replace","RegExp","pathToRegexp","compile","validate","substr","prepareDestination","destination","query","appendParamsToQuery","parsedDestination","assign","hadLocale","__nextLocale","__nextDefaultLocale","startsWith","pathname","searchParams","hash","hostname","port","protocol","search","href","URL","destQuery","destPath","destPathParamKeys","destPathParams","map","name","destinationCompiler","newUrl","strOrArray","entries","Array","isArray","paramKeys","filter","some","split","err","message","match","Error"],"mappings":"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","sourcesContent":["import { ParsedUrlQuery } from 'querystring'\nimport { searchParamsToUrlQuery } from './querystring'\nimport { parseRelativeUrl } from './parse-relative-url'\nimport * as pathToRegexp from 'next/dist/compiled/path-to-regexp'\n\ntype Params = { [param: string]: any }\n\nexport function compileNonPath(value: string, params: Params): string {\n if (!value.includes(':')) {\n return value\n }\n\n for (const key of Object.keys(params)) {\n if (value.includes(`:${key}`)) {\n value = value\n .replace(\n new RegExp(`:${key}\\\\*`, 'g'),\n `:${key}--ESCAPED_PARAM_ASTERISKS`\n )\n .replace(\n new RegExp(`:${key}\\\\?`, 'g'),\n `:${key}--ESCAPED_PARAM_QUESTION`\n )\n .replace(new RegExp(`:${key}\\\\+`, 'g'), `:${key}--ESCAPED_PARAM_PLUS`)\n .replace(\n new RegExp(`:${key}(?!\\\\w)`, 'g'),\n `--ESCAPED_PARAM_COLON${key}`\n )\n }\n }\n value = value\n .replace(/(:|\\*|\\?|\\+|\\(|\\)|\\{|\\})/g, '\\\\$1')\n .replace(/--ESCAPED_PARAM_PLUS/g, '+')\n .replace(/--ESCAPED_PARAM_COLON/g, ':')\n .replace(/--ESCAPED_PARAM_QUESTION/g, '?')\n .replace(/--ESCAPED_PARAM_ASTERISKS/g, '*')\n\n // the value needs to start with a forward-slash to be compiled\n // correctly\n return pathToRegexp\n .compile(`/${value}`, { validate: false })(params)\n .substr(1)\n}\n\nexport default function prepareDestination(\n destination: string,\n params: Params,\n query: ParsedUrlQuery,\n appendParamsToQuery: boolean\n) {\n let parsedDestination: {\n query?: ParsedUrlQuery\n protocol?: string\n hostname?: string\n port?: string\n } & ReturnType = {} as any\n\n // clone query so we don't modify the original\n query = Object.assign({}, query)\n const hadLocale = query.__nextLocale\n delete query.__nextLocale\n delete query.__nextDefaultLocale\n\n if (destination.startsWith('/')) {\n parsedDestination = parseRelativeUrl(destination)\n } else {\n const {\n pathname,\n searchParams,\n hash,\n hostname,\n port,\n protocol,\n search,\n href,\n } = new URL(destination)\n\n parsedDestination = {\n pathname,\n query: searchParamsToUrlQuery(searchParams),\n hash,\n protocol,\n hostname,\n port,\n search,\n href,\n }\n }\n\n const destQuery = parsedDestination.query\n const destPath = `${parsedDestination.pathname!}${\n parsedDestination.hash || ''\n }`\n const destPathParamKeys: pathToRegexp.Key[] = []\n pathToRegexp.pathToRegexp(destPath, destPathParamKeys)\n\n const destPathParams = destPathParamKeys.map((key) => key.name)\n\n let destinationCompiler = pathToRegexp.compile(\n destPath,\n // we don't validate while compiling the destination since we should\n // have already validated before we got to this point and validating\n // breaks compiling destinations with named pattern params from the source\n // e.g. /something:hello(.*) -> /another/:hello is broken with validation\n // since compile validation is meant for reversing and not for inserting\n // params from a separate path-regex into another\n { validate: false }\n )\n let newUrl\n\n // update any params in query values\n for (const [key, strOrArray] of Object.entries(destQuery)) {\n let value = Array.isArray(strOrArray) ? strOrArray[0] : strOrArray\n if (value) {\n // the value needs to start with a forward-slash to be compiled\n // correctly\n value = compileNonPath(value, params)\n }\n destQuery[key] = value\n }\n\n // add path params to query if it's not a redirect and not\n // already defined in destination query or path\n let paramKeys = Object.keys(params)\n\n // remove internal param for i18n\n if (hadLocale) {\n paramKeys = paramKeys.filter((name) => name !== 'nextInternalLocale')\n }\n\n if (\n appendParamsToQuery &&\n !paramKeys.some((key) => destPathParams.includes(key))\n ) {\n for (const key of paramKeys) {\n if (!(key in destQuery)) {\n destQuery[key] = params[key]\n }\n }\n }\n\n try {\n newUrl = destinationCompiler(params)\n\n const [pathname, hash] = newUrl.split('#')\n parsedDestination.pathname = pathname\n parsedDestination.hash = `${hash ? '#' : ''}${hash || ''}`\n delete (parsedDestination as any).search\n } catch (err) {\n if (err.message.match(/Expected .*? to not repeat, but got an array/)) {\n throw new Error(\n `To use a multi-match in the destination you must add \\`*\\` at the end of the param name to signify it should repeat. https://err.sh/vercel/next.js/invalid-multi-match`\n )\n }\n throw err\n }\n\n // Query merge order lowest priority to highest\n // 1. initial URL query values\n // 2. path segment values\n // 3. destination specified query values\n parsedDestination.query = {\n ...query,\n ...parsedDestination.query,\n }\n\n return {\n newUrl,\n parsedDestination,\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.d.ts new file mode 100644 index 00000000..22898210 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.d.ts @@ -0,0 +1,5 @@ +/// +import { ParsedUrlQuery } from 'querystring'; +export declare function searchParamsToUrlQuery(searchParams: URLSearchParams): ParsedUrlQuery; +export declare function urlQueryToSearchParams(urlQuery: ParsedUrlQuery): URLSearchParams; +export declare function assign(target: URLSearchParams, ...searchParamsList: URLSearchParams[]): URLSearchParams; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js new file mode 100644 index 00000000..1da20104 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.searchParamsToUrlQuery=searchParamsToUrlQuery;exports.urlQueryToSearchParams=urlQueryToSearchParams;exports.assign=assign;function searchParamsToUrlQuery(searchParams){const query={};searchParams.forEach((value,key)=>{if(typeof query[key]==='undefined'){query[key]=value;}else if(Array.isArray(query[key])){;query[key].push(value);}else{query[key]=[query[key],value];}});return query;}function stringifyUrlQueryParam(param){if(typeof param==='string'||typeof param==='number'&&!isNaN(param)||typeof param==='boolean'){return String(param);}else{return'';}}function urlQueryToSearchParams(urlQuery){const result=new URLSearchParams();Object.entries(urlQuery).forEach(([key,value])=>{if(Array.isArray(value)){value.forEach(item=>result.append(key,stringifyUrlQueryParam(item)));}else{result.set(key,stringifyUrlQueryParam(value));}});return result;}function assign(target,...searchParamsList){searchParamsList.forEach(searchParams=>{Array.from(searchParams.keys()).forEach(key=>target.delete(key));searchParams.forEach((value,key)=>target.append(key,value));});return target;} +//# sourceMappingURL=querystring.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js.map new file mode 100644 index 00000000..ee4e8ca4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/querystring.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/querystring.ts"],"names":["searchParamsToUrlQuery","searchParams","query","forEach","value","key","Array","isArray","push","stringifyUrlQueryParam","param","isNaN","String","urlQueryToSearchParams","urlQuery","result","URLSearchParams","Object","entries","item","append","set","assign","target","searchParamsList","from","keys","delete"],"mappings":"uKAEO,QAASA,CAAAA,sBAAT,CACLC,YADK,CAEW,CAChB,KAAMC,CAAAA,KAAqB,CAAG,EAA9B,CACAD,YAAY,CAACE,OAAb,CAAqB,CAACC,KAAD,CAAQC,GAAR,GAAgB,CACnC,GAAI,MAAOH,CAAAA,KAAK,CAACG,GAAD,CAAZ,GAAsB,WAA1B,CAAuC,CACrCH,KAAK,CAACG,GAAD,CAAL,CAAaD,KAAb,CACD,CAFD,IAEO,IAAIE,KAAK,CAACC,OAAN,CAAcL,KAAK,CAACG,GAAD,CAAnB,CAAJ,CAA+B,CACpC,CAAEH,KAAK,CAACG,GAAD,CAAN,CAAyBG,IAAzB,CAA8BJ,KAA9B,EACF,CAFM,IAEA,CACLF,KAAK,CAACG,GAAD,CAAL,CAAa,CAACH,KAAK,CAACG,GAAD,CAAN,CAAuBD,KAAvB,CAAb,CACD,CACF,CARD,EASA,MAAOF,CAAAA,KAAP,CACD,CAED,QAASO,CAAAA,sBAAT,CAAgCC,KAAhC,CAAuD,CACrD,GACE,MAAOA,CAAAA,KAAP,GAAiB,QAAjB,EACC,MAAOA,CAAAA,KAAP,GAAiB,QAAjB,EAA6B,CAACC,KAAK,CAACD,KAAD,CADpC,EAEA,MAAOA,CAAAA,KAAP,GAAiB,SAHnB,CAIE,CACA,MAAOE,CAAAA,MAAM,CAACF,KAAD,CAAb,CACD,CAND,IAMO,CACL,MAAO,EAAP,CACD,CACF,CAEM,QAASG,CAAAA,sBAAT,CACLC,QADK,CAEY,CACjB,KAAMC,CAAAA,MAAM,CAAG,GAAIC,CAAAA,eAAJ,EAAf,CACAC,MAAM,CAACC,OAAP,CAAeJ,QAAf,EAAyBX,OAAzB,CAAiC,CAAC,CAACE,GAAD,CAAMD,KAAN,CAAD,GAAkB,CACjD,GAAIE,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,CAA0B,CACxBA,KAAK,CAACD,OAAN,CAAegB,IAAD,EAAUJ,MAAM,CAACK,MAAP,CAAcf,GAAd,CAAmBI,sBAAsB,CAACU,IAAD,CAAzC,CAAxB,EACD,CAFD,IAEO,CACLJ,MAAM,CAACM,GAAP,CAAWhB,GAAX,CAAgBI,sBAAsB,CAACL,KAAD,CAAtC,EACD,CACF,CAND,EAOA,MAAOW,CAAAA,MAAP,CACD,CAEM,QAASO,CAAAA,MAAT,CACLC,MADK,CAEL,GAAGC,gBAFE,CAGY,CACjBA,gBAAgB,CAACrB,OAAjB,CAA0BF,YAAD,EAAkB,CACzCK,KAAK,CAACmB,IAAN,CAAWxB,YAAY,CAACyB,IAAb,EAAX,EAAgCvB,OAAhC,CAAyCE,GAAD,EAASkB,MAAM,CAACI,MAAP,CAActB,GAAd,CAAjD,EACAJ,YAAY,CAACE,OAAb,CAAqB,CAACC,KAAD,CAAQC,GAAR,GAAgBkB,MAAM,CAACH,MAAP,CAAcf,GAAd,CAAmBD,KAAnB,CAArC,EACD,CAHD,EAIA,MAAOmB,CAAAA,MAAP,CACD","sourcesContent":["import { ParsedUrlQuery } from 'querystring'\n\nexport function searchParamsToUrlQuery(\n searchParams: URLSearchParams\n): ParsedUrlQuery {\n const query: ParsedUrlQuery = {}\n searchParams.forEach((value, key) => {\n if (typeof query[key] === 'undefined') {\n query[key] = value\n } else if (Array.isArray(query[key])) {\n ;(query[key] as string[]).push(value)\n } else {\n query[key] = [query[key] as string, value]\n }\n })\n return query\n}\n\nfunction stringifyUrlQueryParam(param: string): string {\n if (\n typeof param === 'string' ||\n (typeof param === 'number' && !isNaN(param)) ||\n typeof param === 'boolean'\n ) {\n return String(param)\n } else {\n return ''\n }\n}\n\nexport function urlQueryToSearchParams(\n urlQuery: ParsedUrlQuery\n): URLSearchParams {\n const result = new URLSearchParams()\n Object.entries(urlQuery).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((item) => result.append(key, stringifyUrlQueryParam(item)))\n } else {\n result.set(key, stringifyUrlQueryParam(value))\n }\n })\n return result\n}\n\nexport function assign(\n target: URLSearchParams,\n ...searchParamsList: URLSearchParams[]\n): URLSearchParams {\n searchParamsList.forEach((searchParams) => {\n Array.from(searchParams.keys()).forEach((key) => target.delete(key))\n searchParams.forEach((value, key) => target.append(key, value))\n })\n return target\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.d.ts new file mode 100644 index 00000000..b09dccc1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.d.ts @@ -0,0 +1 @@ +export default function resolveRewrites(): void; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js new file mode 100644 index 00000000..76c1b631 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.default=resolveRewrites;function resolveRewrites(){} +//# sourceMappingURL=resolve-rewrites-noop.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js.map new file mode 100644 index 00000000..4a216c10 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites-noop.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/resolve-rewrites-noop.ts"],"names":["resolveRewrites"],"mappings":"qEAAe,QAASA,CAAAA,eAAT,EAA2B,CAAE","sourcesContent":["export default function resolveRewrites() {}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.d.ts new file mode 100644 index 00000000..bf6e7e56 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.d.ts @@ -0,0 +1,10 @@ +/// +import { ParsedUrlQuery } from 'querystring'; +import { Rewrite } from '../../../../lib/load-custom-routes'; +import { parseRelativeUrl } from './parse-relative-url'; +export default function resolveRewrites(asPath: string, pages: string[], rewrites: Rewrite[], query: ParsedUrlQuery, resolveHref: (path: string) => string, locales?: string[]): { + matchedPage: boolean; + parsedAs: ReturnType; + asPath: string; + resolvedHref?: string; +}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js new file mode 100644 index 00000000..527305e6 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js @@ -0,0 +1,6 @@ +"use strict";exports.__esModule=true;exports.default=resolveRewrites;var _pathMatch=_interopRequireDefault(require("./path-match"));var _prepareDestination=_interopRequireDefault(require("./prepare-destination"));var _normalizeTrailingSlash=require("../../../../client/normalize-trailing-slash");var _normalizeLocalePath=require("../../i18n/normalize-locale-path");var _parseRelativeUrl=require("./parse-relative-url");var _router=require("../router");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const customRouteMatcher=(0,_pathMatch.default)(true);function resolveRewrites(asPath,pages,rewrites,query,resolveHref,locales){let matchedPage=false;let parsedAs=(0,_parseRelativeUrl.parseRelativeUrl)(asPath);let fsPathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)((0,_normalizeLocalePath.normalizeLocalePath)((0,_router.delBasePath)(parsedAs.pathname),locales).pathname);let resolvedHref;if(!pages.includes(fsPathname)){for(const rewrite of rewrites){const matcher=customRouteMatcher(rewrite.source);const params=matcher(parsedAs.pathname);if(params){if(!rewrite.destination){// this is a proxied rewrite which isn't handled on the client +break;}const destRes=(0,_prepareDestination.default)(rewrite.destination,params,query,true);parsedAs=destRes.parsedDestination;asPath=destRes.newUrl;Object.assign(query,destRes.parsedDestination.query);fsPathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)((0,_normalizeLocalePath.normalizeLocalePath)((0,_router.delBasePath)(asPath),locales).pathname);if(pages.includes(fsPathname)){// check if we now match a page as this means we are done +// resolving the rewrites +matchedPage=true;resolvedHref=fsPathname;break;}// check if we match a dynamic-route, if so we break the rewrites chain +resolvedHref=resolveHref(fsPathname);if(resolvedHref!==asPath&&pages.includes(resolvedHref)){matchedPage=true;break;}}}}return{asPath,parsedAs,matchedPage,resolvedHref};} +//# sourceMappingURL=resolve-rewrites.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js.map new file mode 100644 index 00000000..89a6d4f3 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/resolve-rewrites.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/resolve-rewrites.ts"],"names":["customRouteMatcher","resolveRewrites","asPath","pages","rewrites","query","resolveHref","locales","matchedPage","parsedAs","fsPathname","pathname","resolvedHref","includes","rewrite","matcher","source","params","destination","destRes","parsedDestination","newUrl","Object","assign"],"mappings":"qEACA,+DACA,iFAEA,mFACA,qEACA,sDACA,iC,mFAEA,KAAMA,CAAAA,kBAAkB,CAAG,uBAAU,IAAV,CAA3B,CAEe,QAASC,CAAAA,eAAT,CACbC,MADa,CAEbC,KAFa,CAGbC,QAHa,CAIbC,KAJa,CAKbC,WALa,CAMbC,OANa,CAYb,CACA,GAAIC,CAAAA,WAAW,CAAG,KAAlB,CACA,GAAIC,CAAAA,QAAQ,CAAG,uCAAiBP,MAAjB,CAAf,CACA,GAAIQ,CAAAA,UAAU,CAAG,oDACf,6CAAoB,wBAAYD,QAAQ,CAACE,QAArB,CAApB,CAAoDJ,OAApD,EAA6DI,QAD9C,CAAjB,CAGA,GAAIC,CAAAA,YAAJ,CAEA,GAAI,CAACT,KAAK,CAACU,QAAN,CAAeH,UAAf,CAAL,CAAiC,CAC/B,IAAK,KAAMI,CAAAA,OAAX,GAAsBV,CAAAA,QAAtB,CAAgC,CAC9B,KAAMW,CAAAA,OAAO,CAAGf,kBAAkB,CAACc,OAAO,CAACE,MAAT,CAAlC,CACA,KAAMC,CAAAA,MAAM,CAAGF,OAAO,CAACN,QAAQ,CAACE,QAAV,CAAtB,CAEA,GAAIM,MAAJ,CAAY,CACV,GAAI,CAACH,OAAO,CAACI,WAAb,CAA0B,CACxB;AACA,MACD,CACD,KAAMC,CAAAA,OAAO,CAAG,gCACdL,OAAO,CAACI,WADM,CAEdD,MAFc,CAGdZ,KAHc,CAId,IAJc,CAAhB,CAMAI,QAAQ,CAAGU,OAAO,CAACC,iBAAnB,CACAlB,MAAM,CAAGiB,OAAO,CAACE,MAAjB,CACAC,MAAM,CAACC,MAAP,CAAclB,KAAd,CAAqBc,OAAO,CAACC,iBAAR,CAA0Bf,KAA/C,EAEAK,UAAU,CAAG,oDACX,6CAAoB,wBAAYR,MAAZ,CAApB,CAAyCK,OAAzC,EAAkDI,QADvC,CAAb,CAIA,GAAIR,KAAK,CAACU,QAAN,CAAeH,UAAf,CAAJ,CAAgC,CAC9B;AACA;AACAF,WAAW,CAAG,IAAd,CACAI,YAAY,CAAGF,UAAf,CACA,MACD,CAED;AACAE,YAAY,CAAGN,WAAW,CAACI,UAAD,CAA1B,CAEA,GAAIE,YAAY,GAAKV,MAAjB,EAA2BC,KAAK,CAACU,QAAN,CAAeD,YAAf,CAA/B,CAA6D,CAC3DJ,WAAW,CAAG,IAAd,CACA,MACD,CACF,CACF,CACF,CACD,MAAO,CACLN,MADK,CAELO,QAFK,CAGLD,WAHK,CAILI,YAJK,CAAP,CAMD","sourcesContent":["import { ParsedUrlQuery } from 'querystring'\nimport pathMatch from './path-match'\nimport prepareDestination from './prepare-destination'\nimport { Rewrite } from '../../../../lib/load-custom-routes'\nimport { removePathTrailingSlash } from '../../../../client/normalize-trailing-slash'\nimport { normalizeLocalePath } from '../../i18n/normalize-locale-path'\nimport { parseRelativeUrl } from './parse-relative-url'\nimport { delBasePath } from '../router'\n\nconst customRouteMatcher = pathMatch(true)\n\nexport default function resolveRewrites(\n asPath: string,\n pages: string[],\n rewrites: Rewrite[],\n query: ParsedUrlQuery,\n resolveHref: (path: string) => string,\n locales?: string[]\n): {\n matchedPage: boolean\n parsedAs: ReturnType\n asPath: string\n resolvedHref?: string\n} {\n let matchedPage = false\n let parsedAs = parseRelativeUrl(asPath)\n let fsPathname = removePathTrailingSlash(\n normalizeLocalePath(delBasePath(parsedAs.pathname), locales).pathname\n )\n let resolvedHref\n\n if (!pages.includes(fsPathname)) {\n for (const rewrite of rewrites) {\n const matcher = customRouteMatcher(rewrite.source)\n const params = matcher(parsedAs.pathname)\n\n if (params) {\n if (!rewrite.destination) {\n // this is a proxied rewrite which isn't handled on the client\n break\n }\n const destRes = prepareDestination(\n rewrite.destination,\n params,\n query,\n true\n )\n parsedAs = destRes.parsedDestination\n asPath = destRes.newUrl\n Object.assign(query, destRes.parsedDestination.query)\n\n fsPathname = removePathTrailingSlash(\n normalizeLocalePath(delBasePath(asPath), locales).pathname\n )\n\n if (pages.includes(fsPathname)) {\n // check if we now match a page as this means we are done\n // resolving the rewrites\n matchedPage = true\n resolvedHref = fsPathname\n break\n }\n\n // check if we match a dynamic-route, if so we break the rewrites chain\n resolvedHref = resolveHref(fsPathname)\n\n if (resolvedHref !== asPath && pages.includes(resolvedHref)) {\n matchedPage = true\n break\n }\n }\n }\n }\n return {\n asPath,\n parsedAs,\n matchedPage,\n resolvedHref,\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.d.ts new file mode 100644 index 00000000..0398b92f --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.d.ts @@ -0,0 +1,4 @@ +import { getRouteRegex } from './route-regex'; +export declare function getRouteMatcher(routeRegex: ReturnType): (pathname: string | null | undefined) => false | { + [paramName: string]: string | string[]; +}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js new file mode 100644 index 00000000..ee6378ba --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.getRouteMatcher=getRouteMatcher;function getRouteMatcher(routeRegex){const{re,groups}=routeRegex;return pathname=>{const routeMatch=re.exec(pathname);if(!routeMatch){return false;}const decode=param=>{try{return decodeURIComponent(param);}catch(_){const err=new Error('failed to decode param');err.code='DECODE_FAILED';throw err;}};const params={};Object.keys(groups).forEach(slugName=>{const g=groups[slugName];const m=routeMatch[g.pos];if(m!==undefined){params[slugName]=~m.indexOf('/')?m.split('/').map(entry=>decode(entry)):g.repeat?[decode(m)]:decode(m);}});return params;};} +//# sourceMappingURL=route-matcher.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js.map new file mode 100644 index 00000000..acda1437 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-matcher.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/route-matcher.ts"],"names":["getRouteMatcher","routeRegex","re","groups","pathname","routeMatch","exec","decode","param","decodeURIComponent","_","err","Error","code","params","Object","keys","forEach","slugName","g","m","pos","undefined","indexOf","split","map","entry","repeat"],"mappings":"6EAEO,QAASA,CAAAA,eAAT,CAAyBC,UAAzB,CAAuE,CAC5E,KAAM,CAAEC,EAAF,CAAMC,MAAN,EAAiBF,UAAvB,CACA,MAAQG,CAAAA,QAAD,EAAyC,CAC9C,KAAMC,CAAAA,UAAU,CAAGH,EAAE,CAACI,IAAH,CAAQF,QAAR,CAAnB,CACA,GAAI,CAACC,UAAL,CAAiB,CACf,MAAO,MAAP,CACD,CAED,KAAME,CAAAA,MAAM,CAAIC,KAAD,EAAmB,CAChC,GAAI,CACF,MAAOC,CAAAA,kBAAkB,CAACD,KAAD,CAAzB,CACD,CAAC,MAAOE,CAAP,CAAU,CACV,KAAMC,CAAAA,GAA8B,CAAG,GAAIC,CAAAA,KAAJ,CACrC,wBADqC,CAAvC,CAGAD,GAAG,CAACE,IAAJ,CAAW,eAAX,CACA,KAAMF,CAAAA,GAAN,CACD,CACF,CAVD,CAWA,KAAMG,CAAAA,MAAkD,CAAG,EAA3D,CAEAC,MAAM,CAACC,IAAP,CAAYb,MAAZ,EAAoBc,OAApB,CAA6BC,QAAD,EAAsB,CAChD,KAAMC,CAAAA,CAAC,CAAGhB,MAAM,CAACe,QAAD,CAAhB,CACA,KAAME,CAAAA,CAAC,CAAGf,UAAU,CAACc,CAAC,CAACE,GAAH,CAApB,CACA,GAAID,CAAC,GAAKE,SAAV,CAAqB,CACnBR,MAAM,CAACI,QAAD,CAAN,CAAmB,CAACE,CAAC,CAACG,OAAF,CAAU,GAAV,CAAD,CACfH,CAAC,CAACI,KAAF,CAAQ,GAAR,EAAaC,GAAb,CAAkBC,KAAD,EAAWnB,MAAM,CAACmB,KAAD,CAAlC,CADe,CAEfP,CAAC,CAACQ,MAAF,CACA,CAACpB,MAAM,CAACa,CAAD,CAAP,CADA,CAEAb,MAAM,CAACa,CAAD,CAJV,CAKD,CACF,CAVD,EAWA,MAAON,CAAAA,MAAP,CACD,CA/BD,CAgCD","sourcesContent":["import { getRouteRegex } from './route-regex'\n\nexport function getRouteMatcher(routeRegex: ReturnType) {\n const { re, groups } = routeRegex\n return (pathname: string | null | undefined) => {\n const routeMatch = re.exec(pathname!)\n if (!routeMatch) {\n return false\n }\n\n const decode = (param: string) => {\n try {\n return decodeURIComponent(param)\n } catch (_) {\n const err: Error & { code?: string } = new Error(\n 'failed to decode param'\n )\n err.code = 'DECODE_FAILED'\n throw err\n }\n }\n const params: { [paramName: string]: string | string[] } = {}\n\n Object.keys(groups).forEach((slugName: string) => {\n const g = groups[slugName]\n const m = routeMatch[g.pos]\n if (m !== undefined) {\n params[slugName] = ~m.indexOf('/')\n ? m.split('/').map((entry) => decode(entry))\n : g.repeat\n ? [decode(m)]\n : decode(m)\n }\n })\n return params\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.d.ts new file mode 100644 index 00000000..e7406c98 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.d.ts @@ -0,0 +1,15 @@ +export interface Group { + pos: number; + repeat: boolean; + optional: boolean; +} +export declare function getRouteRegex(normalizedRoute: string): { + re: RegExp; + namedRegex?: string; + routeKeys?: { + [named: string]: string; + }; + groups: { + [groupName: string]: Group; + }; +}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js new file mode 100644 index 00000000..32bb277b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js @@ -0,0 +1,11 @@ +"use strict";exports.__esModule=true;exports.getRouteRegex=getRouteRegex;// this isn't importing the escape-string-regex module +// to reduce bytes +function escapeRegex(str){return str.replace(/[|\\{}()[\]^$+*?.-]/g,'\\$&');}function parseParameter(param){const optional=param.startsWith('[')&¶m.endsWith(']');if(optional){param=param.slice(1,-1);}const repeat=param.startsWith('...');if(repeat){param=param.slice(3);}return{key:param,repeat,optional};}function getRouteRegex(normalizedRoute){const segments=(normalizedRoute.replace(/\/$/,'')||'/').slice(1).split('/');const groups={};let groupIndex=1;const parameterizedRoute=segments.map(segment=>{if(segment.startsWith('[')&&segment.endsWith(']')){const{key,optional,repeat}=parseParameter(segment.slice(1,-1));groups[key]={pos:groupIndex++,repeat,optional};return repeat?optional?'(?:/(.+?))?':'/(.+?)':'/([^/]+?)';}else{return`/${escapeRegex(segment)}`;}}).join('');// dead code eliminate for browser since it's only needed +// while generating routes-manifest +if(typeof window==='undefined'){let routeKeyCharCode=97;let routeKeyCharLength=1;// builds a minimal routeKey using only a-z and minimal number of characters +const getSafeRouteKey=()=>{let routeKey='';for(let i=0;i122){routeKeyCharLength++;routeKeyCharCode=97;}}return routeKey;};const routeKeys={};let namedParameterizedRoute=segments.map(segment=>{if(segment.startsWith('[')&&segment.endsWith(']')){const{key,optional,repeat}=parseParameter(segment.slice(1,-1));// replace any non-word characters since they can break +// the named regex +let cleanedKey=key.replace(/\W/g,'');let invalidKey=false;// check if the key is still invalid and fallback to using a known +// safe key +if(cleanedKey.length===0||cleanedKey.length>30){invalidKey=true;}if(!isNaN(parseInt(cleanedKey.substr(0,1)))){invalidKey=true;}if(invalidKey){cleanedKey=getSafeRouteKey();}routeKeys[cleanedKey]=key;return repeat?optional?`(?:/(?<${cleanedKey}>.+?))?`:`/(?<${cleanedKey}>.+?)`:`/(?<${cleanedKey}>[^/]+?)`;}else{return`/${escapeRegex(segment)}`;}}).join('');return{re:new RegExp(`^${parameterizedRoute}(?:/)?$`),groups,routeKeys,namedRegex:`^${namedParameterizedRoute}(?:/)?$`};}return{re:new RegExp(`^${parameterizedRoute}(?:/)?$`),groups};} +//# sourceMappingURL=route-regex.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js.map new file mode 100644 index 00000000..d70be100 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/route-regex.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/route-regex.ts"],"names":["escapeRegex","str","replace","parseParameter","param","optional","startsWith","endsWith","slice","repeat","key","getRouteRegex","normalizedRoute","segments","split","groups","groupIndex","parameterizedRoute","map","segment","pos","join","window","routeKeyCharCode","routeKeyCharLength","getSafeRouteKey","routeKey","i","String","fromCharCode","routeKeys","namedParameterizedRoute","cleanedKey","invalidKey","length","isNaN","parseInt","substr","re","RegExp","namedRegex"],"mappings":"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","sourcesContent":["export interface Group {\n pos: number\n repeat: boolean\n optional: boolean\n}\n\n// this isn't importing the escape-string-regex module\n// to reduce bytes\nfunction escapeRegex(str: string) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&')\n}\n\nfunction parseParameter(param: string) {\n const optional = param.startsWith('[') && param.endsWith(']')\n if (optional) {\n param = param.slice(1, -1)\n }\n const repeat = param.startsWith('...')\n if (repeat) {\n param = param.slice(3)\n }\n return { key: param, repeat, optional }\n}\n\nexport function getRouteRegex(\n normalizedRoute: string\n): {\n re: RegExp\n namedRegex?: string\n routeKeys?: { [named: string]: string }\n groups: { [groupName: string]: Group }\n} {\n const segments = (normalizedRoute.replace(/\\/$/, '') || '/')\n .slice(1)\n .split('/')\n\n const groups: { [groupName: string]: Group } = {}\n let groupIndex = 1\n const parameterizedRoute = segments\n .map((segment) => {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n const { key, optional, repeat } = parseParameter(segment.slice(1, -1))\n groups[key] = { pos: groupIndex++, repeat, optional }\n return repeat ? (optional ? '(?:/(.+?))?' : '/(.+?)') : '/([^/]+?)'\n } else {\n return `/${escapeRegex(segment)}`\n }\n })\n .join('')\n\n // dead code eliminate for browser since it's only needed\n // while generating routes-manifest\n if (typeof window === 'undefined') {\n let routeKeyCharCode = 97\n let routeKeyCharLength = 1\n\n // builds a minimal routeKey using only a-z and minimal number of characters\n const getSafeRouteKey = () => {\n let routeKey = ''\n\n for (let i = 0; i < routeKeyCharLength; i++) {\n routeKey += String.fromCharCode(routeKeyCharCode)\n routeKeyCharCode++\n\n if (routeKeyCharCode > 122) {\n routeKeyCharLength++\n routeKeyCharCode = 97\n }\n }\n return routeKey\n }\n\n const routeKeys: { [named: string]: string } = {}\n\n let namedParameterizedRoute = segments\n .map((segment) => {\n if (segment.startsWith('[') && segment.endsWith(']')) {\n const { key, optional, repeat } = parseParameter(segment.slice(1, -1))\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, '')\n let invalidKey = false\n\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true\n }\n if (!isNaN(parseInt(cleanedKey.substr(0, 1)))) {\n invalidKey = true\n }\n\n if (invalidKey) {\n cleanedKey = getSafeRouteKey()\n }\n\n routeKeys[cleanedKey] = key\n return repeat\n ? optional\n ? `(?:/(?<${cleanedKey}>.+?))?`\n : `/(?<${cleanedKey}>.+?)`\n : `/(?<${cleanedKey}>[^/]+?)`\n } else {\n return `/${escapeRegex(segment)}`\n }\n })\n .join('')\n\n return {\n re: new RegExp(`^${parameterizedRoute}(?:/)?$`),\n groups,\n routeKeys,\n namedRegex: `^${namedParameterizedRoute}(?:/)?$`,\n }\n }\n\n return {\n re: new RegExp(`^${parameterizedRoute}(?:/)?$`),\n groups,\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.d.ts new file mode 100644 index 00000000..2de4dfbd --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.d.ts @@ -0,0 +1 @@ +export declare function getSortedRoutes(normalizedPages: string[]): string[]; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js new file mode 100644 index 00000000..c6da738c --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js @@ -0,0 +1,32 @@ +"use strict";exports.__esModule=true;exports.getSortedRoutes=getSortedRoutes;class UrlNode{constructor(){this.placeholder=true;this.children=new Map();this.slugName=null;this.restSlugName=null;this.optionalRestSlugName=null;}insert(urlPath){this._insert(urlPath.split('/').filter(Boolean),[],false);}smoosh(){return this._smoosh();}_smoosh(prefix='/'){const childrenPaths=[...this.children.keys()].sort();if(this.slugName!==null){childrenPaths.splice(childrenPaths.indexOf('[]'),1);}if(this.restSlugName!==null){childrenPaths.splice(childrenPaths.indexOf('[...]'),1);}if(this.optionalRestSlugName!==null){childrenPaths.splice(childrenPaths.indexOf('[[...]]'),1);}const routes=childrenPaths.map(c=>this.children.get(c)._smoosh(`${prefix}${c}/`)).reduce((prev,curr)=>[...prev,...curr],[]);if(this.slugName!==null){routes.push(...this.children.get('[]')._smoosh(`${prefix}[${this.slugName}]/`));}if(!this.placeholder){const r=prefix==='/'?'/':prefix.slice(0,-1);if(this.optionalRestSlugName!=null){throw new Error(`You cannot define a route with the same specificity as a optional catch-all route ("${r}" and "${r}[[...${this.optionalRestSlugName}]]").`);}routes.unshift(r);}if(this.restSlugName!==null){routes.push(...this.children.get('[...]')._smoosh(`${prefix}[...${this.restSlugName}]/`));}if(this.optionalRestSlugName!==null){routes.push(...this.children.get('[[...]]')._smoosh(`${prefix}[[...${this.optionalRestSlugName}]]/`));}return routes;}_insert(urlPaths,slugNames,isCatchAll){if(urlPaths.length===0){this.placeholder=false;return;}if(isCatchAll){throw new Error(`Catch-all must be the last part of the URL.`);}// The next segment in the urlPaths list +let nextSegment=urlPaths[0];// Check if the segment matches `[something]` +if(nextSegment.startsWith('[')&&nextSegment.endsWith(']')){// Strip `[` and `]`, leaving only `something` +let segmentName=nextSegment.slice(1,-1);let isOptional=false;if(segmentName.startsWith('[')&&segmentName.endsWith(']')){// Strip optional `[` and `]`, leaving only `something` +segmentName=segmentName.slice(1,-1);isOptional=true;}if(segmentName.startsWith('...')){// Strip `...`, leaving only `something` +segmentName=segmentName.substring(3);isCatchAll=true;}if(segmentName.startsWith('[')||segmentName.endsWith(']')){throw new Error(`Segment names may not start or end with extra brackets ('${segmentName}').`);}if(segmentName.startsWith('.')){throw new Error(`Segment names may not start with erroneous periods ('${segmentName}').`);}function handleSlug(previousSlug,nextSlug){if(previousSlug!==null){// If the specific segment already has a slug but the slug is not `something` +// This prevents collisions like: +// pages/[post]/index.js +// pages/[id]/index.js +// Because currently multiple dynamic params on the same segment level are not supported +if(previousSlug!==nextSlug){// TODO: This error seems to be confusing for users, needs an err.sh link, the description can be based on above comment. +throw new Error(`You cannot use different slug names for the same dynamic path ('${previousSlug}' !== '${nextSlug}').`);}}slugNames.forEach(slug=>{if(slug===nextSlug){throw new Error(`You cannot have the same slug name "${nextSlug}" repeat within a single dynamic path`);}if(slug.replace(/\W/g,'')===nextSegment.replace(/\W/g,'')){throw new Error(`You cannot have the slug names "${slug}" and "${nextSlug}" differ only by non-word symbols within a single dynamic path`);}});slugNames.push(nextSlug);}if(isCatchAll){if(isOptional){if(this.restSlugName!=null){throw new Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${urlPaths[0]}" ).`);}handleSlug(this.optionalRestSlugName,segmentName);// slugName is kept as it can only be one particular slugName +this.optionalRestSlugName=segmentName;// nextSegment is overwritten to [[...]] so that it can later be sorted specifically +nextSegment='[[...]]';}else{if(this.optionalRestSlugName!=null){throw new Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${urlPaths[0]}").`);}handleSlug(this.restSlugName,segmentName);// slugName is kept as it can only be one particular slugName +this.restSlugName=segmentName;// nextSegment is overwritten to [...] so that it can later be sorted specifically +nextSegment='[...]';}}else{if(isOptional){throw new Error(`Optional route parameters are not yet supported ("${urlPaths[0]}").`);}handleSlug(this.slugName,segmentName);// slugName is kept as it can only be one particular slugName +this.slugName=segmentName;// nextSegment is overwritten to [] so that it can later be sorted specifically +nextSegment='[]';}}// If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode +if(!this.children.has(nextSegment)){this.children.set(nextSegment,new UrlNode());}this.children.get(nextSegment)._insert(urlPaths.slice(1),slugNames,isCatchAll);}}function getSortedRoutes(normalizedPages){// First the UrlNode is created, and every UrlNode can have only 1 dynamic segment +// Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js +// Only 1 dynamic segment per nesting level +// So in the case that is test/integration/dynamic-routing it'll be this: +// pages/[post]/comments.js +// pages/blog/[post]/comment/[id].js +// Both are fine because `pages/[post]` and `pages/blog` are on the same level +// So in this case `UrlNode` created here has `this.slugName === 'post'` +// And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities +// Instead what has to be passed through is the upwards path's dynamic names +const root=new UrlNode();// Here the `root` gets injected multiple paths, and insert will break them up into sublevels +normalizedPages.forEach(pagePath=>root.insert(pagePath));// Smoosh will then sort those sublevels up to the point where you get the correct route definition priority +return root.smoosh();} +//# sourceMappingURL=sorted-routes.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js.map b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js.map new file mode 100644 index 00000000..291fd320 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/router/utils/sorted-routes.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../next-server/lib/router/utils/sorted-routes.ts"],"names":["UrlNode","placeholder","children","Map","slugName","restSlugName","optionalRestSlugName","insert","urlPath","_insert","split","filter","Boolean","smoosh","_smoosh","prefix","childrenPaths","keys","sort","splice","indexOf","routes","map","c","get","reduce","prev","curr","push","r","slice","Error","unshift","urlPaths","slugNames","isCatchAll","length","nextSegment","startsWith","endsWith","segmentName","isOptional","substring","handleSlug","previousSlug","nextSlug","forEach","slug","replace","has","set","getSortedRoutes","normalizedPages","root","pagePath"],"mappings":"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","sourcesContent":["class UrlNode {\n placeholder: boolean = true\n children: Map = new Map()\n slugName: string | null = null\n restSlugName: string | null = null\n optionalRestSlugName: string | null = null\n\n insert(urlPath: string): void {\n this._insert(urlPath.split('/').filter(Boolean), [], false)\n }\n\n smoosh(): string[] {\n return this._smoosh()\n }\n\n private _smoosh(prefix: string = '/'): string[] {\n const childrenPaths = [...this.children.keys()].sort()\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[]'), 1)\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[...]'), 1)\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[[...]]'), 1)\n }\n\n const routes = childrenPaths\n .map((c) => this.children.get(c)!._smoosh(`${prefix}${c}/`))\n .reduce((prev, curr) => [...prev, ...curr], [])\n\n if (this.slugName !== null) {\n routes.push(\n ...this.children.get('[]')!._smoosh(`${prefix}[${this.slugName}]/`)\n )\n }\n\n if (!this.placeholder) {\n const r = prefix === '/' ? '/' : prefix.slice(0, -1)\n if (this.optionalRestSlugName != null) {\n throw new Error(\n `You cannot define a route with the same specificity as a optional catch-all route (\"${r}\" and \"${r}[[...${this.optionalRestSlugName}]]\").`\n )\n }\n\n routes.unshift(r)\n }\n\n if (this.restSlugName !== null) {\n routes.push(\n ...this.children\n .get('[...]')!\n ._smoosh(`${prefix}[...${this.restSlugName}]/`)\n )\n }\n\n if (this.optionalRestSlugName !== null) {\n routes.push(\n ...this.children\n .get('[[...]]')!\n ._smoosh(`${prefix}[[...${this.optionalRestSlugName}]]/`)\n )\n }\n\n return routes\n }\n\n private _insert(\n urlPaths: string[],\n slugNames: string[],\n isCatchAll: boolean\n ): void {\n if (urlPaths.length === 0) {\n this.placeholder = false\n return\n }\n\n if (isCatchAll) {\n throw new Error(`Catch-all must be the last part of the URL.`)\n }\n\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0]\n\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith('[') && nextSegment.endsWith(']')) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1)\n\n let isOptional = false\n if (segmentName.startsWith('[') && segmentName.endsWith(']')) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1)\n isOptional = true\n }\n\n if (segmentName.startsWith('...')) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3)\n isCatchAll = true\n }\n\n if (segmentName.startsWith('[') || segmentName.endsWith(']')) {\n throw new Error(\n `Segment names may not start or end with extra brackets ('${segmentName}').`\n )\n }\n\n if (segmentName.startsWith('.')) {\n throw new Error(\n `Segment names may not start with erroneous periods ('${segmentName}').`\n )\n }\n\n function handleSlug(previousSlug: string | null, nextSlug: string) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an err.sh link, the description can be based on above comment.\n throw new Error(\n `You cannot use different slug names for the same dynamic path ('${previousSlug}' !== '${nextSlug}').`\n )\n }\n }\n\n slugNames.forEach((slug) => {\n if (slug === nextSlug) {\n throw new Error(\n `You cannot have the same slug name \"${nextSlug}\" repeat within a single dynamic path`\n )\n }\n\n if (slug.replace(/\\W/g, '') === nextSegment.replace(/\\W/g, '')) {\n throw new Error(\n `You cannot have the slug names \"${slug}\" and \"${nextSlug}\" differ only by non-word symbols within a single dynamic path`\n )\n }\n })\n\n slugNames.push(nextSlug)\n }\n\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error(\n `You cannot use both an required and optional catch-all route at the same level (\"[...${this.restSlugName}]\" and \"${urlPaths[0]}\" ).`\n )\n }\n\n handleSlug(this.optionalRestSlugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = '[[...]]'\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error(\n `You cannot use both an optional and required catch-all route at the same level (\"[[...${this.optionalRestSlugName}]]\" and \"${urlPaths[0]}\").`\n )\n }\n\n handleSlug(this.restSlugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = '[...]'\n }\n } else {\n if (isOptional) {\n throw new Error(\n `Optional route parameters are not yet supported (\"${urlPaths[0]}\").`\n )\n }\n handleSlug(this.slugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = '[]'\n }\n }\n\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode())\n }\n\n this.children\n .get(nextSegment)!\n ._insert(urlPaths.slice(1), slugNames, isCatchAll)\n }\n}\n\nexport function getSortedRoutes(normalizedPages: string[]): string[] {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode()\n\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath) => root.insert(pagePath))\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh()\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.d.ts new file mode 100644 index 00000000..47106836 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.d.ts @@ -0,0 +1,3 @@ +declare const _default: () => any; +export default _default; +export declare function setConfig(configValue: any): void; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js new file mode 100644 index 00000000..f853411f --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.setConfig=setConfig;exports.default=void 0;let runtimeConfig;var _default=()=>{return runtimeConfig;};exports.default=_default;function setConfig(configValue){runtimeConfig=configValue;} +//# sourceMappingURL=runtime-config.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js.map b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js.map new file mode 100644 index 00000000..90579eae --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/runtime-config.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/runtime-config.ts"],"names":["runtimeConfig","setConfig","configValue"],"mappings":"wFAAA,GAAIA,CAAAA,aAAJ,C,aAEe,IAAM,CACnB,MAAOA,CAAAA,aAAP,CACD,C,0BAEM,QAASC,CAAAA,SAAT,CAAmBC,WAAnB,CAA2C,CAChDF,aAAa,CAAGE,WAAhB,CACD","sourcesContent":["let runtimeConfig: any\n\nexport default () => {\n return runtimeConfig\n}\n\nexport function setConfig(configValue: any): void {\n runtimeConfig = configValue\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/side-effect.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.d.ts new file mode 100644 index 00000000..9262f450 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.d.ts @@ -0,0 +1,18 @@ +import React, { Component } from 'react'; +declare type State = JSX.Element[] | undefined; +declare type SideEffectProps = { + reduceComponentsToState: (components: Array>, props: T) => State; + handleStateChange?: (state: State) => void; + headManager: any; + inAmpMode?: boolean; +}; +export default class extends Component { + private _hasHeadManager; + emitChange: () => void; + constructor(props: any); + componentDidMount(): void; + componentDidUpdate(): void; + componentWillUnmount(): void; + render(): null; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js new file mode 100644 index 00000000..91e769c8 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.default=void 0;var _react=require("react");const isServer=typeof window==='undefined';class _default extends _react.Component{constructor(props){super(props);this._hasHeadManager=void 0;this.emitChange=()=>{if(this._hasHeadManager){this.props.headManager.updateHead(this.props.reduceComponentsToState([...this.props.headManager.mountedInstances],this.props));}};this._hasHeadManager=this.props.headManager&&this.props.headManager.mountedInstances;if(isServer&&this._hasHeadManager){this.props.headManager.mountedInstances.add(this);this.emitChange();}}componentDidMount(){if(this._hasHeadManager){this.props.headManager.mountedInstances.add(this);}this.emitChange();}componentDidUpdate(){this.emitChange();}componentWillUnmount(){if(this._hasHeadManager){this.props.headManager.mountedInstances.delete(this);}this.emitChange();}render(){return null;}}exports.default=_default; +//# sourceMappingURL=side-effect.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js.map b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js.map new file mode 100644 index 00000000..7b2ec266 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/side-effect.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/side-effect.tsx"],"names":["isServer","window","Component","constructor","props","_hasHeadManager","emitChange","headManager","updateHead","reduceComponentsToState","mountedInstances","add","componentDidMount","componentDidUpdate","componentWillUnmount","delete","render"],"mappings":"4DAAA,4BAEA,KAAMA,CAAAA,QAAQ,CAAG,MAAOC,CAAAA,MAAP,GAAkB,WAAnC,CAce,sBAAcC,iBAA2B,CActDC,WAAW,CAACC,KAAD,CAAa,CACtB,MAAMA,KAAN,EADsB,KAbhBC,eAagB,aAXxBC,UAWwB,CAXX,IAAY,CACvB,GAAI,KAAKD,eAAT,CAA0B,CACxB,KAAKD,KAAL,CAAWG,WAAX,CAAuBC,UAAvB,CACE,KAAKJ,KAAL,CAAWK,uBAAX,CACE,CAAC,GAAG,KAAKL,KAAL,CAAWG,WAAX,CAAuBG,gBAA3B,CADF,CAEE,KAAKN,KAFP,CADF,EAMD,CACF,CAEuB,CAEtB,KAAKC,eAAL,CACE,KAAKD,KAAL,CAAWG,WAAX,EAA0B,KAAKH,KAAL,CAAWG,WAAX,CAAuBG,gBADnD,CAGA,GAAIV,QAAQ,EAAI,KAAKK,eAArB,CAAsC,CACpC,KAAKD,KAAL,CAAWG,WAAX,CAAuBG,gBAAvB,CAAwCC,GAAxC,CAA4C,IAA5C,EACA,KAAKL,UAAL,GACD,CACF,CACDM,iBAAiB,EAAG,CAClB,GAAI,KAAKP,eAAT,CAA0B,CACxB,KAAKD,KAAL,CAAWG,WAAX,CAAuBG,gBAAvB,CAAwCC,GAAxC,CAA4C,IAA5C,EACD,CACD,KAAKL,UAAL,GACD,CACDO,kBAAkB,EAAG,CACnB,KAAKP,UAAL,GACD,CACDQ,oBAAoB,EAAG,CACrB,GAAI,KAAKT,eAAT,CAA0B,CACxB,KAAKD,KAAL,CAAWG,WAAX,CAAuBG,gBAAvB,CAAwCK,MAAxC,CAA+C,IAA/C,EACD,CACD,KAAKT,UAAL,GACD,CAEDU,MAAM,EAAG,CACP,MAAO,KAAP,CACD,CA1CqD,C","sourcesContent":["import React, { Component } from 'react'\n\nconst isServer = typeof window === 'undefined'\n\ntype State = JSX.Element[] | undefined\n\ntype SideEffectProps = {\n reduceComponentsToState: (\n components: Array>,\n props: T\n ) => State\n handleStateChange?: (state: State) => void\n headManager: any\n inAmpMode?: boolean\n}\n\nexport default class extends Component {\n private _hasHeadManager: boolean\n\n emitChange = (): void => {\n if (this._hasHeadManager) {\n this.props.headManager.updateHead(\n this.props.reduceComponentsToState(\n [...this.props.headManager.mountedInstances],\n this.props\n )\n )\n }\n }\n\n constructor(props: any) {\n super(props)\n this._hasHeadManager =\n this.props.headManager && this.props.headManager.mountedInstances\n\n if (isServer && this._hasHeadManager) {\n this.props.headManager.mountedInstances.add(this)\n this.emitChange()\n }\n }\n componentDidMount() {\n if (this._hasHeadManager) {\n this.props.headManager.mountedInstances.add(this)\n }\n this.emitChange()\n }\n componentDidUpdate() {\n this.emitChange()\n }\n componentWillUnmount() {\n if (this._hasHeadManager) {\n this.props.headManager.mountedInstances.delete(this)\n }\n this.emitChange()\n }\n\n render() {\n return null\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.d.ts new file mode 100644 index 00000000..e73b503e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.d.ts @@ -0,0 +1,4 @@ +/** + * Isomorphic base64 that works on the server and client + */ +export declare function toBase64(str: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js new file mode 100644 index 00000000..268b6c7e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js @@ -0,0 +1,4 @@ +"use strict";exports.__esModule=true;exports.toBase64=toBase64;/** + * Isomorphic base64 that works on the server and client + */function toBase64(str){if(typeof window==='undefined'){return Buffer.from(str).toString('base64');}else{return window.btoa(str);}} +//# sourceMappingURL=to-base-64.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js.map b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js.map new file mode 100644 index 00000000..f17740d9 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/to-base-64.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/to-base-64.ts"],"names":["toBase64","str","window","Buffer","from","toString","btoa"],"mappings":"+DAAA;AACA;AACA,GACO,QAASA,CAAAA,QAAT,CAAkBC,GAAlB,CAA+B,CACpC,GAAI,MAAOC,CAAAA,MAAP,GAAkB,WAAtB,CAAmC,CACjC,MAAOC,CAAAA,MAAM,CAACC,IAAP,CAAYH,GAAZ,EAAiBI,QAAjB,CAA0B,QAA1B,CAAP,CACD,CAFD,IAEO,CACL,MAAOH,CAAAA,MAAM,CAACI,IAAP,CAAYL,GAAZ,CAAP,CACD,CACF","sourcesContent":["/**\n * Isomorphic base64 that works on the server and client\n */\nexport function toBase64(str: string) {\n if (typeof window === 'undefined') {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(str)\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/utils.d.ts b/ninjalist/node_modules/next/dist/next-server/lib/utils.d.ts new file mode 100644 index 00000000..5cf9a00d --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/utils.d.ts @@ -0,0 +1,237 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +import { ParsedUrlQuery } from 'querystring'; +import { ComponentType } from 'react'; +import { UrlObject } from 'url'; +import { ManifestItem } from '../server/load-components'; +import { NextRouter } from './router/router'; +import { Env } from '@next/env'; +import { BuildManifest } from '../server/get-page-files'; +import { DomainLocales } from '../server/config'; +/** + * Types used by both next and next-server + */ +export declare type NextComponentType = ComponentType

& { + /** + * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered. + * Make sure to return plain `Object` without using `Date`, `Map`, `Set`. + * @param ctx Context of `page` + */ + getInitialProps?(context: C): IP | Promise; +}; +export declare type DocumentType = NextComponentType & { + renderDocument(Document: DocumentType, props: DocumentProps): React.ReactElement; +}; +export declare type AppType = NextComponentType; +export declare type AppTreeType = ComponentType; +/** + * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team. + * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting + */ +export declare type NextWebVitalsMetric = { + id: string; + label: string; + name: string; + startTime: number; + value: number; +}; +export declare type Enhancer = (Component: C) => C; +export declare type ComponentsEnhancer = { + enhanceApp?: Enhancer; + enhanceComponent?: Enhancer; +} | Enhancer; +export declare type RenderPageResult = { + html: string; + head?: Array; +}; +export declare type RenderPage = (options?: ComponentsEnhancer) => RenderPageResult | Promise; +export declare type BaseContext = { + res?: ServerResponse; + [k: string]: any; +}; +export declare type NEXT_DATA = { + props: Record; + page: string; + query: ParsedUrlQuery; + buildId: string; + assetPrefix?: string; + runtimeConfig?: { + [key: string]: any; + }; + nextExport?: boolean; + autoExport?: boolean; + isFallback?: boolean; + dynamicIds?: string[]; + err?: Error & { + statusCode?: number; + }; + gsp?: boolean; + gssp?: boolean; + customServer?: boolean; + gip?: boolean; + appGip?: boolean; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; +}; +/** + * `Next` context + */ +export interface NextPageContext { + /** + * Error object if encountered during rendering + */ + err?: (Error & { + statusCode?: number; + }) | null; + /** + * `HTTP` request object. + */ + req?: IncomingMessage; + /** + * `HTTP` response object. + */ + res?: ServerResponse; + /** + * Path section of `URL`. + */ + pathname: string; + /** + * Query string section of `URL` parsed as an object. + */ + query: ParsedUrlQuery; + /** + * `String` of the actual path including query. + */ + asPath?: string; + /** + * `Component` the tree of the App to use if needing to render separately + */ + AppTree: AppTreeType; +} +export declare type AppContextType = { + Component: NextComponentType; + AppTree: AppTreeType; + ctx: NextPageContext; + router: R; +}; +export declare type AppInitialProps = { + pageProps: any; +}; +export declare type AppPropsType = AppInitialProps & { + Component: NextComponentType; + router: R; + __N_SSG?: boolean; + __N_SSP?: boolean; +}; +export declare type DocumentContext = NextPageContext & { + renderPage: RenderPage; +}; +export declare type DocumentInitialProps = RenderPageResult & { + styles?: React.ReactElement[] | React.ReactFragment; +}; +export declare type DocumentProps = DocumentInitialProps & { + __NEXT_DATA__: NEXT_DATA; + dangerousAsPath: string; + docComponentsRendered: { + Html?: boolean; + Main?: boolean; + Head?: boolean; + NextScript?: boolean; + }; + buildManifest: BuildManifest; + ampPath: string; + inAmpMode: boolean; + hybridAmp: boolean; + isDevelopment: boolean; + dynamicImports: ManifestItem[]; + assetPrefix?: string; + canonicalBase: string; + headTags: any[]; + unstable_runtimeJS?: false; + unstable_JsPreload?: false; + devOnlyCacheBusterQueryString: string; + scriptLoader: { + defer?: string[]; + eager?: any[]; + }; + locale?: string; +}; +/** + * Next `API` route request + */ +export interface NextApiRequest extends IncomingMessage { + /** + * Object of `query` values from url + */ + query: { + [key: string]: string | string[]; + }; + /** + * Object of `cookies` from header + */ + cookies: { + [key: string]: string; + }; + body: any; + env: Env; + preview?: boolean; + /** + * Preview data set on the request, if any + * */ + previewData?: any; +} +/** + * Send body of response + */ +declare type Send = (body: T) => void; +/** + * Next `API` route response + */ +export declare type NextApiResponse = ServerResponse & { + /** + * Send data `any` data in response + */ + send: Send; + /** + * Send data `json` data in response + */ + json: Send; + status: (statusCode: number) => NextApiResponse; + redirect(url: string): NextApiResponse; + redirect(status: number, url: string): NextApiResponse; + /** + * Set preview data for Next.js' prerender mode + */ + setPreviewData: (data: object | string, options?: { + /** + * Specifies the number (in seconds) for the preview session to last for. + * The given number will be converted to an integer by rounding down. + * By default, no maximum age is set and the preview session finishes + * when the client shuts down (browser is closed). + */ + maxAge?: number; + }) => NextApiResponse; + clearPreviewData: () => NextApiResponse; +}; +/** + * Next `API` route handler + */ +export declare type NextApiHandler = (req: NextApiRequest, res: NextApiResponse) => void | Promise; +/** + * Utils + */ +export declare function execOnce ReturnType>(fn: T): T; +export declare function getLocationOrigin(): string; +export declare function getURL(): string; +export declare function getDisplayName

(Component: ComponentType

): string; +export declare function isResSent(res: ServerResponse): boolean; +export declare function loadGetInitialProps(App: NextComponentType, ctx: C): Promise; +export declare const urlObjectKeys: string[]; +export declare function formatWithValidation(url: UrlObject): string; +export declare const SP: boolean; +export declare const ST: boolean; +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/lib/utils.js b/ninjalist/node_modules/next/dist/next-server/lib/utils.js new file mode 100644 index 00000000..f18f18b6 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/utils.js @@ -0,0 +1,6 @@ +"use strict";exports.__esModule=true;exports.execOnce=execOnce;exports.getLocationOrigin=getLocationOrigin;exports.getURL=getURL;exports.getDisplayName=getDisplayName;exports.isResSent=isResSent;exports.loadGetInitialProps=loadGetInitialProps;exports.formatWithValidation=formatWithValidation;exports.ST=exports.SP=exports.urlObjectKeys=void 0;var _formatUrl=require("./router/utils/format-url");/** + * Utils + */function execOnce(fn){let used=false;let result;return(...args)=>{if(!used){used=true;result=fn(...args);}return result;};}function getLocationOrigin(){const{protocol,hostname,port}=window.location;return`${protocol}//${hostname}${port?':'+port:''}`;}function getURL(){const{href}=window.location;const origin=getLocationOrigin();return href.substring(origin.length);}function getDisplayName(Component){return typeof Component==='string'?Component:Component.displayName||Component.name||'Unknown';}function isResSent(res){return res.finished||res.headersSent;}async function loadGetInitialProps(App,ctx){if(process.env.NODE_ENV!=='production'){var _App$prototype;if((_App$prototype=App.prototype)!=null&&_App$prototype.getInitialProps){const message=`"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://err.sh/vercel/next.js/get-initial-props-as-an-instance-method for more information.`;throw new Error(message);}}// when called from _app `ctx` is nested in `ctx` +const res=ctx.res||ctx.ctx&&ctx.ctx.res;if(!App.getInitialProps){if(ctx.ctx&&ctx.Component){// @ts-ignore pageProps default +return{pageProps:await loadGetInitialProps(ctx.Component,ctx.ctx)};}return{};}const props=await App.getInitialProps(ctx);if(res&&isResSent(res)){return props;}if(!props){const message=`"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`;throw new Error(message);}if(process.env.NODE_ENV!=='production'){if(Object.keys(props).length===0&&!ctx.ctx){console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://err.sh/vercel/next.js/empty-object-getInitialProps`);}}return props;}const urlObjectKeys=['auth','hash','host','hostname','href','path','pathname','port','protocol','query','search','slashes'];exports.urlObjectKeys=urlObjectKeys;function formatWithValidation(url){if(process.env.NODE_ENV==='development'){if(url!==null&&typeof url==='object'){Object.keys(url).forEach(key=>{if(urlObjectKeys.indexOf(key)===-1){console.warn(`Unknown key passed via urlObject into url.format: ${key}`);}});}}return(0,_formatUrl.formatUrl)(url);}const SP=typeof performance!=='undefined';exports.SP=SP;const ST=SP&&typeof performance.mark==='function'&&typeof performance.measure==='function';exports.ST=ST; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/lib/utils.js.map b/ninjalist/node_modules/next/dist/next-server/lib/utils.js.map new file mode 100644 index 00000000..4de88f70 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/lib/utils.ts"],"names":["execOnce","fn","used","result","args","getLocationOrigin","protocol","hostname","port","window","location","getURL","href","origin","substring","length","getDisplayName","Component","displayName","name","isResSent","res","finished","headersSent","loadGetInitialProps","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","urlObjectKeys","formatWithValidation","url","forEach","key","indexOf","SP","performance","ST","mark","measure"],"mappings":"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","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { ParsedUrlQuery } from 'querystring'\nimport { ComponentType } from 'react'\nimport { UrlObject } from 'url'\nimport { formatUrl } from './router/utils/format-url'\nimport { ManifestItem } from '../server/load-components'\nimport { NextRouter } from './router/router'\nimport { Env } from '@next/env'\nimport { BuildManifest } from '../server/get-page-files'\nimport { DomainLocales } from '../server/config'\n\n/**\n * Types used by both next and next-server\n */\n\nexport type NextComponentType<\n C extends BaseContext = NextPageContext,\n IP = {},\n P = {}\n> = ComponentType

& {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param ctx Context of `page`\n */\n getInitialProps?(context: C): IP | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n> & {\n renderDocument(\n Document: DocumentType,\n props: DocumentProps\n ): React.ReactElement\n}\n\nexport type AppType = NextComponentType<\n AppContextType,\n AppInitialProps,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport type NextWebVitalsMetric = {\n id: string\n label: string\n name: string\n startTime: number\n value: number\n}\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => RenderPageResult | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n runtimeConfig?: { [key: string]: any }\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n dynamicIds?: string[]\n err?: Error & { statusCode?: number }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: R\n}\n\nexport type AppInitialProps = {\n pageProps: any\n}\n\nexport type AppPropsType<\n R extends NextRouter = NextRouter,\n P = {}\n> = AppInitialProps & {\n Component: NextComponentType\n router: R\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | React.ReactFragment\n}\n\nexport type DocumentProps = DocumentInitialProps & {\n __NEXT_DATA__: NEXT_DATA\n dangerousAsPath: string\n docComponentsRendered: {\n Html?: boolean\n Main?: boolean\n Head?: boolean\n NextScript?: boolean\n }\n buildManifest: BuildManifest\n ampPath: string\n inAmpMode: boolean\n hybridAmp: boolean\n isDevelopment: boolean\n dynamicImports: ManifestItem[]\n assetPrefix?: string\n canonicalBase: string\n headTags: any[]\n unstable_runtimeJS?: false\n unstable_JsPreload?: false\n devOnlyCacheBusterQueryString: string\n scriptLoader: { defer?: string[]; eager?: any[] }\n locale?: string\n}\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: {\n [key: string]: string | string[]\n }\n /**\n * Object of `cookies` from header\n */\n cookies: {\n [key: string]: string\n }\n\n body: any\n\n env: Env\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: any\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n }\n ) => NextApiResponse\n clearPreviewData: () => NextApiResponse\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => void | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {}\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://err.sh/vercel/next.js/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://err.sh/vercel/next.js/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const urlObjectKeys = [\n 'auth',\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'path',\n 'pathname',\n 'port',\n 'protocol',\n 'query',\n 'search',\n 'slashes',\n]\n\nexport function formatWithValidation(url: UrlObject): string {\n if (process.env.NODE_ENV === 'development') {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach((key) => {\n if (urlObjectKeys.indexOf(key) === -1) {\n console.warn(\n `Unknown key passed via urlObject into url.format: ${key}`\n )\n }\n })\n }\n }\n\n return formatUrl(url)\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n typeof performance.mark === 'function' &&\n typeof performance.measure === 'function'\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/api-utils.d.ts b/ninjalist/node_modules/next/dist/next-server/server/api-utils.d.ts new file mode 100644 index 00000000..290d98b8 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/api-utils.d.ts @@ -0,0 +1,82 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +import { NextApiRequest, NextApiResponse } from '../lib/utils'; +import { Params } from './router'; +export declare type NextApiRequestCookies = { + [key: string]: string; +}; +export declare type NextApiRequestQuery = { + [key: string]: string | string[]; +}; +export declare type __ApiPreviewProps = { + previewModeId: string; + previewModeEncryptionKey: string; + previewModeSigningKey: string; +}; +export declare function apiResolver(req: IncomingMessage, res: ServerResponse, query: any, resolverModule: any, apiContext: __ApiPreviewProps, propagateError: boolean, onError?: ({ err }: { + err: any; +}) => Promise): Promise; +/** + * Parse incoming message like `json` or `urlencoded` + * @param req request object + */ +export declare function parseBody(req: NextApiRequest, limit: string | number): Promise; +/** + * Parse cookies from `req` header + * @param req request object + */ +export declare function getCookieParser(req: IncomingMessage): () => NextApiRequestCookies; +/** + * + * @param res response object + * @param statusCode `HTTP` status code of response + */ +export declare function sendStatusCode(res: NextApiResponse, statusCode: number): NextApiResponse; +/** + * + * @param res response object + * @param [statusOrUrl] `HTTP` status code of redirect + * @param url URL of redirect + */ +export declare function redirect(res: NextApiResponse, statusOrUrl: string | number, url?: string): NextApiResponse; +/** + * Send `any` body to response + * @param req request object + * @param res response object + * @param body of response + */ +export declare function sendData(req: NextApiRequest, res: NextApiResponse, body: any): void; +/** + * Send `JSON` object + * @param res response object + * @param jsonBody of data + */ +export declare function sendJson(res: NextApiResponse, jsonBody: any): void; +export declare const SYMBOL_PREVIEW_DATA: unique symbol; +export declare function tryGetPreviewData(req: IncomingMessage, res: ServerResponse, options: __ApiPreviewProps): object | string | false; +/** + * Custom error class + */ +export declare class ApiError extends Error { + readonly statusCode: number; + constructor(statusCode: number, message: string); +} +/** + * Sends error in `response` + * @param res response object + * @param statusCode of response + * @param message of response + */ +export declare function sendError(res: NextApiResponse, statusCode: number, message: string): void; +interface LazyProps { + req: NextApiRequest; + params?: Params | boolean; +} +/** + * Execute getter function only if its needed + * @param LazyProps `req` and `params` for lazyProp + * @param prop name of property + * @param getter function to get data + */ +export declare function setLazyProp({ req, params }: LazyProps, prop: string, getter: () => T): void; +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/api-utils.js b/ninjalist/node_modules/next/dist/next-server/server/api-utils.js new file mode 100644 index 00000000..a231dda0 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/api-utils.js @@ -0,0 +1,69 @@ +"use strict";exports.__esModule=true;exports.apiResolver=apiResolver;exports.parseBody=parseBody;exports.getCookieParser=getCookieParser;exports.sendStatusCode=sendStatusCode;exports.redirect=redirect;exports.sendData=sendData;exports.sendJson=sendJson;exports.tryGetPreviewData=tryGetPreviewData;exports.sendError=sendError;exports.setLazyProp=setLazyProp;exports.ApiError=exports.SYMBOL_PREVIEW_DATA=void 0;var _contentType=require("next/dist/compiled/content-type");var _rawBody=_interopRequireDefault(require("raw-body"));var _stream=require("stream");var _utils=require("../lib/utils");var _cryptoUtils=require("./crypto-utils");var _loadComponents=require("./load-components");var _sendPayload=require("./send-payload");var _etag=_interopRequireDefault(require("etag"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}async function apiResolver(req,res,query,resolverModule,apiContext,propagateError,onError){const apiReq=req;const apiRes=res;try{var _config$api,_config$api2;if(!resolverModule){res.statusCode=404;res.end('Not Found');return;}const config=resolverModule.config||{};const bodyParser=((_config$api=config.api)==null?void 0:_config$api.bodyParser)!==false;const externalResolver=((_config$api2=config.api)==null?void 0:_config$api2.externalResolver)||false;// Parsing of cookies +setLazyProp({req:apiReq},'cookies',getCookieParser(req));// Parsing query string +apiReq.query=query;// Parsing preview data +setLazyProp({req:apiReq},'previewData',()=>tryGetPreviewData(req,res,apiContext));// Checking if preview mode is enabled +setLazyProp({req:apiReq},'preview',()=>apiReq.previewData!==false?true:undefined);// Parsing of body +if(bodyParser&&!apiReq.body){apiReq.body=await parseBody(apiReq,config.api&&config.api.bodyParser&&config.api.bodyParser.sizeLimit?config.api.bodyParser.sizeLimit:'1mb');}apiRes.status=statusCode=>sendStatusCode(apiRes,statusCode);apiRes.send=data=>sendData(apiReq,apiRes,data);apiRes.json=data=>sendJson(apiRes,data);apiRes.redirect=(statusOrUrl,url)=>redirect(apiRes,statusOrUrl,url);apiRes.setPreviewData=(data,options={})=>setPreviewData(apiRes,data,Object.assign({},apiContext,options));apiRes.clearPreviewData=()=>clearPreviewData(apiRes);const resolver=(0,_loadComponents.interopDefault)(resolverModule);let wasPiped=false;if(process.env.NODE_ENV!=='production'){// listen for pipe event and don't show resolve warning +res.once('pipe',()=>wasPiped=true);}// Call API route method +await resolver(req,res);if(process.env.NODE_ENV!=='production'&&!externalResolver&&!(0,_utils.isResSent)(res)&&!wasPiped){console.warn(`API resolved without sending a response for ${req.url}, this may result in stalled requests.`);}}catch(err){if(err instanceof ApiError){sendError(apiRes,err.statusCode,err.message);}else{console.error(err);if(onError)await onError({err});if(propagateError){throw err;}sendError(apiRes,500,'Internal Server Error');}}}/** + * Parse incoming message like `json` or `urlencoded` + * @param req request object + */async function parseBody(req,limit){const contentType=(0,_contentType.parse)(req.headers['content-type']||'text/plain');const{type,parameters}=contentType;const encoding=parameters.charset||'utf-8';let buffer;try{buffer=await(0,_rawBody.default)(req,{encoding,limit});}catch(e){if(e.type==='entity.too.large'){throw new ApiError(413,`Body exceeded ${limit} limit`);}else{throw new ApiError(400,'Invalid body');}}const body=buffer.toString();if(type==='application/json'||type==='application/ld+json'){return parseJson(body);}else if(type==='application/x-www-form-urlencoded'){const qs=require('querystring');return qs.decode(body);}else{return body;}}/** + * Parse `JSON` and handles invalid `JSON` strings + * @param str `JSON` string + */function parseJson(str){if(str.length===0){// special-case empty json body, as it's a common client-side mistake +return{};}try{return JSON.parse(str);}catch(e){throw new ApiError(400,'Invalid JSON');}}/** + * Parse cookies from `req` header + * @param req request object + */function getCookieParser(req){return function parseCookie(){const header=req.headers.cookie;if(!header){return{};}const{parse:parseCookieFn}=require('next/dist/compiled/cookie');return parseCookieFn(Array.isArray(header)?header.join(';'):header);};}/** + * + * @param res response object + * @param statusCode `HTTP` status code of response + */function sendStatusCode(res,statusCode){res.statusCode=statusCode;return res;}/** + * + * @param res response object + * @param [statusOrUrl] `HTTP` status code of redirect + * @param url URL of redirect + */function redirect(res,statusOrUrl,url){if(typeof statusOrUrl==='string'){url=statusOrUrl;statusOrUrl=307;}if(typeof statusOrUrl!=='number'||typeof url!=='string'){throw new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`);}res.writeHead(statusOrUrl,{Location:url});res.write('');res.end();return res;}/** + * Send `any` body to response + * @param req request object + * @param res response object + * @param body of response + */function sendData(req,res,body){if(body===null||body===undefined){res.end();return;}const contentType=res.getHeader('Content-Type');if(body instanceof _stream.Stream){if(!contentType){res.setHeader('Content-Type','application/octet-stream');}body.pipe(res);return;}const isJSONLike=['object','number','boolean'].includes(typeof body);const stringifiedBody=isJSONLike?JSON.stringify(body):body;const etag=(0,_etag.default)(stringifiedBody);if((0,_sendPayload.sendEtagResponse)(req,res,etag)){return;}if(Buffer.isBuffer(body)){if(!contentType){res.setHeader('Content-Type','application/octet-stream');}res.setHeader('Content-Length',body.length);res.end(body);return;}if(isJSONLike){res.setHeader('Content-Type','application/json; charset=utf-8');}res.setHeader('Content-Length',Buffer.byteLength(stringifiedBody));res.end(stringifiedBody);}/** + * Send `JSON` object + * @param res response object + * @param jsonBody of data + */function sendJson(res,jsonBody){// Set header to application/json +res.setHeader('Content-Type','application/json; charset=utf-8');// Use send to handle request +res.send(jsonBody);}const COOKIE_NAME_PRERENDER_BYPASS=`__prerender_bypass`;const COOKIE_NAME_PRERENDER_DATA=`__next_preview_data`;const SYMBOL_PREVIEW_DATA=Symbol(COOKIE_NAME_PRERENDER_DATA);exports.SYMBOL_PREVIEW_DATA=SYMBOL_PREVIEW_DATA;const SYMBOL_CLEARED_COOKIES=Symbol(COOKIE_NAME_PRERENDER_BYPASS);function tryGetPreviewData(req,res,options){// Read cached preview data if present +if(SYMBOL_PREVIEW_DATA in req){return req[SYMBOL_PREVIEW_DATA];}const getCookies=getCookieParser(req);let cookies;try{cookies=getCookies();}catch(_unused){// TODO: warn +return false;}const hasBypass=(COOKIE_NAME_PRERENDER_BYPASS in cookies);const hasData=(COOKIE_NAME_PRERENDER_DATA in cookies);// Case: neither cookie is set. +if(!(hasBypass||hasData)){return false;}// Case: one cookie is set, but not the other. +if(hasBypass!==hasData){clearPreviewData(res);return false;}// Case: preview session is for an old build. +if(cookies[COOKIE_NAME_PRERENDER_BYPASS]!==options.previewModeId){clearPreviewData(res);return false;}const tokenPreviewData=cookies[COOKIE_NAME_PRERENDER_DATA];const jsonwebtoken=require('next/dist/compiled/jsonwebtoken');let encryptedPreviewData;try{encryptedPreviewData=jsonwebtoken.verify(tokenPreviewData,options.previewModeSigningKey);}catch(_unused2){// TODO: warn +clearPreviewData(res);return false;}const decryptedPreviewData=(0,_cryptoUtils.decryptWithSecret)(Buffer.from(options.previewModeEncryptionKey),encryptedPreviewData.data);try{// TODO: strict runtime type checking +const data=JSON.parse(decryptedPreviewData);// Cache lookup +Object.defineProperty(req,SYMBOL_PREVIEW_DATA,{value:data,enumerable:false});return data;}catch(_unused3){return false;}}function isNotValidData(str){return typeof str!=='string'||str.length<16;}function setPreviewData(res,data,// TODO: strict runtime type checking +options){if(isNotValidData(options.previewModeId)){throw new Error('invariant: invalid previewModeId');}if(isNotValidData(options.previewModeEncryptionKey)){throw new Error('invariant: invalid previewModeEncryptionKey');}if(isNotValidData(options.previewModeSigningKey)){throw new Error('invariant: invalid previewModeSigningKey');}const jsonwebtoken=require('next/dist/compiled/jsonwebtoken');const payload=jsonwebtoken.sign({data:(0,_cryptoUtils.encryptWithSecret)(Buffer.from(options.previewModeEncryptionKey),JSON.stringify(data))},options.previewModeSigningKey,{algorithm:'HS256',...(options.maxAge!==undefined?{expiresIn:options.maxAge}:undefined)});// limit preview mode cookie to 2KB since we shouldn't store too much +// data here and browsers drop cookies over 4KB +if(payload.length>2048){throw new Error(`Preview data is limited to 2KB currently, reduce how much data you are storing as preview data to continue`);}const{serialize}=require('next/dist/compiled/cookie');const previous=res.getHeader('Set-Cookie');res.setHeader(`Set-Cookie`,[...(typeof previous==='string'?[previous]:Array.isArray(previous)?previous:[]),serialize(COOKIE_NAME_PRERENDER_BYPASS,options.previewModeId,{httpOnly:true,sameSite:process.env.NODE_ENV!=='development'?'none':'lax',secure:process.env.NODE_ENV!=='development',path:'/',...(options.maxAge!==undefined?{maxAge:options.maxAge}:undefined)}),serialize(COOKIE_NAME_PRERENDER_DATA,payload,{httpOnly:true,sameSite:process.env.NODE_ENV!=='development'?'none':'lax',secure:process.env.NODE_ENV!=='development',path:'/',...(options.maxAge!==undefined?{maxAge:options.maxAge}:undefined)})]);return res;}function clearPreviewData(res){if(SYMBOL_CLEARED_COOKIES in res){return res;}const{serialize}=require('next/dist/compiled/cookie');const previous=res.getHeader('Set-Cookie');res.setHeader(`Set-Cookie`,[...(typeof previous==='string'?[previous]:Array.isArray(previous)?previous:[]),serialize(COOKIE_NAME_PRERENDER_BYPASS,'',{// To delete a cookie, set `expires` to a date in the past: +// https://tools.ietf.org/html/rfc6265#section-4.1.1 +// `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. +expires:new Date(0),httpOnly:true,sameSite:process.env.NODE_ENV!=='development'?'none':'lax',secure:process.env.NODE_ENV!=='development',path:'/'}),serialize(COOKIE_NAME_PRERENDER_DATA,'',{// To delete a cookie, set `expires` to a date in the past: +// https://tools.ietf.org/html/rfc6265#section-4.1.1 +// `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. +expires:new Date(0),httpOnly:true,sameSite:process.env.NODE_ENV!=='development'?'none':'lax',secure:process.env.NODE_ENV!=='development',path:'/'})]);Object.defineProperty(res,SYMBOL_CLEARED_COOKIES,{value:true,enumerable:false});return res;}/** + * Custom error class + */class ApiError extends Error{constructor(statusCode,message){super(message);this.statusCode=void 0;this.statusCode=statusCode;}}/** + * Sends error in `response` + * @param res response object + * @param statusCode of response + * @param message of response + */exports.ApiError=ApiError;function sendError(res,statusCode,message){res.statusCode=statusCode;res.statusMessage=message;res.end(message);}/** + * Execute getter function only if its needed + * @param LazyProps `req` and `params` for lazyProp + * @param prop name of property + * @param getter function to get data + */function setLazyProp({req,params},prop,getter){const opts={configurable:true,enumerable:true};const optsReset={...opts,writable:true};Object.defineProperty(req,prop,{...opts,get:()=>{let value=getter();if(params&&typeof params!=='boolean'){value={...value,...params};}// we set the property on the object to avoid recalculating it +Object.defineProperty(req,prop,{...optsReset,value});return value;},set:value=>{Object.defineProperty(req,prop,{...optsReset,value});}});} +//# sourceMappingURL=api-utils.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/api-utils.js.map b/ninjalist/node_modules/next/dist/next-server/server/api-utils.js.map new file mode 100644 index 00000000..1e1265a2 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/api-utils.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/api-utils.ts"],"names":["apiResolver","req","res","query","resolverModule","apiContext","propagateError","onError","apiReq","apiRes","statusCode","end","config","bodyParser","api","externalResolver","setLazyProp","getCookieParser","tryGetPreviewData","previewData","undefined","body","parseBody","sizeLimit","status","sendStatusCode","send","data","sendData","json","sendJson","redirect","statusOrUrl","url","setPreviewData","options","Object","assign","clearPreviewData","resolver","wasPiped","process","env","NODE_ENV","once","console","warn","err","ApiError","sendError","message","error","limit","contentType","headers","type","parameters","encoding","charset","buffer","e","toString","parseJson","qs","require","decode","str","length","JSON","parse","parseCookie","header","cookie","parseCookieFn","Array","isArray","join","Error","writeHead","Location","write","getHeader","Stream","setHeader","pipe","isJSONLike","includes","stringifiedBody","stringify","etag","Buffer","isBuffer","byteLength","jsonBody","COOKIE_NAME_PRERENDER_BYPASS","COOKIE_NAME_PRERENDER_DATA","SYMBOL_PREVIEW_DATA","Symbol","SYMBOL_CLEARED_COOKIES","getCookies","cookies","hasBypass","hasData","previewModeId","tokenPreviewData","jsonwebtoken","encryptedPreviewData","verify","previewModeSigningKey","decryptedPreviewData","from","previewModeEncryptionKey","defineProperty","value","enumerable","isNotValidData","payload","sign","algorithm","maxAge","expiresIn","serialize","previous","httpOnly","sameSite","secure","path","expires","Date","constructor","statusMessage","params","prop","getter","opts","configurable","optsReset","writable","get","set"],"mappings":"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","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { parse } from 'next/dist/compiled/content-type'\nimport { CookieSerializeOptions } from 'next/dist/compiled/cookie'\nimport getRawBody from 'raw-body'\nimport { PageConfig } from 'next/types'\nimport { Stream } from 'stream'\nimport { isResSent, NextApiRequest, NextApiResponse } from '../lib/utils'\nimport { decryptWithSecret, encryptWithSecret } from './crypto-utils'\nimport { interopDefault } from './load-components'\nimport { Params } from './router'\nimport { sendEtagResponse } from './send-payload'\nimport generateETag from 'etag'\n\nexport type NextApiRequestCookies = { [key: string]: string }\nexport type NextApiRequestQuery = { [key: string]: string | string[] }\n\nexport type __ApiPreviewProps = {\n previewModeId: string\n previewModeEncryptionKey: string\n previewModeSigningKey: string\n}\n\nexport async function apiResolver(\n req: IncomingMessage,\n res: ServerResponse,\n query: any,\n resolverModule: any,\n apiContext: __ApiPreviewProps,\n propagateError: boolean,\n onError?: ({ err }: { err: any }) => Promise\n): Promise {\n const apiReq = req as NextApiRequest\n const apiRes = res as NextApiResponse\n\n try {\n if (!resolverModule) {\n res.statusCode = 404\n res.end('Not Found')\n return\n }\n const config: PageConfig = resolverModule.config || {}\n const bodyParser = config.api?.bodyParser !== false\n const externalResolver = config.api?.externalResolver || false\n\n // Parsing of cookies\n setLazyProp({ req: apiReq }, 'cookies', getCookieParser(req))\n // Parsing query string\n apiReq.query = query\n // Parsing preview data\n setLazyProp({ req: apiReq }, 'previewData', () =>\n tryGetPreviewData(req, res, apiContext)\n )\n // Checking if preview mode is enabled\n setLazyProp({ req: apiReq }, 'preview', () =>\n apiReq.previewData !== false ? true : undefined\n )\n\n // Parsing of body\n if (bodyParser && !apiReq.body) {\n apiReq.body = await parseBody(\n apiReq,\n config.api && config.api.bodyParser && config.api.bodyParser.sizeLimit\n ? config.api.bodyParser.sizeLimit\n : '1mb'\n )\n }\n\n apiRes.status = (statusCode) => sendStatusCode(apiRes, statusCode)\n apiRes.send = (data) => sendData(apiReq, apiRes, data)\n apiRes.json = (data) => sendJson(apiRes, data)\n apiRes.redirect = (statusOrUrl: number | string, url?: string) =>\n redirect(apiRes, statusOrUrl, url)\n apiRes.setPreviewData = (data, options = {}) =>\n setPreviewData(apiRes, data, Object.assign({}, apiContext, options))\n apiRes.clearPreviewData = () => clearPreviewData(apiRes)\n\n const resolver = interopDefault(resolverModule)\n let wasPiped = false\n\n if (process.env.NODE_ENV !== 'production') {\n // listen for pipe event and don't show resolve warning\n res.once('pipe', () => (wasPiped = true))\n }\n\n // Call API route method\n await resolver(req, res)\n\n if (\n process.env.NODE_ENV !== 'production' &&\n !externalResolver &&\n !isResSent(res) &&\n !wasPiped\n ) {\n console.warn(\n `API resolved without sending a response for ${req.url}, this may result in stalled requests.`\n )\n }\n } catch (err) {\n if (err instanceof ApiError) {\n sendError(apiRes, err.statusCode, err.message)\n } else {\n console.error(err)\n if (onError) await onError({ err })\n if (propagateError) {\n throw err\n }\n sendError(apiRes, 500, 'Internal Server Error')\n }\n }\n}\n\n/**\n * Parse incoming message like `json` or `urlencoded`\n * @param req request object\n */\nexport async function parseBody(\n req: NextApiRequest,\n limit: string | number\n): Promise {\n const contentType = parse(req.headers['content-type'] || 'text/plain')\n const { type, parameters } = contentType\n const encoding = parameters.charset || 'utf-8'\n\n let buffer\n\n try {\n buffer = await getRawBody(req, { encoding, limit })\n } catch (e) {\n if (e.type === 'entity.too.large') {\n throw new ApiError(413, `Body exceeded ${limit} limit`)\n } else {\n throw new ApiError(400, 'Invalid body')\n }\n }\n\n const body = buffer.toString()\n\n if (type === 'application/json' || type === 'application/ld+json') {\n return parseJson(body)\n } else if (type === 'application/x-www-form-urlencoded') {\n const qs = require('querystring')\n return qs.decode(body)\n } else {\n return body\n }\n}\n\n/**\n * Parse `JSON` and handles invalid `JSON` strings\n * @param str `JSON` string\n */\nfunction parseJson(str: string): object {\n if (str.length === 0) {\n // special-case empty json body, as it's a common client-side mistake\n return {}\n }\n\n try {\n return JSON.parse(str)\n } catch (e) {\n throw new ApiError(400, 'Invalid JSON')\n }\n}\n\n/**\n * Parse cookies from `req` header\n * @param req request object\n */\nexport function getCookieParser(\n req: IncomingMessage\n): () => NextApiRequestCookies {\n return function parseCookie(): NextApiRequestCookies {\n const header: undefined | string | string[] = req.headers.cookie\n\n if (!header) {\n return {}\n }\n\n const { parse: parseCookieFn } = require('next/dist/compiled/cookie')\n return parseCookieFn(Array.isArray(header) ? header.join(';') : header)\n }\n}\n\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */\nexport function sendStatusCode(\n res: NextApiResponse,\n statusCode: number\n): NextApiResponse {\n res.statusCode = statusCode\n return res\n}\n\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */\nexport function redirect(\n res: NextApiResponse,\n statusOrUrl: string | number,\n url?: string\n): NextApiResponse {\n if (typeof statusOrUrl === 'string') {\n url = statusOrUrl\n statusOrUrl = 307\n }\n if (typeof statusOrUrl !== 'number' || typeof url !== 'string') {\n throw new Error(\n `Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`\n )\n }\n res.writeHead(statusOrUrl, { Location: url })\n res.write('')\n res.end()\n return res\n}\n\n/**\n * Send `any` body to response\n * @param req request object\n * @param res response object\n * @param body of response\n */\nexport function sendData(\n req: NextApiRequest,\n res: NextApiResponse,\n body: any\n): void {\n if (body === null || body === undefined) {\n res.end()\n return\n }\n\n const contentType = res.getHeader('Content-Type')\n\n if (body instanceof Stream) {\n if (!contentType) {\n res.setHeader('Content-Type', 'application/octet-stream')\n }\n body.pipe(res)\n return\n }\n\n const isJSONLike = ['object', 'number', 'boolean'].includes(typeof body)\n const stringifiedBody = isJSONLike ? JSON.stringify(body) : body\n const etag = generateETag(stringifiedBody)\n if (sendEtagResponse(req, res, etag)) {\n return\n }\n\n if (Buffer.isBuffer(body)) {\n if (!contentType) {\n res.setHeader('Content-Type', 'application/octet-stream')\n }\n res.setHeader('Content-Length', body.length)\n res.end(body)\n return\n }\n\n if (isJSONLike) {\n res.setHeader('Content-Type', 'application/json; charset=utf-8')\n }\n\n res.setHeader('Content-Length', Buffer.byteLength(stringifiedBody))\n res.end(stringifiedBody)\n}\n\n/**\n * Send `JSON` object\n * @param res response object\n * @param jsonBody of data\n */\nexport function sendJson(res: NextApiResponse, jsonBody: any): void {\n // Set header to application/json\n res.setHeader('Content-Type', 'application/json; charset=utf-8')\n\n // Use send to handle request\n res.send(jsonBody)\n}\n\nconst COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`\nconst COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`\n\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA)\nconst SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS)\n\nexport function tryGetPreviewData(\n req: IncomingMessage,\n res: ServerResponse,\n options: __ApiPreviewProps\n): object | string | false {\n // Read cached preview data if present\n if (SYMBOL_PREVIEW_DATA in req) {\n return (req as any)[SYMBOL_PREVIEW_DATA] as any\n }\n\n const getCookies = getCookieParser(req)\n let cookies: NextApiRequestCookies\n try {\n cookies = getCookies()\n } catch {\n // TODO: warn\n return false\n }\n\n const hasBypass = COOKIE_NAME_PRERENDER_BYPASS in cookies\n const hasData = COOKIE_NAME_PRERENDER_DATA in cookies\n\n // Case: neither cookie is set.\n if (!(hasBypass || hasData)) {\n return false\n }\n\n // Case: one cookie is set, but not the other.\n if (hasBypass !== hasData) {\n clearPreviewData(res as NextApiResponse)\n return false\n }\n\n // Case: preview session is for an old build.\n if (cookies[COOKIE_NAME_PRERENDER_BYPASS] !== options.previewModeId) {\n clearPreviewData(res as NextApiResponse)\n return false\n }\n\n const tokenPreviewData = cookies[COOKIE_NAME_PRERENDER_DATA]\n\n const jsonwebtoken = require('next/dist/compiled/jsonwebtoken') as typeof import('jsonwebtoken')\n let encryptedPreviewData: {\n data: string\n }\n try {\n encryptedPreviewData = jsonwebtoken.verify(\n tokenPreviewData,\n options.previewModeSigningKey\n ) as typeof encryptedPreviewData\n } catch {\n // TODO: warn\n clearPreviewData(res as NextApiResponse)\n return false\n }\n\n const decryptedPreviewData = decryptWithSecret(\n Buffer.from(options.previewModeEncryptionKey),\n encryptedPreviewData.data\n )\n\n try {\n // TODO: strict runtime type checking\n const data = JSON.parse(decryptedPreviewData)\n // Cache lookup\n Object.defineProperty(req, SYMBOL_PREVIEW_DATA, {\n value: data,\n enumerable: false,\n })\n return data\n } catch {\n return false\n }\n}\n\nfunction isNotValidData(str: string): boolean {\n return typeof str !== 'string' || str.length < 16\n}\n\nfunction setPreviewData(\n res: NextApiResponse,\n data: object | string, // TODO: strict runtime type checking\n options: {\n maxAge?: number\n } & __ApiPreviewProps\n): NextApiResponse {\n if (isNotValidData(options.previewModeId)) {\n throw new Error('invariant: invalid previewModeId')\n }\n if (isNotValidData(options.previewModeEncryptionKey)) {\n throw new Error('invariant: invalid previewModeEncryptionKey')\n }\n if (isNotValidData(options.previewModeSigningKey)) {\n throw new Error('invariant: invalid previewModeSigningKey')\n }\n\n const jsonwebtoken = require('next/dist/compiled/jsonwebtoken') as typeof import('jsonwebtoken')\n\n const payload = jsonwebtoken.sign(\n {\n data: encryptWithSecret(\n Buffer.from(options.previewModeEncryptionKey),\n JSON.stringify(data)\n ),\n },\n options.previewModeSigningKey,\n {\n algorithm: 'HS256',\n ...(options.maxAge !== undefined\n ? { expiresIn: options.maxAge }\n : undefined),\n }\n )\n\n // limit preview mode cookie to 2KB since we shouldn't store too much\n // data here and browsers drop cookies over 4KB\n if (payload.length > 2048) {\n throw new Error(\n `Preview data is limited to 2KB currently, reduce how much data you are storing as preview data to continue`\n )\n }\n\n const {\n serialize,\n } = require('next/dist/compiled/cookie') as typeof import('cookie')\n const previous = res.getHeader('Set-Cookie')\n res.setHeader(`Set-Cookie`, [\n ...(typeof previous === 'string'\n ? [previous]\n : Array.isArray(previous)\n ? previous\n : []),\n serialize(COOKIE_NAME_PRERENDER_BYPASS, options.previewModeId, {\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.maxAge !== undefined\n ? ({ maxAge: options.maxAge } as CookieSerializeOptions)\n : undefined),\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, payload, {\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.maxAge !== undefined\n ? ({ maxAge: options.maxAge } as CookieSerializeOptions)\n : undefined),\n }),\n ])\n return res\n}\n\nfunction clearPreviewData(res: NextApiResponse): NextApiResponse {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res\n }\n\n const {\n serialize,\n } = require('next/dist/compiled/cookie') as typeof import('cookie')\n const previous = res.getHeader('Set-Cookie')\n res.setHeader(`Set-Cookie`, [\n ...(typeof previous === 'string'\n ? [previous]\n : Array.isArray(previous)\n ? previous\n : []),\n serialize(COOKIE_NAME_PRERENDER_BYPASS, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n }),\n ])\n\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false,\n })\n return res\n}\n\n/**\n * Custom error class\n */\nexport class ApiError extends Error {\n readonly statusCode: number\n\n constructor(statusCode: number, message: string) {\n super(message)\n this.statusCode = statusCode\n }\n}\n\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */\nexport function sendError(\n res: NextApiResponse,\n statusCode: number,\n message: string\n): void {\n res.statusCode = statusCode\n res.statusMessage = message\n res.end(message)\n}\n\ninterface LazyProps {\n req: NextApiRequest\n params?: Params | boolean\n}\n\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */\nexport function setLazyProp(\n { req, params }: LazyProps,\n prop: string,\n getter: () => T\n): void {\n const opts = { configurable: true, enumerable: true }\n const optsReset = { ...opts, writable: true }\n\n Object.defineProperty(req, prop, {\n ...opts,\n get: () => {\n let value = getter()\n if (params && typeof params !== 'boolean') {\n value = { ...value, ...params }\n }\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, { ...optsReset, value })\n return value\n },\n set: (value) => {\n Object.defineProperty(req, prop, { ...optsReset, value })\n },\n })\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/config.d.ts b/ninjalist/node_modules/next/dist/next-server/server/config.d.ts new file mode 100644 index 00000000..5fa836e4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/config.d.ts @@ -0,0 +1,29 @@ +import { Header, Rewrite, Redirect } from '../../lib/load-custom-routes'; +export declare type DomainLocales = Array<{ + http?: true; + domain: string; + locales?: string[]; + defaultLocale: string; +}>; +export declare type NextConfig = { + [key: string]: any; +} & { + i18n?: { + locales: string[]; + defaultLocale: string; + domains?: DomainLocales; + localeDetection?: false; + } | null; + headers?: () => Promise; + rewrites?: () => Promise; + redirects?: () => Promise; + trailingSlash?: boolean; + future: { + strictPostcssConfiguration: boolean; + excludeDefaultMomentLocales: boolean; + webpack5: boolean; + }; +}; +export declare function normalizeConfig(phase: string, config: any): any; +export default function loadConfig(phase: string, dir: string, customConfig?: object | null): NextConfig; +export declare function isTargetLikeServerless(target: string): boolean; diff --git a/ninjalist/node_modules/next/dist/next-server/server/config.js b/ninjalist/node_modules/next/dist/next-server/server/config.js new file mode 100644 index 00000000..eaf66994 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/config.js @@ -0,0 +1,9 @@ +"use strict";exports.__esModule=true;exports.normalizeConfig=normalizeConfig;exports.default=loadConfig;exports.isTargetLikeServerless=isTargetLikeServerless;var _chalk=_interopRequireDefault(require("chalk"));var _findUp=_interopRequireDefault(require("next/dist/compiled/find-up"));var _os=_interopRequireDefault(require("os"));var _path=require("path");var _utils=require("../lib/utils");var Log=_interopRequireWildcard(require("../../build/output/log"));var _constants=require("../lib/constants");var _imageConfig=require("./image-config");function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const targets=['server','serverless','experimental-serverless-trace'];const reactModes=['legacy','blocking','concurrent'];const defaultConfig={env:[],webpack:null,webpackDevMiddleware:null,distDir:'.next',assetPrefix:'',configOrigin:'default',useFileSystemPublicRoutes:true,generateBuildId:()=>null,generateEtags:true,pageExtensions:['tsx','ts','jsx','js'],target:'server',poweredByHeader:true,compress:true,analyticsId:process.env.VERCEL_ANALYTICS_ID||'',images:_imageConfig.imageConfigDefault,devIndicators:{buildActivity:true},onDemandEntries:{maxInactiveAge:60*1000,pagesBufferLength:2},amp:{canonicalBase:''},basePath:'',sassOptions:{},trailingSlash:false,i18n:null,productionBrowserSourceMaps:false,experimental:{cpus:Math.max(1,(Number(process.env.CIRCLE_NODE_TOTAL)||(_os.default.cpus()||{length:1}).length)-1),plugins:false,profiling:false,sprFlushToDisk:true,reactMode:'legacy',workerThreads:false,pageEnv:false,optimizeFonts:false,optimizeImages:false,optimizeCss:false,scrollRestoration:false,scriptLoader:false,stats:false},future:{strictPostcssConfiguration:false,excludeDefaultMomentLocales:false,webpack5:Number(process.env.NEXT_PRIVATE_TEST_WEBPACK5_MODE)>0},serverRuntimeConfig:{},publicRuntimeConfig:{},reactStrictMode:false};const experimentalWarning=(0,_utils.execOnce)(()=>{Log.warn(_chalk.default.bold('You have enabled experimental feature(s).'));Log.warn(`Experimental features are not covered by semver, and may cause unexpected or broken application behavior. `+`Use them at your own risk.`);console.warn();});function assignDefaults(userConfig){if(typeof userConfig.exportTrailingSlash!=='undefined'){console.warn(_chalk.default.yellow.bold('Warning: ')+'The "exportTrailingSlash" option has been renamed to "trailingSlash". Please update your next.config.js.');if(typeof userConfig.trailingSlash==='undefined'){userConfig.trailingSlash=userConfig.exportTrailingSlash;}delete userConfig.exportTrailingSlash;}const config=Object.keys(userConfig).reduce((currentConfig,key)=>{const value=userConfig[key];if(value===undefined||value===null){return currentConfig;}if(key==='experimental'&&value&&value!==defaultConfig[key]){experimentalWarning();}if(key==='distDir'){if(typeof value!=='string'){throw new Error(`Specified distDir is not a string, found type "${typeof value}"`);}const userDistDir=value.trim();// don't allow public as the distDir as this is a reserved folder for +// public files +if(userDistDir==='public'){throw new Error(`The 'public' directory is reserved in Next.js and can not be set as the 'distDir'. https://err.sh/vercel/next.js/can-not-output-to-public`);}// make sure distDir isn't an empty string as it can result in the provided +// directory being deleted in development mode +if(userDistDir.length===0){throw new Error(`Invalid distDir provided, distDir can not be an empty string. Please remove this config or set it to undefined`);}}if(key==='pageExtensions'){if(!Array.isArray(value)){throw new Error(`Specified pageExtensions is not an array of strings, found "${value}". Please update this config or remove it.`);}if(!value.length){throw new Error(`Specified pageExtensions is an empty array. Please update it with the relevant extensions or remove it.`);}value.forEach(ext=>{if(typeof ext!=='string'){throw new Error(`Specified pageExtensions is not an array of strings, found "${ext}" of type "${typeof ext}". Please update this config or remove it.`);}});}if(!!value&&value.constructor===Object){currentConfig[key]={...defaultConfig[key],...Object.keys(value).reduce((c,k)=>{const v=value[k];if(v!==undefined&&v!==null){c[k]=v;}return c;},{})};}else{currentConfig[key]=value;}return currentConfig;},{});const result={...defaultConfig,...config};if(typeof result.assetPrefix!=='string'){throw new Error(`Specified assetPrefix is not a string, found type "${typeof result.assetPrefix}" https://err.sh/vercel/next.js/invalid-assetprefix`);}if(typeof result.basePath!=='string'){throw new Error(`Specified basePath is not a string, found type "${typeof result.basePath}"`);}if(result.basePath!==''){if(result.basePath==='/'){throw new Error(`Specified basePath /. basePath has to be either an empty string or a path prefix"`);}if(!result.basePath.startsWith('/')){throw new Error(`Specified basePath has to start with a /, found "${result.basePath}"`);}if(result.basePath!=='/'){if(result.basePath.endsWith('/')){throw new Error(`Specified basePath should not end with /, found "${result.basePath}"`);}if(result.assetPrefix===''){result.assetPrefix=result.basePath;}if(result.amp.canonicalBase===''){result.amp.canonicalBase=result.basePath;}}}if(result!=null&&result.images){const images=result.images;if(typeof images!=='object'){throw new Error(`Specified images should be an object received ${typeof images}.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}if(images.domains){if(!Array.isArray(images.domains)){throw new Error(`Specified images.domains should be an Array received ${typeof images.domains}.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}if(images.domains.length>50){throw new Error(`Specified images.domains exceeds length of 50, received length (${images.domains.length}), please reduce the length of the array to continue.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}const invalid=images.domains.filter(d=>typeof d!=='string');if(invalid.length>0){throw new Error(`Specified images.domains should be an Array of strings received invalid values (${invalid.join(', ')}).\nSee more info here: https://err.sh/next.js/invalid-images-config`);}}if(images.deviceSizes){const{deviceSizes}=images;if(!Array.isArray(deviceSizes)){throw new Error(`Specified images.deviceSizes should be an Array received ${typeof deviceSizes}.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}if(deviceSizes.length>25){throw new Error(`Specified images.deviceSizes exceeds length of 25, received length (${deviceSizes.length}), please reduce the length of the array to continue.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}const invalid=deviceSizes.filter(d=>{return typeof d!=='number'||d<1||d>10000;});if(invalid.length>0){throw new Error(`Specified images.deviceSizes should be an Array of numbers that are between 1 and 10000, received invalid values (${invalid.join(', ')}).\nSee more info here: https://err.sh/next.js/invalid-images-config`);}}if(images.imageSizes){const{imageSizes}=images;if(!Array.isArray(imageSizes)){throw new Error(`Specified images.imageSizes should be an Array received ${typeof imageSizes}.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}if(imageSizes.length>25){throw new Error(`Specified images.imageSizes exceeds length of 25, received length (${imageSizes.length}), please reduce the length of the array to continue.\nSee more info here: https://err.sh/next.js/invalid-images-config`);}const invalid=imageSizes.filter(d=>{return typeof d!=='number'||d<1||d>10000;});if(invalid.length>0){throw new Error(`Specified images.imageSizes should be an Array of numbers that are between 1 and 10000, received invalid values (${invalid.join(', ')}).\nSee more info here: https://err.sh/next.js/invalid-images-config`);}}if(!images.loader){images.loader='default';}if(!_imageConfig.VALID_LOADERS.includes(images.loader)){throw new Error(`Specified images.loader should be one of (${_imageConfig.VALID_LOADERS.join(', ')}), received invalid value (${images.loader}).\nSee more info here: https://err.sh/next.js/invalid-images-config`);}// Append trailing slash for non-default loaders +if(images.path){if(images.loader!=='default'&&images.path[images.path.length-1]!=='/'){images.path+='/';}}if(images.path===_imageConfig.imageConfigDefault.path&&result.basePath){images.path=`${result.basePath}${images.path}`;}}if(result.i18n){const{i18n}=result;const i18nType=typeof i18n;if(i18nType!=='object'){throw new Error(`Specified i18n should be an object received ${i18nType}.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}if(!Array.isArray(i18n.locales)){throw new Error(`Specified i18n.locales should be an Array received ${typeof i18n.locales}.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}const defaultLocaleType=typeof i18n.defaultLocale;if(!i18n.defaultLocale||defaultLocaleType!=='string'){throw new Error(`Specified i18n.defaultLocale should be a string.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}if(typeof i18n.domains!=='undefined'&&!Array.isArray(i18n.domains)){throw new Error(`Specified i18n.domains must be an array of domain objects e.g. [ { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] } ] received ${typeof i18n.domains}.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}if(i18n.domains){const invalidDomainItems=i18n.domains.filter(item=>{if(!item||typeof item!=='object')return true;if(!item.defaultLocale)return true;if(!item.domain||typeof item.domain!=='string')return true;let hasInvalidLocale=false;if(Array.isArray(item.locales)){for(const locale of item.locales){if(typeof locale!=='string')hasInvalidLocale=true;for(const domainItem of i18n.domains||[]){if(domainItem===item)continue;if(domainItem.locales&&domainItem.locales.includes(locale)){console.warn(`Both ${item.domain} and ${domainItem.domain} configured the locale (${locale}) but only one can. Remove it from one i18n.domains config to continue`);hasInvalidLocale=true;break;}}}}return hasInvalidLocale;});if(invalidDomainItems.length>0){throw new Error(`Invalid i18n.domains values:\n${invalidDomainItems.map(item=>JSON.stringify(item)).join('\n')}\n\ndomains value must follow format { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] }.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}}if(!Array.isArray(i18n.locales)){throw new Error(`Specified i18n.locales must be an array of locale strings e.g. ["en-US", "nl-NL"] received ${typeof i18n.locales}.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}const invalidLocales=i18n.locales.filter(locale=>typeof locale!=='string');if(invalidLocales.length>0){throw new Error(`Specified i18n.locales contains invalid values (${invalidLocales.map(String).join(', ')}), locales must be valid locale tags provided as strings e.g. "en-US".\n`+`See here for list of valid language sub-tags: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry`);}if(!i18n.locales.includes(i18n.defaultLocale)){throw new Error(`Specified i18n.defaultLocale should be included in i18n.locales.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}// make sure default Locale is at the front +i18n.locales=[i18n.defaultLocale,...i18n.locales.filter(locale=>locale!==i18n.defaultLocale)];const localeDetectionType=typeof i18n.localeDetection;if(localeDetectionType!=='boolean'&&localeDetectionType!=='undefined'){throw new Error(`Specified i18n.localeDetection should be undefined or a boolean received ${localeDetectionType}.\nSee more info here: https://err.sh/next.js/invalid-i18n-config`);}}return result;}function normalizeConfig(phase,config){if(typeof config==='function'){config=config(phase,{defaultConfig});if(typeof config.then==='function'){throw new Error('> Promise returned in next config. https://err.sh/vercel/next.js/promise-in-next-config');}}return config;}function loadConfig(phase,dir,customConfig){if(customConfig){return assignDefaults({configOrigin:'server',...customConfig});}const path=_findUp.default.sync(_constants.CONFIG_FILE,{cwd:dir});// If config file was found +if(path!=null&&path.length){var _userConfig$amp,_userConfig$experimen;const userConfigModule=require(path);const userConfig=normalizeConfig(phase,userConfigModule.default||userConfigModule);if(Object.keys(userConfig).length===0){Log.warn('Detected next.config.js, no exported configuration found. https://err.sh/vercel/next.js/empty-configuration');}if(userConfig.target&&!targets.includes(userConfig.target)){throw new Error(`Specified target is invalid. Provided: "${userConfig.target}" should be one of ${targets.join(', ')}`);}if((_userConfig$amp=userConfig.amp)!=null&&_userConfig$amp.canonicalBase){const{canonicalBase}=userConfig.amp||{};userConfig.amp=userConfig.amp||{};userConfig.amp.canonicalBase=(canonicalBase.endsWith('/')?canonicalBase.slice(0,-1):canonicalBase)||'';}if((_userConfig$experimen=userConfig.experimental)!=null&&_userConfig$experimen.reactMode&&!reactModes.includes(userConfig.experimental.reactMode)){throw new Error(`Specified React Mode is invalid. Provided: ${userConfig.experimental.reactMode} should be one of ${reactModes.join(', ')}`);}return assignDefaults({configOrigin:_constants.CONFIG_FILE,configFile:path,...userConfig});}else{const configBaseName=(0,_path.basename)(_constants.CONFIG_FILE,(0,_path.extname)(_constants.CONFIG_FILE));const nonJsPath=_findUp.default.sync([`${configBaseName}.jsx`,`${configBaseName}.ts`,`${configBaseName}.tsx`,`${configBaseName}.json`],{cwd:dir});if(nonJsPath!=null&&nonJsPath.length){throw new Error(`Configuring Next.js via '${(0,_path.basename)(nonJsPath)}' is not supported. Please replace the file with 'next.config.js'.`);}}return defaultConfig;}function isTargetLikeServerless(target){const isServerless=target==='serverless';const isServerlessTrace=target==='experimental-serverless-trace';return isServerless||isServerlessTrace;} +//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/config.js.map b/ninjalist/node_modules/next/dist/next-server/server/config.js.map new file mode 100644 index 00000000..0f1f3078 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/config.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/config.ts"],"names":["targets","reactModes","defaultConfig","env","webpack","webpackDevMiddleware","distDir","assetPrefix","configOrigin","useFileSystemPublicRoutes","generateBuildId","generateEtags","pageExtensions","target","poweredByHeader","compress","analyticsId","process","VERCEL_ANALYTICS_ID","images","imageConfigDefault","devIndicators","buildActivity","onDemandEntries","maxInactiveAge","pagesBufferLength","amp","canonicalBase","basePath","sassOptions","trailingSlash","i18n","productionBrowserSourceMaps","experimental","cpus","Math","max","Number","CIRCLE_NODE_TOTAL","os","length","plugins","profiling","sprFlushToDisk","reactMode","workerThreads","pageEnv","optimizeFonts","optimizeImages","optimizeCss","scrollRestoration","scriptLoader","stats","future","strictPostcssConfiguration","excludeDefaultMomentLocales","webpack5","NEXT_PRIVATE_TEST_WEBPACK5_MODE","serverRuntimeConfig","publicRuntimeConfig","reactStrictMode","experimentalWarning","Log","warn","chalk","bold","console","assignDefaults","userConfig","exportTrailingSlash","yellow","config","Object","keys","reduce","currentConfig","key","value","undefined","Error","userDistDir","trim","Array","isArray","forEach","ext","constructor","c","k","v","result","startsWith","endsWith","domains","invalid","filter","d","join","deviceSizes","imageSizes","loader","VALID_LOADERS","includes","path","i18nType","locales","defaultLocaleType","defaultLocale","invalidDomainItems","item","domain","hasInvalidLocale","locale","domainItem","map","JSON","stringify","invalidLocales","String","localeDetectionType","localeDetection","normalizeConfig","phase","then","loadConfig","dir","customConfig","findUp","sync","CONFIG_FILE","cwd","userConfigModule","require","default","slice","configFile","configBaseName","nonJsPath","isTargetLikeServerless","isServerless","isServerlessTrace"],"mappings":"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","sourcesContent":["import chalk from 'chalk'\nimport findUp from 'next/dist/compiled/find-up'\nimport os from 'os'\nimport { basename, extname } from 'path'\nimport { execOnce } from '../lib/utils'\nimport * as Log from '../../build/output/log'\nimport { CONFIG_FILE } from '../lib/constants'\nimport { Header, Rewrite, Redirect } from '../../lib/load-custom-routes'\nimport { ImageConfig, imageConfigDefault, VALID_LOADERS } from './image-config'\n\nconst targets = ['server', 'serverless', 'experimental-serverless-trace']\nconst reactModes = ['legacy', 'blocking', 'concurrent']\n\nexport type DomainLocales = Array<{\n http?: true\n domain: string\n locales?: string[]\n defaultLocale: string\n}>\n\nexport type NextConfig = { [key: string]: any } & {\n i18n?: {\n locales: string[]\n defaultLocale: string\n domains?: DomainLocales\n localeDetection?: false\n } | null\n\n headers?: () => Promise\n rewrites?: () => Promise\n redirects?: () => Promise\n\n trailingSlash?: boolean\n\n future: {\n strictPostcssConfiguration: boolean\n excludeDefaultMomentLocales: boolean\n webpack5: boolean\n }\n}\n\nconst defaultConfig: NextConfig = {\n env: [],\n webpack: null,\n webpackDevMiddleware: null,\n distDir: '.next',\n assetPrefix: '',\n configOrigin: 'default',\n useFileSystemPublicRoutes: true,\n generateBuildId: () => null,\n generateEtags: true,\n pageExtensions: ['tsx', 'ts', 'jsx', 'js'],\n target: 'server',\n poweredByHeader: true,\n compress: true,\n analyticsId: process.env.VERCEL_ANALYTICS_ID || '',\n images: imageConfigDefault,\n devIndicators: {\n buildActivity: true,\n },\n onDemandEntries: {\n maxInactiveAge: 60 * 1000,\n pagesBufferLength: 2,\n },\n amp: {\n canonicalBase: '',\n },\n basePath: '',\n sassOptions: {},\n trailingSlash: false,\n i18n: null,\n productionBrowserSourceMaps: false,\n experimental: {\n cpus: Math.max(\n 1,\n (Number(process.env.CIRCLE_NODE_TOTAL) ||\n (os.cpus() || { length: 1 }).length) - 1\n ),\n plugins: false,\n profiling: false,\n sprFlushToDisk: true,\n reactMode: 'legacy',\n workerThreads: false,\n pageEnv: false,\n optimizeFonts: false,\n optimizeImages: false,\n optimizeCss: false,\n scrollRestoration: false,\n scriptLoader: false,\n stats: false,\n },\n future: {\n strictPostcssConfiguration: false,\n excludeDefaultMomentLocales: false,\n webpack5: Number(process.env.NEXT_PRIVATE_TEST_WEBPACK5_MODE) > 0,\n },\n serverRuntimeConfig: {},\n publicRuntimeConfig: {},\n reactStrictMode: false,\n}\n\nconst experimentalWarning = execOnce(() => {\n Log.warn(chalk.bold('You have enabled experimental feature(s).'))\n Log.warn(\n `Experimental features are not covered by semver, and may cause unexpected or broken application behavior. ` +\n `Use them at your own risk.`\n )\n console.warn()\n})\n\nfunction assignDefaults(userConfig: { [key: string]: any }) {\n if (typeof userConfig.exportTrailingSlash !== 'undefined') {\n console.warn(\n chalk.yellow.bold('Warning: ') +\n 'The \"exportTrailingSlash\" option has been renamed to \"trailingSlash\". Please update your next.config.js.'\n )\n if (typeof userConfig.trailingSlash === 'undefined') {\n userConfig.trailingSlash = userConfig.exportTrailingSlash\n }\n delete userConfig.exportTrailingSlash\n }\n\n const config = Object.keys(userConfig).reduce<{ [key: string]: any }>(\n (currentConfig, key) => {\n const value = userConfig[key]\n\n if (value === undefined || value === null) {\n return currentConfig\n }\n\n if (key === 'experimental' && value && value !== defaultConfig[key]) {\n experimentalWarning()\n }\n\n if (key === 'distDir') {\n if (typeof value !== 'string') {\n throw new Error(\n `Specified distDir is not a string, found type \"${typeof value}\"`\n )\n }\n const userDistDir = value.trim()\n\n // don't allow public as the distDir as this is a reserved folder for\n // public files\n if (userDistDir === 'public') {\n throw new Error(\n `The 'public' directory is reserved in Next.js and can not be set as the 'distDir'. https://err.sh/vercel/next.js/can-not-output-to-public`\n )\n }\n // make sure distDir isn't an empty string as it can result in the provided\n // directory being deleted in development mode\n if (userDistDir.length === 0) {\n throw new Error(\n `Invalid distDir provided, distDir can not be an empty string. Please remove this config or set it to undefined`\n )\n }\n }\n\n if (key === 'pageExtensions') {\n if (!Array.isArray(value)) {\n throw new Error(\n `Specified pageExtensions is not an array of strings, found \"${value}\". Please update this config or remove it.`\n )\n }\n\n if (!value.length) {\n throw new Error(\n `Specified pageExtensions is an empty array. Please update it with the relevant extensions or remove it.`\n )\n }\n\n value.forEach((ext) => {\n if (typeof ext !== 'string') {\n throw new Error(\n `Specified pageExtensions is not an array of strings, found \"${ext}\" of type \"${typeof ext}\". Please update this config or remove it.`\n )\n }\n })\n }\n\n if (!!value && value.constructor === Object) {\n currentConfig[key] = {\n ...defaultConfig[key],\n ...Object.keys(value).reduce((c, k) => {\n const v = value[k]\n if (v !== undefined && v !== null) {\n c[k] = v\n }\n return c\n }, {}),\n }\n } else {\n currentConfig[key] = value\n }\n\n return currentConfig\n },\n {}\n )\n\n const result = { ...defaultConfig, ...config }\n\n if (typeof result.assetPrefix !== 'string') {\n throw new Error(\n `Specified assetPrefix is not a string, found type \"${typeof result.assetPrefix}\" https://err.sh/vercel/next.js/invalid-assetprefix`\n )\n }\n\n if (typeof result.basePath !== 'string') {\n throw new Error(\n `Specified basePath is not a string, found type \"${typeof result.basePath}\"`\n )\n }\n\n if (result.basePath !== '') {\n if (result.basePath === '/') {\n throw new Error(\n `Specified basePath /. basePath has to be either an empty string or a path prefix\"`\n )\n }\n\n if (!result.basePath.startsWith('/')) {\n throw new Error(\n `Specified basePath has to start with a /, found \"${result.basePath}\"`\n )\n }\n\n if (result.basePath !== '/') {\n if (result.basePath.endsWith('/')) {\n throw new Error(\n `Specified basePath should not end with /, found \"${result.basePath}\"`\n )\n }\n\n if (result.assetPrefix === '') {\n result.assetPrefix = result.basePath\n }\n\n if (result.amp.canonicalBase === '') {\n result.amp.canonicalBase = result.basePath\n }\n }\n }\n\n if (result?.images) {\n const images: Partial = result.images\n\n if (typeof images !== 'object') {\n throw new Error(\n `Specified images should be an object received ${typeof images}.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n if (images.domains) {\n if (!Array.isArray(images.domains)) {\n throw new Error(\n `Specified images.domains should be an Array received ${typeof images.domains}.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n if (images.domains.length > 50) {\n throw new Error(\n `Specified images.domains exceeds length of 50, received length (${images.domains.length}), please reduce the length of the array to continue.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n const invalid = images.domains.filter(\n (d: unknown) => typeof d !== 'string'\n )\n if (invalid.length > 0) {\n throw new Error(\n `Specified images.domains should be an Array of strings received invalid values (${invalid.join(\n ', '\n )}).\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n }\n if (images.deviceSizes) {\n const { deviceSizes } = images\n if (!Array.isArray(deviceSizes)) {\n throw new Error(\n `Specified images.deviceSizes should be an Array received ${typeof deviceSizes}.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n if (deviceSizes.length > 25) {\n throw new Error(\n `Specified images.deviceSizes exceeds length of 25, received length (${deviceSizes.length}), please reduce the length of the array to continue.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n const invalid = deviceSizes.filter((d: unknown) => {\n return typeof d !== 'number' || d < 1 || d > 10000\n })\n\n if (invalid.length > 0) {\n throw new Error(\n `Specified images.deviceSizes should be an Array of numbers that are between 1 and 10000, received invalid values (${invalid.join(\n ', '\n )}).\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n }\n if (images.imageSizes) {\n const { imageSizes } = images\n if (!Array.isArray(imageSizes)) {\n throw new Error(\n `Specified images.imageSizes should be an Array received ${typeof imageSizes}.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n if (imageSizes.length > 25) {\n throw new Error(\n `Specified images.imageSizes exceeds length of 25, received length (${imageSizes.length}), please reduce the length of the array to continue.\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n const invalid = imageSizes.filter((d: unknown) => {\n return typeof d !== 'number' || d < 1 || d > 10000\n })\n\n if (invalid.length > 0) {\n throw new Error(\n `Specified images.imageSizes should be an Array of numbers that are between 1 and 10000, received invalid values (${invalid.join(\n ', '\n )}).\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n }\n\n if (!images.loader) {\n images.loader = 'default'\n }\n\n if (!VALID_LOADERS.includes(images.loader)) {\n throw new Error(\n `Specified images.loader should be one of (${VALID_LOADERS.join(\n ', '\n )}), received invalid value (${\n images.loader\n }).\\nSee more info here: https://err.sh/next.js/invalid-images-config`\n )\n }\n\n // Append trailing slash for non-default loaders\n if (images.path) {\n if (\n images.loader !== 'default' &&\n images.path[images.path.length - 1] !== '/'\n ) {\n images.path += '/'\n }\n }\n\n if (images.path === imageConfigDefault.path && result.basePath) {\n images.path = `${result.basePath}${images.path}`\n }\n }\n\n if (result.i18n) {\n const { i18n } = result\n const i18nType = typeof i18n\n\n if (i18nType !== 'object') {\n throw new Error(\n `Specified i18n should be an object received ${i18nType}.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n if (!Array.isArray(i18n.locales)) {\n throw new Error(\n `Specified i18n.locales should be an Array received ${typeof i18n.locales}.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n const defaultLocaleType = typeof i18n.defaultLocale\n\n if (!i18n.defaultLocale || defaultLocaleType !== 'string') {\n throw new Error(\n `Specified i18n.defaultLocale should be a string.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n if (typeof i18n.domains !== 'undefined' && !Array.isArray(i18n.domains)) {\n throw new Error(\n `Specified i18n.domains must be an array of domain objects e.g. [ { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] } ] received ${typeof i18n.domains}.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n if (i18n.domains) {\n const invalidDomainItems = i18n.domains.filter((item) => {\n if (!item || typeof item !== 'object') return true\n if (!item.defaultLocale) return true\n if (!item.domain || typeof item.domain !== 'string') return true\n\n let hasInvalidLocale = false\n\n if (Array.isArray(item.locales)) {\n for (const locale of item.locales) {\n if (typeof locale !== 'string') hasInvalidLocale = true\n\n for (const domainItem of i18n.domains || []) {\n if (domainItem === item) continue\n if (domainItem.locales && domainItem.locales.includes(locale)) {\n console.warn(\n `Both ${item.domain} and ${domainItem.domain} configured the locale (${locale}) but only one can. Remove it from one i18n.domains config to continue`\n )\n hasInvalidLocale = true\n break\n }\n }\n }\n }\n\n return hasInvalidLocale\n })\n\n if (invalidDomainItems.length > 0) {\n throw new Error(\n `Invalid i18n.domains values:\\n${invalidDomainItems\n .map((item: any) => JSON.stringify(item))\n .join(\n '\\n'\n )}\\n\\ndomains value must follow format { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] }.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n }\n\n if (!Array.isArray(i18n.locales)) {\n throw new Error(\n `Specified i18n.locales must be an array of locale strings e.g. [\"en-US\", \"nl-NL\"] received ${typeof i18n.locales}.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n const invalidLocales = i18n.locales.filter(\n (locale: any) => typeof locale !== 'string'\n )\n\n if (invalidLocales.length > 0) {\n throw new Error(\n `Specified i18n.locales contains invalid values (${invalidLocales\n .map(String)\n .join(\n ', '\n )}), locales must be valid locale tags provided as strings e.g. \"en-US\".\\n` +\n `See here for list of valid language sub-tags: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry`\n )\n }\n\n if (!i18n.locales.includes(i18n.defaultLocale)) {\n throw new Error(\n `Specified i18n.defaultLocale should be included in i18n.locales.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n\n // make sure default Locale is at the front\n i18n.locales = [\n i18n.defaultLocale,\n ...i18n.locales.filter((locale) => locale !== i18n.defaultLocale),\n ]\n\n const localeDetectionType = typeof i18n.localeDetection\n\n if (\n localeDetectionType !== 'boolean' &&\n localeDetectionType !== 'undefined'\n ) {\n throw new Error(\n `Specified i18n.localeDetection should be undefined or a boolean received ${localeDetectionType}.\\nSee more info here: https://err.sh/next.js/invalid-i18n-config`\n )\n }\n }\n\n return result\n}\n\nexport function normalizeConfig(phase: string, config: any) {\n if (typeof config === 'function') {\n config = config(phase, { defaultConfig })\n\n if (typeof config.then === 'function') {\n throw new Error(\n '> Promise returned in next config. https://err.sh/vercel/next.js/promise-in-next-config'\n )\n }\n }\n return config\n}\n\nexport default function loadConfig(\n phase: string,\n dir: string,\n customConfig?: object | null\n) {\n if (customConfig) {\n return assignDefaults({ configOrigin: 'server', ...customConfig })\n }\n const path = findUp.sync(CONFIG_FILE, {\n cwd: dir,\n })\n\n // If config file was found\n if (path?.length) {\n const userConfigModule = require(path)\n const userConfig = normalizeConfig(\n phase,\n userConfigModule.default || userConfigModule\n )\n\n if (Object.keys(userConfig).length === 0) {\n Log.warn(\n 'Detected next.config.js, no exported configuration found. https://err.sh/vercel/next.js/empty-configuration'\n )\n }\n\n if (userConfig.target && !targets.includes(userConfig.target)) {\n throw new Error(\n `Specified target is invalid. Provided: \"${\n userConfig.target\n }\" should be one of ${targets.join(', ')}`\n )\n }\n\n if (userConfig.amp?.canonicalBase) {\n const { canonicalBase } = userConfig.amp || ({} as any)\n userConfig.amp = userConfig.amp || {}\n userConfig.amp.canonicalBase =\n (canonicalBase.endsWith('/')\n ? canonicalBase.slice(0, -1)\n : canonicalBase) || ''\n }\n\n if (\n userConfig.experimental?.reactMode &&\n !reactModes.includes(userConfig.experimental.reactMode)\n ) {\n throw new Error(\n `Specified React Mode is invalid. Provided: ${\n userConfig.experimental.reactMode\n } should be one of ${reactModes.join(', ')}`\n )\n }\n\n return assignDefaults({\n configOrigin: CONFIG_FILE,\n configFile: path,\n ...userConfig,\n })\n } else {\n const configBaseName = basename(CONFIG_FILE, extname(CONFIG_FILE))\n const nonJsPath = findUp.sync(\n [\n `${configBaseName}.jsx`,\n `${configBaseName}.ts`,\n `${configBaseName}.tsx`,\n `${configBaseName}.json`,\n ],\n { cwd: dir }\n )\n if (nonJsPath?.length) {\n throw new Error(\n `Configuring Next.js via '${basename(\n nonJsPath\n )}' is not supported. Please replace the file with 'next.config.js'.`\n )\n }\n }\n\n return defaultConfig\n}\n\nexport function isTargetLikeServerless(target: string) {\n const isServerless = target === 'serverless'\n const isServerlessTrace = target === 'experimental-serverless-trace'\n return isServerless || isServerlessTrace\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.d.ts b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.d.ts new file mode 100644 index 00000000..0e4406ad --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.d.ts @@ -0,0 +1,3 @@ +/// +export declare function encryptWithSecret(secret: Buffer, data: string): string; +export declare function decryptWithSecret(secret: Buffer, encryptedData: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js new file mode 100644 index 00000000..49caf833 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js @@ -0,0 +1,14 @@ +"use strict";exports.__esModule=true;exports.encryptWithSecret=encryptWithSecret;exports.decryptWithSecret=decryptWithSecret;var _crypto=_interopRequireDefault(require("crypto"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// Background: +// https://security.stackexchange.com/questions/184305/why-would-i-ever-use-aes-256-cbc-if-aes-256-gcm-is-more-secure +const CIPHER_ALGORITHM=`aes-256-gcm`,CIPHER_KEY_LENGTH=32,// https://stackoverflow.com/a/28307668/4397028 +CIPHER_IV_LENGTH=16,// https://stackoverflow.com/a/28307668/4397028 +CIPHER_TAG_LENGTH=16,CIPHER_SALT_LENGTH=64;const PBKDF2_ITERATIONS=100000;// https://support.1password.com/pbkdf2/ +function encryptWithSecret(secret,data){const iv=_crypto.default.randomBytes(CIPHER_IV_LENGTH);const salt=_crypto.default.randomBytes(CIPHER_SALT_LENGTH);// https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest +const key=_crypto.default.pbkdf2Sync(secret,salt,PBKDF2_ITERATIONS,CIPHER_KEY_LENGTH,`sha512`);const cipher=_crypto.default.createCipheriv(CIPHER_ALGORITHM,key,iv);const encrypted=Buffer.concat([cipher.update(data,`utf8`),cipher.final()]);// https://nodejs.org/api/crypto.html#crypto_cipher_getauthtag +const tag=cipher.getAuthTag();return Buffer.concat([// Data as required by: +// Salt for Key: https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest +// IV: https://nodejs.org/api/crypto.html#crypto_class_decipher +// Tag: https://nodejs.org/api/crypto.html#crypto_decipher_setauthtag_buffer +salt,iv,tag,encrypted]).toString(`hex`);}function decryptWithSecret(secret,encryptedData){const buffer=Buffer.from(encryptedData,`hex`);const salt=buffer.slice(0,CIPHER_SALT_LENGTH);const iv=buffer.slice(CIPHER_SALT_LENGTH,CIPHER_SALT_LENGTH+CIPHER_IV_LENGTH);const tag=buffer.slice(CIPHER_SALT_LENGTH+CIPHER_IV_LENGTH,CIPHER_SALT_LENGTH+CIPHER_IV_LENGTH+CIPHER_TAG_LENGTH);const encrypted=buffer.slice(CIPHER_SALT_LENGTH+CIPHER_IV_LENGTH+CIPHER_TAG_LENGTH);// https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest +const key=_crypto.default.pbkdf2Sync(secret,salt,PBKDF2_ITERATIONS,CIPHER_KEY_LENGTH,`sha512`);const decipher=_crypto.default.createDecipheriv(CIPHER_ALGORITHM,key,iv);decipher.setAuthTag(tag);return decipher.update(encrypted)+decipher.final(`utf8`);} +//# sourceMappingURL=crypto-utils.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js.map b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js.map new file mode 100644 index 00000000..a33bab0f --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/crypto-utils.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/crypto-utils.ts"],"names":["CIPHER_ALGORITHM","CIPHER_KEY_LENGTH","CIPHER_IV_LENGTH","CIPHER_TAG_LENGTH","CIPHER_SALT_LENGTH","PBKDF2_ITERATIONS","encryptWithSecret","secret","data","iv","crypto","randomBytes","salt","key","pbkdf2Sync","cipher","createCipheriv","encrypted","Buffer","concat","update","final","tag","getAuthTag","toString","decryptWithSecret","encryptedData","buffer","from","slice","decipher","createDecipheriv","setAuthTag"],"mappings":"6HAAA,sD,mFAEA;AACA;AAEA,KAAMA,CAAAA,gBAAgB,CAAI,aAA1B,CACEC,iBAAiB,CAAG,EADtB,CAC0B;AACxBC,gBAAgB,CAAG,EAFrB,CAEyB;AACvBC,iBAAiB,CAAG,EAHtB,CAIEC,kBAAkB,CAAG,EAJvB,CAMA,KAAMC,CAAAA,iBAAiB,CAAG,MAA1B,CAAkC;AAE3B,QAASC,CAAAA,iBAAT,CAA2BC,MAA3B,CAA2CC,IAA3C,CAAiE,CACtE,KAAMC,CAAAA,EAAE,CAAGC,gBAAOC,WAAP,CAAmBT,gBAAnB,CAAX,CACA,KAAMU,CAAAA,IAAI,CAAGF,gBAAOC,WAAP,CAAmBP,kBAAnB,CAAb,CAEA;AACA,KAAMS,CAAAA,GAAG,CAAGH,gBAAOI,UAAP,CACVP,MADU,CAEVK,IAFU,CAGVP,iBAHU,CAIVJ,iBAJU,CAKT,QALS,CAAZ,CAQA,KAAMc,CAAAA,MAAM,CAAGL,gBAAOM,cAAP,CAAsBhB,gBAAtB,CAAwCa,GAAxC,CAA6CJ,EAA7C,CAAf,CACA,KAAMQ,CAAAA,SAAS,CAAGC,MAAM,CAACC,MAAP,CAAc,CAACJ,MAAM,CAACK,MAAP,CAAcZ,IAAd,CAAqB,MAArB,CAAD,CAA8BO,MAAM,CAACM,KAAP,EAA9B,CAAd,CAAlB,CAEA;AACA,KAAMC,CAAAA,GAAG,CAAGP,MAAM,CAACQ,UAAP,EAAZ,CAEA,MAAOL,CAAAA,MAAM,CAACC,MAAP,CAAc,CACnB;AACA;AACA;AACA;AACAP,IALmB,CAMnBH,EANmB,CAOnBa,GAPmB,CAQnBL,SARmB,CAAd,EASJO,QATI,CASM,KATN,CAAP,CAUD,CAEM,QAASC,CAAAA,iBAAT,CACLlB,MADK,CAELmB,aAFK,CAGG,CACR,KAAMC,CAAAA,MAAM,CAAGT,MAAM,CAACU,IAAP,CAAYF,aAAZ,CAA4B,KAA5B,CAAf,CAEA,KAAMd,CAAAA,IAAI,CAAGe,MAAM,CAACE,KAAP,CAAa,CAAb,CAAgBzB,kBAAhB,CAAb,CACA,KAAMK,CAAAA,EAAE,CAAGkB,MAAM,CAACE,KAAP,CACTzB,kBADS,CAETA,kBAAkB,CAAGF,gBAFZ,CAAX,CAIA,KAAMoB,CAAAA,GAAG,CAAGK,MAAM,CAACE,KAAP,CACVzB,kBAAkB,CAAGF,gBADX,CAEVE,kBAAkB,CAAGF,gBAArB,CAAwCC,iBAF9B,CAAZ,CAIA,KAAMc,CAAAA,SAAS,CAAGU,MAAM,CAACE,KAAP,CAChBzB,kBAAkB,CAAGF,gBAArB,CAAwCC,iBADxB,CAAlB,CAIA;AACA,KAAMU,CAAAA,GAAG,CAAGH,gBAAOI,UAAP,CACVP,MADU,CAEVK,IAFU,CAGVP,iBAHU,CAIVJ,iBAJU,CAKT,QALS,CAAZ,CAQA,KAAM6B,CAAAA,QAAQ,CAAGpB,gBAAOqB,gBAAP,CAAwB/B,gBAAxB,CAA0Ca,GAA1C,CAA+CJ,EAA/C,CAAjB,CACAqB,QAAQ,CAACE,UAAT,CAAoBV,GAApB,EAEA,MAAOQ,CAAAA,QAAQ,CAACV,MAAT,CAAgBH,SAAhB,EAA6Ba,QAAQ,CAACT,KAAT,CAAgB,MAAhB,CAApC,CACD","sourcesContent":["import crypto from 'crypto'\n\n// Background:\n// https://security.stackexchange.com/questions/184305/why-would-i-ever-use-aes-256-cbc-if-aes-256-gcm-is-more-secure\n\nconst CIPHER_ALGORITHM = `aes-256-gcm`,\n CIPHER_KEY_LENGTH = 32, // https://stackoverflow.com/a/28307668/4397028\n CIPHER_IV_LENGTH = 16, // https://stackoverflow.com/a/28307668/4397028\n CIPHER_TAG_LENGTH = 16,\n CIPHER_SALT_LENGTH = 64\n\nconst PBKDF2_ITERATIONS = 100_000 // https://support.1password.com/pbkdf2/\n\nexport function encryptWithSecret(secret: Buffer, data: string): string {\n const iv = crypto.randomBytes(CIPHER_IV_LENGTH)\n const salt = crypto.randomBytes(CIPHER_SALT_LENGTH)\n\n // https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest\n const key = crypto.pbkdf2Sync(\n secret,\n salt,\n PBKDF2_ITERATIONS,\n CIPHER_KEY_LENGTH,\n `sha512`\n )\n\n const cipher = crypto.createCipheriv(CIPHER_ALGORITHM, key, iv)\n const encrypted = Buffer.concat([cipher.update(data, `utf8`), cipher.final()])\n\n // https://nodejs.org/api/crypto.html#crypto_cipher_getauthtag\n const tag = cipher.getAuthTag()\n\n return Buffer.concat([\n // Data as required by:\n // Salt for Key: https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest\n // IV: https://nodejs.org/api/crypto.html#crypto_class_decipher\n // Tag: https://nodejs.org/api/crypto.html#crypto_decipher_setauthtag_buffer\n salt,\n iv,\n tag,\n encrypted,\n ]).toString(`hex`)\n}\n\nexport function decryptWithSecret(\n secret: Buffer,\n encryptedData: string\n): string {\n const buffer = Buffer.from(encryptedData, `hex`)\n\n const salt = buffer.slice(0, CIPHER_SALT_LENGTH)\n const iv = buffer.slice(\n CIPHER_SALT_LENGTH,\n CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH\n )\n const tag = buffer.slice(\n CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH,\n CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH + CIPHER_TAG_LENGTH\n )\n const encrypted = buffer.slice(\n CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH + CIPHER_TAG_LENGTH\n )\n\n // https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest\n const key = crypto.pbkdf2Sync(\n secret,\n salt,\n PBKDF2_ITERATIONS,\n CIPHER_KEY_LENGTH,\n `sha512`\n )\n\n const decipher = crypto.createDecipheriv(CIPHER_ALGORITHM, key, iv)\n decipher.setAuthTag(tag)\n\n return decipher.update(encrypted) + decipher.final(`utf8`)\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.d.ts b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.d.ts new file mode 100644 index 00000000..dbd167fc --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.d.ts @@ -0,0 +1,2 @@ +export declare function normalizePathSep(path: string): string; +export declare function denormalizePagePath(page: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js new file mode 100644 index 00000000..2898852e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.normalizePathSep=normalizePathSep;exports.denormalizePagePath=denormalizePagePath;function normalizePathSep(path){return path.replace(/\\/g,'/');}function denormalizePagePath(page){page=normalizePathSep(page);if(page.startsWith('/index/')){page=page.slice(6);}else if(page==='/index'){page='/';}return page;} +//# sourceMappingURL=denormalize-page-path.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js.map b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js.map new file mode 100644 index 00000000..0274edad --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/denormalize-page-path.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/denormalize-page-path.ts"],"names":["normalizePathSep","path","replace","denormalizePagePath","page","startsWith","slice"],"mappings":"+HAAO,QAASA,CAAAA,gBAAT,CAA0BC,IAA1B,CAAgD,CACrD,MAAOA,CAAAA,IAAI,CAACC,OAAL,CAAa,KAAb,CAAoB,GAApB,CAAP,CACD,CAEM,QAASC,CAAAA,mBAAT,CAA6BC,IAA7B,CAA2C,CAChDA,IAAI,CAAGJ,gBAAgB,CAACI,IAAD,CAAvB,CACA,GAAIA,IAAI,CAACC,UAAL,CAAgB,SAAhB,CAAJ,CAAgC,CAC9BD,IAAI,CAAGA,IAAI,CAACE,KAAL,CAAW,CAAX,CAAP,CACD,CAFD,IAEO,IAAIF,IAAI,GAAK,QAAb,CAAuB,CAC5BA,IAAI,CAAG,GAAP,CACD,CACD,MAAOA,CAAAA,IAAP,CACD","sourcesContent":["export function normalizePathSep(path: string): string {\n return path.replace(/\\\\/g, '/')\n}\n\nexport function denormalizePagePath(page: string) {\n page = normalizePathSep(page)\n if (page.startsWith('/index/')) {\n page = page.slice(6)\n } else if (page === '/index') {\n page = '/'\n }\n return page\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/font-utils.d.ts b/ninjalist/node_modules/next/dist/next-server/server/font-utils.d.ts new file mode 100644 index 00000000..ffa87dd4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/font-utils.d.ts @@ -0,0 +1,6 @@ +export declare type FontManifest = Array<{ + url: string; + content: string; +}>; +export declare function getFontDefinitionFromNetwork(url: string): Promise; +export declare function getFontDefinitionFromManifest(url: string, manifest: FontManifest): string; diff --git a/ninjalist/node_modules/next/dist/next-server/server/font-utils.js b/ninjalist/node_modules/next/dist/next-server/server/font-utils.js new file mode 100644 index 00000000..53507630 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/font-utils.js @@ -0,0 +1,5 @@ +"use strict";exports.__esModule=true;exports.getFontDefinitionFromNetwork=getFontDefinitionFromNetwork;exports.getFontDefinitionFromManifest=getFontDefinitionFromManifest;const https=require('https');const CHROME_UA='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36';const IE_UA='Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko';function getFontForUA(url,UA){return new Promise(resolve=>{let rawData='';https.get(url,{headers:{'user-agent':UA}},res=>{res.on('data',chunk=>{rawData+=chunk;});res.on('end',()=>{resolve(rawData.toString('utf8'));});});});}async function getFontDefinitionFromNetwork(url){let result='';/** + * The order of IE -> Chrome is important, other wise chrome starts loading woff1. + * CSS cascading 🤷‍♂️. + */result+=await getFontForUA(url,IE_UA);result+=await getFontForUA(url,CHROME_UA);return result;}function getFontDefinitionFromManifest(url,manifest){var _manifest$find;return((_manifest$find=manifest.find(font=>{if(font&&font.url===url){return true;}return false;}))==null?void 0:_manifest$find.content)||'';} +//# sourceMappingURL=font-utils.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/font-utils.js.map b/ninjalist/node_modules/next/dist/next-server/server/font-utils.js.map new file mode 100644 index 00000000..31a72ba1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/font-utils.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/font-utils.ts"],"names":["https","require","CHROME_UA","IE_UA","getFontForUA","url","UA","Promise","resolve","rawData","get","headers","res","on","chunk","toString","getFontDefinitionFromNetwork","result","getFontDefinitionFromManifest","manifest","find","font","content"],"mappings":"2KAAA,KAAMA,CAAAA,KAAK,CAAGC,OAAO,CAAC,OAAD,CAArB,CAEA,KAAMC,CAAAA,SAAS,CACb,0HADF,CAEA,KAAMC,CAAAA,KAAK,CAAG,gEAAd,CAOA,QAASC,CAAAA,YAAT,CAAsBC,GAAtB,CAAmCC,EAAnC,CAAgE,CAC9D,MAAO,IAAIC,CAAAA,OAAJ,CAAaC,OAAD,EAAa,CAC9B,GAAIC,CAAAA,OAAY,CAAG,EAAnB,CACAT,KAAK,CAACU,GAAN,CACEL,GADF,CAEE,CACEM,OAAO,CAAE,CACP,aAAcL,EADP,CADX,CAFF,CAOGM,GAAD,EAAc,CACZA,GAAG,CAACC,EAAJ,CAAO,MAAP,CAAgBC,KAAD,EAAgB,CAC7BL,OAAO,EAAIK,KAAX,CACD,CAFD,EAGAF,GAAG,CAACC,EAAJ,CAAO,KAAP,CAAc,IAAM,CAClBL,OAAO,CAACC,OAAO,CAACM,QAAR,CAAiB,MAAjB,CAAD,CAAP,CACD,CAFD,EAGD,CAdH,EAgBD,CAlBM,CAAP,CAmBD,CAEM,cAAeC,CAAAA,4BAAf,CACLX,GADK,CAEY,CACjB,GAAIY,CAAAA,MAAM,CAAG,EAAb,CACA;AACF;AACA;AACA,KACEA,MAAM,EAAI,KAAMb,CAAAA,YAAY,CAACC,GAAD,CAAMF,KAAN,CAA5B,CACAc,MAAM,EAAI,KAAMb,CAAAA,YAAY,CAACC,GAAD,CAAMH,SAAN,CAA5B,CACA,MAAOe,CAAAA,MAAP,CACD,CAEM,QAASC,CAAAA,6BAAT,CACLb,GADK,CAELc,QAFK,CAGG,oBACR,MACE,iBAAAA,QAAQ,CAACC,IAAT,CAAeC,IAAD,EAAU,CACtB,GAAIA,IAAI,EAAIA,IAAI,CAAChB,GAAL,GAAaA,GAAzB,CAA8B,CAC5B,MAAO,KAAP,CACD,CACD,MAAO,MAAP,CACD,CALD,+BAKIiB,OALJ,GAKe,EANjB,CAQD","sourcesContent":["const https = require('https')\n\nconst CHROME_UA =\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'\nconst IE_UA = 'Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko'\n\nexport type FontManifest = Array<{\n url: string\n content: string\n}>\n\nfunction getFontForUA(url: string, UA: string): Promise {\n return new Promise((resolve) => {\n let rawData: any = ''\n https.get(\n url,\n {\n headers: {\n 'user-agent': UA,\n },\n },\n (res: any) => {\n res.on('data', (chunk: any) => {\n rawData += chunk\n })\n res.on('end', () => {\n resolve(rawData.toString('utf8'))\n })\n }\n )\n })\n}\n\nexport async function getFontDefinitionFromNetwork(\n url: string\n): Promise {\n let result = ''\n /**\n * The order of IE -> Chrome is important, other wise chrome starts loading woff1.\n * CSS cascading 🤷‍♂️.\n */\n result += await getFontForUA(url, IE_UA)\n result += await getFontForUA(url, CHROME_UA)\n return result\n}\n\nexport function getFontDefinitionFromManifest(\n url: string,\n manifest: FontManifest\n): string {\n return (\n manifest.find((font) => {\n if (font && font.url === url) {\n return true\n }\n return false\n })?.content || ''\n )\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-page-files.d.ts b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.d.ts new file mode 100644 index 00000000..a2a4cf12 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.d.ts @@ -0,0 +1,12 @@ +export declare type BuildManifest = { + devFiles: readonly string[]; + ampDevFiles: readonly string[]; + polyfillFiles: readonly string[]; + lowPriorityFiles: readonly string[]; + pages: { + '/_app': readonly string[]; + [page: string]: readonly string[]; + }; + ampFirstPages: readonly string[]; +}; +export declare function getPageFiles(buildManifest: BuildManifest, page: string): readonly string[]; diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js new file mode 100644 index 00000000..28720126 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.getPageFiles=getPageFiles;var _normalizePagePath=require("./normalize-page-path");function getPageFiles(buildManifest,page){const normalizedPage=(0,_normalizePagePath.denormalizePagePath)((0,_normalizePagePath.normalizePagePath)(page));let files=buildManifest.pages[normalizedPage];if(!files){console.warn(`Could not find files for ${normalizedPage} in .next/build-manifest.json`);return[];}return files;} +//# sourceMappingURL=get-page-files.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js.map b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js.map new file mode 100644 index 00000000..f993583a --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-page-files.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/get-page-files.ts"],"names":["getPageFiles","buildManifest","page","normalizedPage","files","pages","console","warn"],"mappings":"uEAAA,wDAcO,QAASA,CAAAA,YAAT,CACLC,aADK,CAELC,IAFK,CAGc,CACnB,KAAMC,CAAAA,cAAc,CAAG,2CAAoB,yCAAkBD,IAAlB,CAApB,CAAvB,CACA,GAAIE,CAAAA,KAAK,CAAGH,aAAa,CAACI,KAAd,CAAoBF,cAApB,CAAZ,CAEA,GAAI,CAACC,KAAL,CAAY,CACVE,OAAO,CAACC,IAAR,CACG,4BAA2BJ,cAAe,+BAD7C,EAGA,MAAO,EAAP,CACD,CAED,MAAOC,CAAAA,KAAP,CACD","sourcesContent":["import { normalizePagePath, denormalizePagePath } from './normalize-page-path'\n\nexport type BuildManifest = {\n devFiles: readonly string[]\n ampDevFiles: readonly string[]\n polyfillFiles: readonly string[]\n lowPriorityFiles: readonly string[]\n pages: {\n '/_app': readonly string[]\n [page: string]: readonly string[]\n }\n ampFirstPages: readonly string[]\n}\n\nexport function getPageFiles(\n buildManifest: BuildManifest,\n page: string\n): readonly string[] {\n const normalizedPage = denormalizePagePath(normalizePagePath(page))\n let files = buildManifest.pages[normalizedPage]\n\n if (!files) {\n console.warn(\n `Could not find files for ${normalizedPage} in .next/build-manifest.json`\n )\n return []\n }\n\n return files\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.d.ts b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.d.ts new file mode 100644 index 00000000..7743baa0 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.d.ts @@ -0,0 +1 @@ +export default function getRouteFromEntrypoint(entryFile: string, _isServerlessLike?: boolean): string | null; diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js new file mode 100644 index 00000000..86164c62 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js @@ -0,0 +1,6 @@ +"use strict";exports.__esModule=true;exports.default=getRouteFromEntrypoint;var _getRouteFromAssetPath=_interopRequireDefault(require("../lib/router/utils/get-route-from-asset-path"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// matches pages/:page*.js +const SERVER_ROUTE_NAME_REGEX=/^pages[/\\](.*)$/;// matches static/pages/:page*.js +const BROWSER_ROUTE_NAME_REGEX=/^static[/\\]pages[/\\](.*)$/;function matchBundle(regex,input){const result=regex.exec(input);if(!result){return null;}return(0,_getRouteFromAssetPath.default)(`/${result[1]}`);}function getRouteFromEntrypoint(entryFile,// TODO: Remove this parameter +_isServerlessLike=false){let pagePath=matchBundle(SERVER_ROUTE_NAME_REGEX,entryFile);if(pagePath){return pagePath;}// Potentially the passed item is a browser bundle so we try to match that also +return matchBundle(BROWSER_ROUTE_NAME_REGEX,entryFile);} +//# sourceMappingURL=get-route-from-entrypoint.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js.map b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js.map new file mode 100644 index 00000000..afaeb12f --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/get-route-from-entrypoint.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/get-route-from-entrypoint.ts"],"names":["SERVER_ROUTE_NAME_REGEX","BROWSER_ROUTE_NAME_REGEX","matchBundle","regex","input","result","exec","getRouteFromEntrypoint","entryFile","_isServerlessLike","pagePath"],"mappings":"4EAAA,4G,mFAEA;AACA,KAAMA,CAAAA,uBAAuB,CAAG,kBAAhC,CACA;AACA,KAAMC,CAAAA,wBAAwB,CAAG,6BAAjC,CAEA,QAASC,CAAAA,WAAT,CAAqBC,KAArB,CAAoCC,KAApC,CAAkE,CAChE,KAAMC,CAAAA,MAAM,CAAGF,KAAK,CAACG,IAAN,CAAWF,KAAX,CAAf,CAEA,GAAI,CAACC,MAAL,CAAa,CACX,MAAO,KAAP,CACD,CAED,MAAO,mCAAuB,IAAGA,MAAM,CAAC,CAAD,CAAI,EAApC,CAAP,CACD,CAEc,QAASE,CAAAA,sBAAT,CACbC,SADa,CAEb;AACAC,iBAA0B,CAAG,KAHhB,CAIE,CACf,GAAIC,CAAAA,QAAQ,CAAGR,WAAW,CAACF,uBAAD,CAA0BQ,SAA1B,CAA1B,CAEA,GAAIE,QAAJ,CAAc,CACZ,MAAOA,CAAAA,QAAP,CACD,CAED;AACA,MAAOR,CAAAA,WAAW,CAACD,wBAAD,CAA2BO,SAA3B,CAAlB,CACD","sourcesContent":["import getRouteFromAssetPath from '../lib/router/utils/get-route-from-asset-path'\n\n// matches pages/:page*.js\nconst SERVER_ROUTE_NAME_REGEX = /^pages[/\\\\](.*)$/\n// matches static/pages/:page*.js\nconst BROWSER_ROUTE_NAME_REGEX = /^static[/\\\\]pages[/\\\\](.*)$/\n\nfunction matchBundle(regex: RegExp, input: string): string | null {\n const result = regex.exec(input)\n\n if (!result) {\n return null\n }\n\n return getRouteFromAssetPath(`/${result[1]}`)\n}\n\nexport default function getRouteFromEntrypoint(\n entryFile: string,\n // TODO: Remove this parameter\n _isServerlessLike: boolean = false\n): string | null {\n let pagePath = matchBundle(SERVER_ROUTE_NAME_REGEX, entryFile)\n\n if (pagePath) {\n return pagePath\n }\n\n // Potentially the passed item is a browser bundle so we try to match that also\n return matchBundle(BROWSER_ROUTE_NAME_REGEX, entryFile)\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-config.d.ts b/ninjalist/node_modules/next/dist/next-server/server/image-config.d.ts new file mode 100644 index 00000000..669d2fc3 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-config.d.ts @@ -0,0 +1,10 @@ +export declare const VALID_LOADERS: readonly ["default", "imgix", "cloudinary", "akamai"]; +export declare type LoaderValue = typeof VALID_LOADERS[number]; +export declare type ImageConfig = { + deviceSizes: number[]; + imageSizes: number[]; + loader: LoaderValue; + path: string; + domains?: string[]; +}; +export declare const imageConfigDefault: ImageConfig; diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-config.js b/ninjalist/node_modules/next/dist/next-server/server/image-config.js new file mode 100644 index 00000000..5c8307cd --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-config.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.imageConfigDefault=exports.VALID_LOADERS=void 0;const VALID_LOADERS=['default','imgix','cloudinary','akamai'];exports.VALID_LOADERS=VALID_LOADERS;const imageConfigDefault={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:'/_next/image',loader:'default',domains:[]};exports.imageConfigDefault=imageConfigDefault; +//# sourceMappingURL=image-config.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-config.js.map b/ninjalist/node_modules/next/dist/next-server/server/image-config.js.map new file mode 100644 index 00000000..ee048834 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-config.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/image-config.ts"],"names":["VALID_LOADERS","imageConfigDefault","deviceSizes","imageSizes","path","loader","domains"],"mappings":"6FAAO,KAAMA,CAAAA,aAAa,CAAG,CAC3B,SAD2B,CAE3B,OAF2B,CAG3B,YAH2B,CAI3B,QAJ2B,CAAtB,C,oCAiBA,KAAMC,CAAAA,kBAA+B,CAAG,CAC7CC,WAAW,CAAE,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,IAAtB,CAA4B,IAA5B,CAAkC,IAAlC,CAAwC,IAAxC,CADgC,CAE7CC,UAAU,CAAE,CAAC,EAAD,CAAK,EAAL,CAAS,EAAT,CAAa,EAAb,CAAiB,EAAjB,CAAqB,GAArB,CAA0B,GAA1B,CAA+B,GAA/B,CAFiC,CAG7CC,IAAI,CAAE,cAHuC,CAI7CC,MAAM,CAAE,SAJqC,CAK7CC,OAAO,CAAE,EALoC,CAAxC,C","sourcesContent":["export const VALID_LOADERS = [\n 'default',\n 'imgix',\n 'cloudinary',\n 'akamai',\n] as const\n\nexport type LoaderValue = typeof VALID_LOADERS[number]\n\nexport type ImageConfig = {\n deviceSizes: number[]\n imageSizes: number[]\n loader: LoaderValue\n path: string\n domains?: string[]\n}\n\nexport const imageConfigDefault: ImageConfig = {\n deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],\n path: '/_next/image',\n loader: 'default',\n domains: [],\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.d.ts b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.d.ts new file mode 100644 index 00000000..5ae6f104 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.d.ts @@ -0,0 +1,8 @@ +/// +import { UrlWithParsedQuery } from 'url'; +import { IncomingMessage, ServerResponse } from 'http'; +import Server from './next-server'; +export declare function imageOptimizer(server: Server, req: IncomingMessage, res: ServerResponse, parsedUrl: UrlWithParsedQuery): Promise<{ + finished: boolean; +}>; +export declare function getMaxAge(str: string | null): number; diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js new file mode 100644 index 00000000..57577f9b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js @@ -0,0 +1,10 @@ +"use strict";exports.__esModule=true;exports.imageOptimizer=imageOptimizer;exports.getMaxAge=getMaxAge;var _url=_interopRequireDefault(require("url"));var _path=require("path");var _accept=require("@hapi/accept");var _fs=require("fs");var _crypto=require("crypto");var _serveStatic=require("./serve-static");var _fileExists=require("../../lib/file-exists");var _isAnimated=_interopRequireDefault(require("next/dist/compiled/is-animated"));var _stream=_interopRequireDefault(require("stream"));var _sendPayload=require("./send-payload");var _imageConfig=require("./image-config");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// @ts-ignore no types for is-animated +let sharp;//const AVIF = 'image/avif' +const WEBP='image/webp';const PNG='image/png';const JPEG='image/jpeg';const GIF='image/gif';const SVG='image/svg+xml';const CACHE_VERSION=2;const MODERN_TYPES=[/* AVIF, */WEBP];const ANIMATABLE_TYPES=[WEBP,PNG,GIF];const VECTOR_TYPES=[SVG];async function imageOptimizer(server,req,res,parsedUrl){var _upstreamType;const{nextConfig,distDir}=server;const imageData=nextConfig.images||_imageConfig.imageConfigDefault;const{deviceSizes=[],imageSizes=[],domains=[],loader}=imageData;if(loader!=='default'){await server.render404(req,res,parsedUrl);return{finished:true};}const{headers}=req;const{url,w,q}=parsedUrl.query;const mimeType=getSupportedMimeType(MODERN_TYPES,headers.accept);let href;if(!url){res.statusCode=400;res.end('"url" parameter is required');return{finished:true};}else if(Array.isArray(url)){res.statusCode=400;res.end('"url" parameter cannot be an array');return{finished:true};}let isAbsolute;if(url.startsWith('/')){href=url;isAbsolute=false;}else{let hrefParsed;try{hrefParsed=new URL(url);href=hrefParsed.toString();isAbsolute=true;}catch(_error){res.statusCode=400;res.end('"url" parameter is invalid');return{finished:true};}if(!['http:','https:'].includes(hrefParsed.protocol)){res.statusCode=400;res.end('"url" parameter is invalid');return{finished:true};}if(!domains.includes(hrefParsed.hostname)){res.statusCode=400;res.end('"url" parameter is not allowed');return{finished:true};}}if(!w){res.statusCode=400;res.end('"w" parameter (width) is required');return{finished:true};}else if(Array.isArray(w)){res.statusCode=400;res.end('"w" parameter (width) cannot be an array');return{finished:true};}if(!q){res.statusCode=400;res.end('"q" parameter (quality) is required');return{finished:true};}else if(Array.isArray(q)){res.statusCode=400;res.end('"q" parameter (quality) cannot be an array');return{finished:true};}const width=parseInt(w,10);if(!width||isNaN(width)){res.statusCode=400;res.end('"w" parameter (width) must be a number greater than 0');return{finished:true};}const sizes=[...deviceSizes,...imageSizes];if(!sizes.includes(width)){res.statusCode=400;res.end(`"w" parameter (width) of ${width} is not allowed`);return{finished:true};}const quality=parseInt(q);if(isNaN(quality)||quality<1||quality>100){res.statusCode=400;res.end('"q" parameter (quality) must be a number between 1 and 100');return{finished:true};}const hash=getHash([CACHE_VERSION,href,width,quality,mimeType]);const imagesDir=(0,_path.join)(distDir,'cache','images');const hashDir=(0,_path.join)(imagesDir,hash);const now=Date.now();if(await(0,_fileExists.fileExists)(hashDir,'directory')){const files=await _fs.promises.readdir(hashDir);for(let file of files){const[prefix,etag,extension]=file.split('.');const expireAt=Number(prefix);const contentType=(0,_serveStatic.getContentType)(extension);const fsPath=(0,_path.join)(hashDir,file);if(now{resBuffers.push(Buffer.isBuffer(chunk)?chunk:Buffer.from(chunk));};mockRes._write=chunk=>{mockRes.write(chunk);};const mockHeaders={};mockRes.writeHead=(_status,_headers)=>Object.assign(mockHeaders,_headers);mockRes.getHeader=name=>mockHeaders[name.toLowerCase()];mockRes.getHeaders=()=>mockHeaders;mockRes.getHeaderNames=()=>Object.keys(mockHeaders);mockRes.setHeader=(name,value)=>mockHeaders[name.toLowerCase()]=value;mockRes._implicitHeader=()=>{};mockRes.finished=false;mockRes.statusCode=200;await server.getRequestHandler()(_req,mockRes,_url.default.parse(href,true));res.statusCode=mockRes.statusCode;upstreamBuffer=Buffer.concat(resBuffers);upstreamType=mockRes.getHeader('Content-Type');maxAge=getMaxAge(mockRes.getHeader('Cache-Control'));}catch(err){res.statusCode=500;res.end('"url" parameter is valid but upstream response is invalid');return{finished:true};}}const expireAt=maxAge*1000+now;if(upstreamType){const vector=VECTOR_TYPES.includes(upstreamType);const animate=ANIMATABLE_TYPES.includes(upstreamType)&&(0,_isAnimated.default)(upstreamBuffer);if(vector||animate){await writeToCacheDir(hashDir,upstreamType,expireAt,upstreamBuffer);sendResponse(req,res,upstreamType,upstreamBuffer);return{finished:true};}}let contentType;if(mimeType){contentType=mimeType;}else if((_upstreamType=upstreamType)!=null&&_upstreamType.startsWith('image/')&&(0,_serveStatic.getExtension)(upstreamType)){contentType=upstreamType;}else{contentType=JPEG;}if(!sharp){try{// eslint-disable-next-line import/no-extraneous-dependencies +sharp=require('sharp');}catch(error){if(error.code==='MODULE_NOT_FOUND'){error.message+='\n\nLearn more: https://err.sh/next.js/install-sharp';server.logError(error);sendResponse(req,res,upstreamType,upstreamBuffer);return{finished:true};}throw error;}}try{const transformer=sharp(upstreamBuffer);transformer.rotate();// auto rotate based on EXIF data +const{width:metaWidth}=await transformer.metadata();if(metaWidth&&metaWidth>width){transformer.resize(width);}//if (contentType === AVIF) { +// Soon https://github.com/lovell/sharp/issues/2289 +//} +if(contentType===WEBP){transformer.webp({quality});}else if(contentType===PNG){transformer.png({quality});}else if(contentType===JPEG){transformer.jpeg({quality});}const optimizedBuffer=await transformer.toBuffer();await writeToCacheDir(hashDir,contentType,expireAt,optimizedBuffer);sendResponse(req,res,contentType,optimizedBuffer);}catch(error){sendResponse(req,res,upstreamType,upstreamBuffer);}return{finished:true};}async function writeToCacheDir(dir,contentType,expireAt,buffer){await _fs.promises.mkdir(dir,{recursive:true});const extension=(0,_serveStatic.getExtension)(contentType);const etag=getHash([buffer]);const filename=(0,_path.join)(dir,`${expireAt}.${etag}.${extension}`);await _fs.promises.writeFile(filename,buffer);}function sendResponse(req,res,contentType,buffer){const etag=getHash([buffer]);res.setHeader('Cache-Control','public, max-age=0, must-revalidate');if((0,_sendPayload.sendEtagResponse)(req,res,etag)){return;}if(contentType){res.setHeader('Content-Type',contentType);}res.end(buffer);}function getSupportedMimeType(options,accept=''){const mimeType=(0,_accept.mediaType)(accept,options);return accept.includes(mimeType)?mimeType:'';}function getHash(items){const hash=(0,_crypto.createHash)('sha256');for(let item of items){if(typeof item==='number')hash.update(String(item));else{hash.update(item);}}// See https://en.wikipedia.org/wiki/Base64#Filenames +return hash.digest('base64').replace(/\//g,'-');}function parseCacheControl(str){const map=new Map();if(!str){return map;}for(let directive of str.split(',')){let[key,value]=directive.trim().split('=');key=key.toLowerCase();if(value){value=value.toLowerCase();}map.set(key,value);}return map;}function getMaxAge(str){const minimum=60;const map=parseCacheControl(str);if(map){let age=map.get('s-maxage')||map.get('max-age')||'';if(age.startsWith('"')&&age.endsWith('"')){age=age.slice(1,-1);}const n=parseInt(age,10);if(!isNaN(n)){return Math.max(n,minimum);}}return minimum;} +//# sourceMappingURL=image-optimizer.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js.map b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js.map new file mode 100644 index 00000000..c0b9577d --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/image-optimizer.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/image-optimizer.ts"],"names":["sharp","WEBP","PNG","JPEG","GIF","SVG","CACHE_VERSION","MODERN_TYPES","ANIMATABLE_TYPES","VECTOR_TYPES","imageOptimizer","server","req","res","parsedUrl","nextConfig","distDir","imageData","images","imageConfigDefault","deviceSizes","imageSizes","domains","loader","render404","finished","headers","url","w","q","query","mimeType","getSupportedMimeType","accept","href","statusCode","end","Array","isArray","isAbsolute","startsWith","hrefParsed","URL","toString","_error","includes","protocol","hostname","width","parseInt","isNaN","sizes","quality","hash","getHash","imagesDir","hashDir","now","Date","files","promises","readdir","file","prefix","etag","extension","split","expireAt","Number","contentType","fsPath","setHeader","pipe","unlink","upstreamBuffer","upstreamType","maxAge","upstreamRes","fetch","ok","status","Buffer","from","arrayBuffer","get","getMaxAge","_req","method","resBuffers","mockRes","Stream","Writable","write","chunk","push","isBuffer","_write","mockHeaders","writeHead","_status","_headers","Object","assign","getHeader","name","toLowerCase","getHeaders","getHeaderNames","keys","value","_implicitHeader","getRequestHandler","nodeUrl","parse","concat","err","vector","animate","writeToCacheDir","sendResponse","require","error","code","message","logError","transformer","rotate","metaWidth","metadata","resize","webp","png","jpeg","optimizedBuffer","toBuffer","dir","buffer","mkdir","recursive","filename","writeFile","options","items","item","update","String","digest","replace","parseCacheControl","str","map","Map","directive","key","trim","set","minimum","age","endsWith","slice","n","Math","max"],"mappings":"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","sourcesContent":["import nodeUrl, { UrlWithParsedQuery } from 'url'\nimport { IncomingMessage, ServerResponse } from 'http'\nimport { join } from 'path'\nimport { mediaType } from '@hapi/accept'\nimport { createReadStream, promises } from 'fs'\nimport { createHash } from 'crypto'\nimport Server from './next-server'\nimport { getContentType, getExtension } from './serve-static'\nimport { fileExists } from '../../lib/file-exists'\n// @ts-ignore no types for is-animated\nimport isAnimated from 'next/dist/compiled/is-animated'\nimport Stream from 'stream'\nimport { sendEtagResponse } from './send-payload'\nimport { ImageConfig, imageConfigDefault } from './image-config'\n\nlet sharp: typeof import('sharp')\n//const AVIF = 'image/avif'\nconst WEBP = 'image/webp'\nconst PNG = 'image/png'\nconst JPEG = 'image/jpeg'\nconst GIF = 'image/gif'\nconst SVG = 'image/svg+xml'\nconst CACHE_VERSION = 2\nconst MODERN_TYPES = [/* AVIF, */ WEBP]\nconst ANIMATABLE_TYPES = [WEBP, PNG, GIF]\nconst VECTOR_TYPES = [SVG]\n\nexport async function imageOptimizer(\n server: Server,\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl: UrlWithParsedQuery\n) {\n const { nextConfig, distDir } = server\n const imageData: ImageConfig = nextConfig.images || imageConfigDefault\n const { deviceSizes = [], imageSizes = [], domains = [], loader } = imageData\n\n if (loader !== 'default') {\n await server.render404(req, res, parsedUrl)\n return { finished: true }\n }\n\n const { headers } = req\n const { url, w, q } = parsedUrl.query\n const mimeType = getSupportedMimeType(MODERN_TYPES, headers.accept)\n let href: string\n\n if (!url) {\n res.statusCode = 400\n res.end('\"url\" parameter is required')\n return { finished: true }\n } else if (Array.isArray(url)) {\n res.statusCode = 400\n res.end('\"url\" parameter cannot be an array')\n return { finished: true }\n }\n\n let isAbsolute: boolean\n\n if (url.startsWith('/')) {\n href = url\n isAbsolute = false\n } else {\n let hrefParsed: URL\n\n try {\n hrefParsed = new URL(url)\n href = hrefParsed.toString()\n isAbsolute = true\n } catch (_error) {\n res.statusCode = 400\n res.end('\"url\" parameter is invalid')\n return { finished: true }\n }\n\n if (!['http:', 'https:'].includes(hrefParsed.protocol)) {\n res.statusCode = 400\n res.end('\"url\" parameter is invalid')\n return { finished: true }\n }\n\n if (!domains.includes(hrefParsed.hostname)) {\n res.statusCode = 400\n res.end('\"url\" parameter is not allowed')\n return { finished: true }\n }\n }\n\n if (!w) {\n res.statusCode = 400\n res.end('\"w\" parameter (width) is required')\n return { finished: true }\n } else if (Array.isArray(w)) {\n res.statusCode = 400\n res.end('\"w\" parameter (width) cannot be an array')\n return { finished: true }\n }\n\n if (!q) {\n res.statusCode = 400\n res.end('\"q\" parameter (quality) is required')\n return { finished: true }\n } else if (Array.isArray(q)) {\n res.statusCode = 400\n res.end('\"q\" parameter (quality) cannot be an array')\n return { finished: true }\n }\n\n const width = parseInt(w, 10)\n\n if (!width || isNaN(width)) {\n res.statusCode = 400\n res.end('\"w\" parameter (width) must be a number greater than 0')\n return { finished: true }\n }\n\n const sizes = [...deviceSizes, ...imageSizes]\n\n if (!sizes.includes(width)) {\n res.statusCode = 400\n res.end(`\"w\" parameter (width) of ${width} is not allowed`)\n return { finished: true }\n }\n\n const quality = parseInt(q)\n\n if (isNaN(quality) || quality < 1 || quality > 100) {\n res.statusCode = 400\n res.end('\"q\" parameter (quality) must be a number between 1 and 100')\n return { finished: true }\n }\n\n const hash = getHash([CACHE_VERSION, href, width, quality, mimeType])\n const imagesDir = join(distDir, 'cache', 'images')\n const hashDir = join(imagesDir, hash)\n const now = Date.now()\n\n if (await fileExists(hashDir, 'directory')) {\n const files = await promises.readdir(hashDir)\n for (let file of files) {\n const [prefix, etag, extension] = file.split('.')\n const expireAt = Number(prefix)\n const contentType = getContentType(extension)\n const fsPath = join(hashDir, file)\n if (now < expireAt) {\n res.setHeader('Cache-Control', 'public, max-age=0, must-revalidate')\n if (sendEtagResponse(req, res, etag)) {\n return { finished: true }\n }\n if (contentType) {\n res.setHeader('Content-Type', contentType)\n }\n createReadStream(fsPath).pipe(res)\n return { finished: true }\n } else {\n await promises.unlink(fsPath)\n }\n }\n }\n\n let upstreamBuffer: Buffer\n let upstreamType: string | null\n let maxAge: number\n\n if (isAbsolute) {\n const upstreamRes = await fetch(href)\n\n if (!upstreamRes.ok) {\n res.statusCode = upstreamRes.status\n res.end('\"url\" parameter is valid but upstream response is invalid')\n return { finished: true }\n }\n\n res.statusCode = upstreamRes.status\n upstreamBuffer = Buffer.from(await upstreamRes.arrayBuffer())\n upstreamType = upstreamRes.headers.get('Content-Type')\n maxAge = getMaxAge(upstreamRes.headers.get('Cache-Control'))\n } else {\n try {\n const _req: any = {\n headers: req.headers,\n method: req.method,\n url: href,\n }\n const resBuffers: Buffer[] = []\n const mockRes: any = new Stream.Writable()\n\n mockRes.write = (chunk: Buffer | string) => {\n resBuffers.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk))\n }\n mockRes._write = (chunk: Buffer | string) => {\n mockRes.write(chunk)\n }\n\n const mockHeaders: Record = {}\n\n mockRes.writeHead = (_status: any, _headers: any) =>\n Object.assign(mockHeaders, _headers)\n mockRes.getHeader = (name: string) => mockHeaders[name.toLowerCase()]\n mockRes.getHeaders = () => mockHeaders\n mockRes.getHeaderNames = () => Object.keys(mockHeaders)\n mockRes.setHeader = (name: string, value: string | string[]) =>\n (mockHeaders[name.toLowerCase()] = value)\n mockRes._implicitHeader = () => {}\n mockRes.finished = false\n mockRes.statusCode = 200\n\n await server.getRequestHandler()(_req, mockRes, nodeUrl.parse(href, true))\n res.statusCode = mockRes.statusCode\n\n upstreamBuffer = Buffer.concat(resBuffers)\n upstreamType = mockRes.getHeader('Content-Type')\n maxAge = getMaxAge(mockRes.getHeader('Cache-Control'))\n } catch (err) {\n res.statusCode = 500\n res.end('\"url\" parameter is valid but upstream response is invalid')\n return { finished: true }\n }\n }\n\n const expireAt = maxAge * 1000 + now\n\n if (upstreamType) {\n const vector = VECTOR_TYPES.includes(upstreamType)\n const animate =\n ANIMATABLE_TYPES.includes(upstreamType) && isAnimated(upstreamBuffer)\n if (vector || animate) {\n await writeToCacheDir(hashDir, upstreamType, expireAt, upstreamBuffer)\n sendResponse(req, res, upstreamType, upstreamBuffer)\n return { finished: true }\n }\n }\n\n let contentType: string\n\n if (mimeType) {\n contentType = mimeType\n } else if (upstreamType?.startsWith('image/') && getExtension(upstreamType)) {\n contentType = upstreamType\n } else {\n contentType = JPEG\n }\n\n if (!sharp) {\n try {\n // eslint-disable-next-line import/no-extraneous-dependencies\n sharp = require('sharp')\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n error.message += '\\n\\nLearn more: https://err.sh/next.js/install-sharp'\n server.logError(error)\n sendResponse(req, res, upstreamType, upstreamBuffer)\n return { finished: true }\n }\n throw error\n }\n }\n\n try {\n const transformer = sharp(upstreamBuffer)\n transformer.rotate() // auto rotate based on EXIF data\n\n const { width: metaWidth } = await transformer.metadata()\n\n if (metaWidth && metaWidth > width) {\n transformer.resize(width)\n }\n\n //if (contentType === AVIF) {\n // Soon https://github.com/lovell/sharp/issues/2289\n //}\n if (contentType === WEBP) {\n transformer.webp({ quality })\n } else if (contentType === PNG) {\n transformer.png({ quality })\n } else if (contentType === JPEG) {\n transformer.jpeg({ quality })\n }\n\n const optimizedBuffer = await transformer.toBuffer()\n await writeToCacheDir(hashDir, contentType, expireAt, optimizedBuffer)\n sendResponse(req, res, contentType, optimizedBuffer)\n } catch (error) {\n sendResponse(req, res, upstreamType, upstreamBuffer)\n }\n\n return { finished: true }\n}\n\nasync function writeToCacheDir(\n dir: string,\n contentType: string,\n expireAt: number,\n buffer: Buffer\n) {\n await promises.mkdir(dir, { recursive: true })\n const extension = getExtension(contentType)\n const etag = getHash([buffer])\n const filename = join(dir, `${expireAt}.${etag}.${extension}`)\n await promises.writeFile(filename, buffer)\n}\n\nfunction sendResponse(\n req: IncomingMessage,\n res: ServerResponse,\n contentType: string | null,\n buffer: Buffer\n) {\n const etag = getHash([buffer])\n res.setHeader('Cache-Control', 'public, max-age=0, must-revalidate')\n if (sendEtagResponse(req, res, etag)) {\n return\n }\n if (contentType) {\n res.setHeader('Content-Type', contentType)\n }\n res.end(buffer)\n}\n\nfunction getSupportedMimeType(options: string[], accept = ''): string {\n const mimeType = mediaType(accept, options)\n return accept.includes(mimeType) ? mimeType : ''\n}\n\nfunction getHash(items: (string | number | Buffer)[]) {\n const hash = createHash('sha256')\n for (let item of items) {\n if (typeof item === 'number') hash.update(String(item))\n else {\n hash.update(item)\n }\n }\n // See https://en.wikipedia.org/wiki/Base64#Filenames\n return hash.digest('base64').replace(/\\//g, '-')\n}\n\nfunction parseCacheControl(str: string | null): Map {\n const map = new Map()\n if (!str) {\n return map\n }\n for (let directive of str.split(',')) {\n let [key, value] = directive.trim().split('=')\n key = key.toLowerCase()\n if (value) {\n value = value.toLowerCase()\n }\n map.set(key, value)\n }\n return map\n}\n\nexport function getMaxAge(str: string | null): number {\n const minimum = 60\n const map = parseCacheControl(str)\n if (map) {\n let age = map.get('s-maxage') || map.get('max-age') || ''\n if (age.startsWith('\"') && age.endsWith('\"')) {\n age = age.slice(1, -1)\n }\n const n = parseInt(age, 10)\n if (!isNaN(n)) {\n return Math.max(n, minimum)\n }\n }\n return minimum\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.d.ts b/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.d.ts new file mode 100644 index 00000000..4c6a25f8 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.d.ts @@ -0,0 +1,42 @@ +/// +import LRUCache from 'next/dist/compiled/lru-cache'; +import { PrerenderManifest } from '../../build'; +declare type IncrementalCacheValue = { + html?: string; + pageData?: any; + isStale?: boolean; + isNotFound?: boolean; + isRedirect?: boolean; + curRevalidate?: number | false; + revalidateAfter: number | false; +}; +export declare class IncrementalCache { + incrementalOptions: { + flushToDisk?: boolean; + pagesDir?: string; + distDir?: string; + dev?: boolean; + }; + prerenderManifest: PrerenderManifest; + cache: LRUCache; + locales?: string[]; + constructor({ max, dev, distDir, pagesDir, flushToDisk, locales, }: { + dev: boolean; + max?: number; + distDir: string; + pagesDir: string; + flushToDisk?: boolean; + locales?: string[]; + }); + private getSeedPath; + private calculateRevalidate; + getFallback(page: string): Promise; + get(pathname: string): Promise; + set(pathname: string, data: { + html?: string; + pageData?: any; + isNotFound?: boolean; + isRedirect?: boolean; + }, revalidateSeconds?: number | false): Promise; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.js b/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.js new file mode 100644 index 00000000..522945e4 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/incremental-cache.js @@ -0,0 +1,18 @@ +"use strict";exports.__esModule=true;exports.IncrementalCache=void 0;var _fs=require("fs");var _lruCache=_interopRequireDefault(require("next/dist/compiled/lru-cache"));var _path=_interopRequireDefault(require("path"));var _constants=require("../lib/constants");var _normalizePagePath=require("./normalize-page-path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function toRoute(pathname){return pathname.replace(/\/$/,'').replace(/\/index$/,'')||'/';}class IncrementalCache{constructor({max,dev,distDir,pagesDir,flushToDisk,locales}){this.incrementalOptions=void 0;this.prerenderManifest=void 0;this.cache=void 0;this.locales=void 0;this.incrementalOptions={dev,distDir,pagesDir,flushToDisk:!dev&&(typeof flushToDisk!=='undefined'?flushToDisk:true)};this.locales=locales;if(dev){this.prerenderManifest={version:-1,// letting us know this doesn't conform to spec +routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:null// `preview` is special case read in next-dev-server +};}else{this.prerenderManifest=JSON.parse((0,_fs.readFileSync)(_path.default.join(distDir,_constants.PRERENDER_MANIFEST),'utf8'));}this.cache=new _lruCache.default({// default to 50MB limit +max:max||50*1024*1024,length(val){if(val.isNotFound||val.isRedirect)return 25;// rough estimate of size of cache value +return val.html.length+JSON.stringify(val.pageData).length;}});}getSeedPath(pathname,ext){return _path.default.join(this.incrementalOptions.pagesDir,`${pathname}.${ext}`);}calculateRevalidate(pathname){pathname=toRoute(pathname);// in development we don't have a prerender-manifest +// and default to always revalidating to allow easier debugging +const curTime=new Date().getTime();if(this.incrementalOptions.dev)return curTime-1000;const{initialRevalidateSeconds}=this.prerenderManifest.routes[pathname]||{initialRevalidateSeconds:1};const revalidateAfter=typeof initialRevalidateSeconds==='number'?initialRevalidateSeconds*1000+curTime:initialRevalidateSeconds;return revalidateAfter;}getFallback(page){page=(0,_normalizePagePath.normalizePagePath)(page);return _fs.promises.readFile(this.getSeedPath(page,'html'),'utf8');}// get data from cache if available +async get(pathname){if(this.incrementalOptions.dev)return;pathname=(0,_normalizePagePath.normalizePagePath)(pathname);let data=this.cache.get(pathname);// let's check the disk for seed data +if(!data){if(this.prerenderManifest.notFoundRoutes.includes(pathname)){return{isNotFound:true,revalidateAfter:false};}try{const html=await _fs.promises.readFile(this.getSeedPath(pathname,'html'),'utf8');const pageData=JSON.parse(await _fs.promises.readFile(this.getSeedPath(pathname,'json'),'utf8'));data={html,pageData,revalidateAfter:this.calculateRevalidate(pathname)};this.cache.set(pathname,data);}catch(_){// unable to get data from disk +}}if(data&&data.revalidateAfter!==false&&data.revalidateAfter\n locales?: string[]\n\n constructor({\n max,\n dev,\n distDir,\n pagesDir,\n flushToDisk,\n locales,\n }: {\n dev: boolean\n max?: number\n distDir: string\n pagesDir: string\n flushToDisk?: boolean\n locales?: string[]\n }) {\n this.incrementalOptions = {\n dev,\n distDir,\n pagesDir,\n flushToDisk:\n !dev && (typeof flushToDisk !== 'undefined' ? flushToDisk : true),\n }\n this.locales = locales\n\n if (dev) {\n this.prerenderManifest = {\n version: -1 as any, // letting us know this doesn't conform to spec\n routes: {},\n dynamicRoutes: {},\n notFoundRoutes: [],\n preview: null as any, // `preview` is special case read in next-dev-server\n }\n } else {\n this.prerenderManifest = JSON.parse(\n readFileSync(path.join(distDir, PRERENDER_MANIFEST), 'utf8')\n )\n }\n\n this.cache = new LRUCache({\n // default to 50MB limit\n max: max || 50 * 1024 * 1024,\n length(val) {\n if (val.isNotFound || val.isRedirect) return 25\n // rough estimate of size of cache value\n return val.html!.length + JSON.stringify(val.pageData).length\n },\n })\n }\n\n private getSeedPath(pathname: string, ext: string): string {\n return path.join(this.incrementalOptions.pagesDir!, `${pathname}.${ext}`)\n }\n\n private calculateRevalidate(pathname: string): number | false {\n pathname = toRoute(pathname)\n\n // in development we don't have a prerender-manifest\n // and default to always revalidating to allow easier debugging\n const curTime = new Date().getTime()\n if (this.incrementalOptions.dev) return curTime - 1000\n\n const { initialRevalidateSeconds } = this.prerenderManifest.routes[\n pathname\n ] || {\n initialRevalidateSeconds: 1,\n }\n const revalidateAfter =\n typeof initialRevalidateSeconds === 'number'\n ? initialRevalidateSeconds * 1000 + curTime\n : initialRevalidateSeconds\n\n return revalidateAfter\n }\n\n getFallback(page: string): Promise {\n page = normalizePagePath(page)\n return promises.readFile(this.getSeedPath(page, 'html'), 'utf8')\n }\n\n // get data from cache if available\n async get(pathname: string): Promise {\n if (this.incrementalOptions.dev) return\n pathname = normalizePagePath(pathname)\n\n let data = this.cache.get(pathname)\n\n // let's check the disk for seed data\n if (!data) {\n if (this.prerenderManifest.notFoundRoutes.includes(pathname)) {\n return { isNotFound: true, revalidateAfter: false }\n }\n\n try {\n const html = await promises.readFile(\n this.getSeedPath(pathname, 'html'),\n 'utf8'\n )\n const pageData = JSON.parse(\n await promises.readFile(this.getSeedPath(pathname, 'json'), 'utf8')\n )\n\n data = {\n html,\n pageData,\n revalidateAfter: this.calculateRevalidate(pathname),\n }\n this.cache.set(pathname, data)\n } catch (_) {\n // unable to get data from disk\n }\n }\n\n if (\n data &&\n data.revalidateAfter !== false &&\n data.revalidateAfter < new Date().getTime()\n ) {\n data.isStale = true\n }\n\n const manifestPath = toRoute(pathname)\n const manifestEntry = this.prerenderManifest.routes[manifestPath]\n\n if (data && manifestEntry) {\n data.curRevalidate = manifestEntry.initialRevalidateSeconds\n }\n return data\n }\n\n // populate the incremental cache with new data\n async set(\n pathname: string,\n data: {\n html?: string\n pageData?: any\n isNotFound?: boolean\n isRedirect?: boolean\n },\n revalidateSeconds?: number | false\n ) {\n if (this.incrementalOptions.dev) return\n if (typeof revalidateSeconds !== 'undefined') {\n // TODO: Update this to not mutate the manifest from the\n // build.\n this.prerenderManifest.routes[pathname] = {\n dataRoute: path.posix.join(\n '/_next/data',\n `${normalizePagePath(pathname)}.json`\n ),\n srcRoute: null, // FIXME: provide actual source route, however, when dynamically appending it doesn't really matter\n initialRevalidateSeconds: revalidateSeconds,\n }\n }\n\n pathname = normalizePagePath(pathname)\n this.cache.set(pathname, {\n ...data,\n revalidateAfter: this.calculateRevalidate(pathname),\n })\n\n // TODO: This option needs to cease to exist unless it stops mutating the\n // `next build` output's manifest.\n if (this.incrementalOptions.flushToDisk && !data.isNotFound) {\n try {\n const seedPath = this.getSeedPath(pathname, 'html')\n await promises.mkdir(path.dirname(seedPath), { recursive: true })\n await promises.writeFile(seedPath, data.html, 'utf8')\n await promises.writeFile(\n this.getSeedPath(pathname, 'json'),\n JSON.stringify(data.pageData),\n 'utf8'\n )\n } catch (error) {\n // failed to flush to disk\n console.warn('Failed to update prerender files for', pathname, error)\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.d.ts b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.d.ts new file mode 100644 index 00000000..a796bc8b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.d.ts @@ -0,0 +1,7 @@ +/** + * Recursively read directory + * @param {string[]=[]} arr This doesn't have to be provided, it's used for the recursion + * @param {string=dir`} rootDir Used to replace the initial path, only the relative path is left, it's faster than path.relative. + * @returns Array holding all relative paths + */ +export declare function recursiveReadDirSync(dir: string, arr?: string[], rootDir?: string): string[]; diff --git a/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js new file mode 100644 index 00000000..e7bc8e55 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js @@ -0,0 +1,7 @@ +"use strict";exports.__esModule=true;exports.recursiveReadDirSync=recursiveReadDirSync;var _fs=_interopRequireDefault(require("fs"));var _path=require("path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/** + * Recursively read directory + * @param {string[]=[]} arr This doesn't have to be provided, it's used for the recursion + * @param {string=dir`} rootDir Used to replace the initial path, only the relative path is left, it's faster than path.relative. + * @returns Array holding all relative paths + */function recursiveReadDirSync(dir,arr=[],rootDir=dir){const result=_fs.default.readdirSync(dir);result.forEach(part=>{const absolutePath=(0,_path.join)(dir,part);const pathStat=_fs.default.statSync(absolutePath);if(pathStat.isDirectory()){recursiveReadDirSync(absolutePath,arr,rootDir);return;}arr.push(absolutePath.replace(rootDir,''));});return arr;} +//# sourceMappingURL=recursive-readdir-sync.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js.map b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js.map new file mode 100644 index 00000000..02674b0b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/lib/recursive-readdir-sync.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../next-server/server/lib/recursive-readdir-sync.ts"],"names":["recursiveReadDirSync","dir","arr","rootDir","result","fs","readdirSync","forEach","part","absolutePath","pathStat","statSync","isDirectory","push","replace"],"mappings":"uFAAA,8CACA,0B,mFAEA;AACA;AACA;AACA;AACA;AACA,GACO,QAASA,CAAAA,oBAAT,CACLC,GADK,CAELC,GAAa,CAAG,EAFX,CAGLC,OAAO,CAAGF,GAHL,CAIK,CACV,KAAMG,CAAAA,MAAM,CAAGC,YAAGC,WAAH,CAAeL,GAAf,CAAf,CAEAG,MAAM,CAACG,OAAP,CAAgBC,IAAD,EAAkB,CAC/B,KAAMC,CAAAA,YAAY,CAAG,eAAKR,GAAL,CAAUO,IAAV,CAArB,CACA,KAAME,CAAAA,QAAQ,CAAGL,YAAGM,QAAH,CAAYF,YAAZ,CAAjB,CAEA,GAAIC,QAAQ,CAACE,WAAT,EAAJ,CAA4B,CAC1BZ,oBAAoB,CAACS,YAAD,CAAeP,GAAf,CAAoBC,OAApB,CAApB,CACA,OACD,CACDD,GAAG,CAACW,IAAJ,CAASJ,YAAY,CAACK,OAAb,CAAqBX,OAArB,CAA8B,EAA9B,CAAT,EACD,CATD,EAWA,MAAOD,CAAAA,GAAP,CACD","sourcesContent":["import fs from 'fs'\nimport { join } from 'path'\n\n/**\n * Recursively read directory\n * @param {string[]=[]} arr This doesn't have to be provided, it's used for the recursion\n * @param {string=dir`} rootDir Used to replace the initial path, only the relative path is left, it's faster than path.relative.\n * @returns Array holding all relative paths\n */\nexport function recursiveReadDirSync(\n dir: string,\n arr: string[] = [],\n rootDir = dir\n): string[] {\n const result = fs.readdirSync(dir)\n\n result.forEach((part: string) => {\n const absolutePath = join(dir, part)\n const pathStat = fs.statSync(absolutePath)\n\n if (pathStat.isDirectory()) {\n recursiveReadDirSync(absolutePath, arr, rootDir)\n return\n }\n arr.push(absolutePath.replace(rootDir, ''))\n })\n\n return arr\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/load-components.d.ts b/ninjalist/node_modules/next/dist/next-server/server/load-components.d.ts new file mode 100644 index 00000000..439bd841 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/load-components.d.ts @@ -0,0 +1,26 @@ +/// +import { BuildManifest } from './get-page-files'; +import { AppType, DocumentType } from '../lib/utils'; +import { PageConfig, GetStaticPaths, GetServerSideProps, GetStaticProps } from 'next/types'; +export declare function interopDefault(mod: any): any; +export declare type ManifestItem = { + id: number | string; + name: string; + file: string; +}; +declare type ReactLoadableManifest = { + [moduleId: string]: ManifestItem[]; +}; +export declare type LoadComponentsReturnType = { + Component: React.ComponentType; + pageConfig?: PageConfig; + buildManifest: BuildManifest; + reactLoadableManifest: ReactLoadableManifest; + Document: DocumentType; + App: AppType; + getStaticProps?: GetStaticProps; + getStaticPaths?: GetStaticPaths; + getServerSideProps?: GetServerSideProps; +}; +export declare function loadComponents(distDir: string, pathname: string, serverless: boolean): Promise; +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/load-components.js b/ninjalist/node_modules/next/dist/next-server/server/load-components.js new file mode 100644 index 00000000..54e611ec --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/load-components.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.interopDefault=interopDefault;exports.loadComponents=loadComponents;var _constants=require("../lib/constants");var _path=require("path");var _require=require("./require");function interopDefault(mod){return mod.default||mod;}async function loadComponents(distDir,pathname,serverless){if(serverless){const Component=await(0,_require.requirePage)(pathname,distDir,serverless);let{getStaticProps,getStaticPaths,getServerSideProps}=Component;getStaticProps=await getStaticProps;getStaticPaths=await getStaticPaths;getServerSideProps=await getServerSideProps;const pageConfig=(await Component.config)||{};return{Component,pageConfig,getStaticProps,getStaticPaths,getServerSideProps};}const[DocumentMod,AppMod,ComponentMod]=await Promise.all([(0,_require.requirePage)('/_document',distDir,serverless),(0,_require.requirePage)('/_app',distDir,serverless),(0,_require.requirePage)(pathname,distDir,serverless)]);const[buildManifest,reactLoadableManifest,Component,Document,App]=await Promise.all([require((0,_path.join)(distDir,_constants.BUILD_MANIFEST)),require((0,_path.join)(distDir,_constants.REACT_LOADABLE_MANIFEST)),interopDefault(ComponentMod),interopDefault(DocumentMod),interopDefault(AppMod)]);const{getServerSideProps,getStaticProps,getStaticPaths}=ComponentMod;return{App,Document,Component,buildManifest,reactLoadableManifest,pageConfig:ComponentMod.config||{},getServerSideProps,getStaticProps,getStaticPaths};} +//# sourceMappingURL=load-components.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/load-components.js.map b/ninjalist/node_modules/next/dist/next-server/server/load-components.js.map new file mode 100644 index 00000000..dcc8178b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/load-components.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/load-components.ts"],"names":["interopDefault","mod","default","loadComponents","distDir","pathname","serverless","Component","getStaticProps","getStaticPaths","getServerSideProps","pageConfig","config","DocumentMod","AppMod","ComponentMod","Promise","all","buildManifest","reactLoadableManifest","Document","App","require","BUILD_MANIFEST","REACT_LOADABLE_MANIFEST"],"mappings":"iHAAA,2CACA,0BACA,kCAUO,QAASA,CAAAA,cAAT,CAAwBC,GAAxB,CAAkC,CACvC,MAAOA,CAAAA,GAAG,CAACC,OAAJ,EAAeD,GAAtB,CACD,CAsBM,cAAeE,CAAAA,cAAf,CACLC,OADK,CAELC,QAFK,CAGLC,UAHK,CAI8B,CACnC,GAAIA,UAAJ,CAAgB,CACd,KAAMC,CAAAA,SAAS,CAAG,KAAM,yBAAYF,QAAZ,CAAsBD,OAAtB,CAA+BE,UAA/B,CAAxB,CACA,GAAI,CAAEE,cAAF,CAAkBC,cAAlB,CAAkCC,kBAAlC,EAAyDH,SAA7D,CAEAC,cAAc,CAAG,KAAMA,CAAAA,cAAvB,CACAC,cAAc,CAAG,KAAMA,CAAAA,cAAvB,CACAC,kBAAkB,CAAG,KAAMA,CAAAA,kBAA3B,CACA,KAAMC,CAAAA,UAAU,CAAG,CAAC,KAAMJ,CAAAA,SAAS,CAACK,MAAjB,GAA4B,EAA/C,CAEA,MAAO,CACLL,SADK,CAELI,UAFK,CAGLH,cAHK,CAILC,cAJK,CAKLC,kBALK,CAAP,CAOD,CAED,KAAM,CAACG,WAAD,CAAcC,MAAd,CAAsBC,YAAtB,EAAsC,KAAMC,CAAAA,OAAO,CAACC,GAAR,CAAY,CAC5D,yBAAY,YAAZ,CAA0Bb,OAA1B,CAAmCE,UAAnC,CAD4D,CAE5D,yBAAY,OAAZ,CAAqBF,OAArB,CAA8BE,UAA9B,CAF4D,CAG5D,yBAAYD,QAAZ,CAAsBD,OAAtB,CAA+BE,UAA/B,CAH4D,CAAZ,CAAlD,CAMA,KAAM,CACJY,aADI,CAEJC,qBAFI,CAGJZ,SAHI,CAIJa,QAJI,CAKJC,GALI,EAMF,KAAML,CAAAA,OAAO,CAACC,GAAR,CAAY,CACpBK,OAAO,CAAC,eAAKlB,OAAL,CAAcmB,yBAAd,CAAD,CADa,CAEpBD,OAAO,CAAC,eAAKlB,OAAL,CAAcoB,kCAAd,CAAD,CAFa,CAGpBxB,cAAc,CAACe,YAAD,CAHM,CAIpBf,cAAc,CAACa,WAAD,CAJM,CAKpBb,cAAc,CAACc,MAAD,CALM,CAAZ,CANV,CAcA,KAAM,CAAEJ,kBAAF,CAAsBF,cAAtB,CAAsCC,cAAtC,EAAyDM,YAA/D,CAEA,MAAO,CACLM,GADK,CAELD,QAFK,CAGLb,SAHK,CAILW,aAJK,CAKLC,qBALK,CAMLR,UAAU,CAAEI,YAAY,CAACH,MAAb,EAAuB,EAN9B,CAOLF,kBAPK,CAQLF,cARK,CASLC,cATK,CAAP,CAWD","sourcesContent":["import { BUILD_MANIFEST, REACT_LOADABLE_MANIFEST } from '../lib/constants'\nimport { join } from 'path'\nimport { requirePage } from './require'\nimport { BuildManifest } from './get-page-files'\nimport { AppType, DocumentType } from '../lib/utils'\nimport {\n PageConfig,\n GetStaticPaths,\n GetServerSideProps,\n GetStaticProps,\n} from 'next/types'\n\nexport function interopDefault(mod: any) {\n return mod.default || mod\n}\n\nexport type ManifestItem = {\n id: number | string\n name: string\n file: string\n}\n\ntype ReactLoadableManifest = { [moduleId: string]: ManifestItem[] }\n\nexport type LoadComponentsReturnType = {\n Component: React.ComponentType\n pageConfig?: PageConfig\n buildManifest: BuildManifest\n reactLoadableManifest: ReactLoadableManifest\n Document: DocumentType\n App: AppType\n getStaticProps?: GetStaticProps\n getStaticPaths?: GetStaticPaths\n getServerSideProps?: GetServerSideProps\n}\n\nexport async function loadComponents(\n distDir: string,\n pathname: string,\n serverless: boolean\n): Promise {\n if (serverless) {\n const Component = await requirePage(pathname, distDir, serverless)\n let { getStaticProps, getStaticPaths, getServerSideProps } = Component\n\n getStaticProps = await getStaticProps\n getStaticPaths = await getStaticPaths\n getServerSideProps = await getServerSideProps\n const pageConfig = (await Component.config) || {}\n\n return {\n Component,\n pageConfig,\n getStaticProps,\n getStaticPaths,\n getServerSideProps,\n } as LoadComponentsReturnType\n }\n\n const [DocumentMod, AppMod, ComponentMod] = await Promise.all([\n requirePage('/_document', distDir, serverless),\n requirePage('/_app', distDir, serverless),\n requirePage(pathname, distDir, serverless),\n ])\n\n const [\n buildManifest,\n reactLoadableManifest,\n Component,\n Document,\n App,\n ] = await Promise.all([\n require(join(distDir, BUILD_MANIFEST)),\n require(join(distDir, REACT_LOADABLE_MANIFEST)),\n interopDefault(ComponentMod),\n interopDefault(DocumentMod),\n interopDefault(AppMod),\n ])\n\n const { getServerSideProps, getStaticProps, getStaticPaths } = ComponentMod\n\n return {\n App,\n Document,\n Component,\n buildManifest,\n reactLoadableManifest,\n pageConfig: ComponentMod.config || {},\n getServerSideProps,\n getStaticProps,\n getStaticPaths,\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/next-server.d.ts b/ninjalist/node_modules/next/dist/next-server/server/next-server.d.ts new file mode 100644 index 00000000..0fcd64d5 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/next-server.d.ts @@ -0,0 +1,140 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +import { ParsedUrlQuery } from 'querystring'; +import { UrlWithParsedQuery } from 'url'; +import { PrerenderManifest } from '../../build'; +import { CustomRoutes } from '../../lib/load-custom-routes'; +import { getRouteMatcher } from '../lib/router/utils'; +import { __ApiPreviewProps } from './api-utils'; +import { DomainLocales, NextConfig } from './config'; +import Router, { DynamicRoutes, PageChecker, Params, Route } from './router'; +import './node-polyfill-fetch'; +import { PagesManifest } from '../../build/webpack/plugins/pages-manifest-plugin'; +import { FontManifest } from './font-utils'; +declare type DynamicRouteItem = { + page: string; + match: ReturnType; +}; +export declare type ServerConstructor = { + /** + * Where the Next project is located - @default '.' + */ + dir?: string; + /** + * Hide error messages containing server information - @default false + */ + quiet?: boolean; + /** + * Object what you would use in next.config.js - @default {} + */ + conf?: NextConfig | null; + dev?: boolean; + customServer?: boolean; +}; +export default class Server { + dir: string; + quiet: boolean; + nextConfig: NextConfig; + distDir: string; + pagesDir?: string; + publicDir: string; + hasStaticDir: boolean; + serverBuildDir: string; + pagesManifest?: PagesManifest; + buildId: string; + minimalMode: boolean; + renderOpts: { + poweredByHeader: boolean; + buildId: string; + generateEtags: boolean; + runtimeConfig?: { + [key: string]: any; + }; + assetPrefix?: string; + canonicalBase: string; + dev?: boolean; + previewProps: __ApiPreviewProps; + customServer?: boolean; + ampOptimizerConfig?: { + [key: string]: any; + }; + basePath: string; + optimizeFonts: boolean; + images: string; + fontManifest: FontManifest; + optimizeImages: boolean; + optimizeCss: any; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; + }; + private compression?; + private onErrorMiddleware?; + private incrementalCache; + router: Router; + protected dynamicRoutes?: DynamicRoutes; + protected customRoutes: CustomRoutes; + constructor({ dir, quiet, conf, dev, minimalMode, customServer, }?: ServerConstructor & { + minimalMode?: boolean; + }); + protected currentPhase(): string; + logError(err: Error): void; + private handleRequest; + getRequestHandler(): (req: IncomingMessage, res: ServerResponse, parsedUrl?: UrlWithParsedQuery | undefined) => Promise; + setAssetPrefix(prefix?: string): void; + prepare(): Promise; + protected close(): Promise; + protected setImmutableAssetCacheControl(res: ServerResponse): void; + protected getCustomRoutes(): CustomRoutes; + private _cachedPreviewManifest; + protected getPrerenderManifest(): PrerenderManifest; + protected getPreviewProps(): __ApiPreviewProps; + protected generateRoutes(): { + basePath: string; + headers: Route[]; + rewrites: Route[]; + fsRoutes: Route[]; + redirects: Route[]; + catchAllRoute: Route; + pageChecker: PageChecker; + useFileSystemPublicRoutes: boolean; + dynamicRoutes: DynamicRoutes | undefined; + locales: string[]; + }; + private getPagePath; + protected hasPage(pathname: string): Promise; + protected _beforeCatchAllRender(_req: IncomingMessage, _res: ServerResponse, _params: Params, _parsedUrl: UrlWithParsedQuery): Promise; + protected ensureApiPage(_pathname: string): Promise; + /** + * Resolves `API` request, in development builds on demand + * @param req http request + * @param res http response + * @param pathname path of request + */ + private handleApiRequest; + protected generatePublicRoutes(): Route[]; + protected getDynamicRoutes(): Array; + private handleCompression; + protected run(req: IncomingMessage, res: ServerResponse, parsedUrl: UrlWithParsedQuery): Promise; + protected sendHTML(req: IncomingMessage, res: ServerResponse, html: string): Promise; + render(req: IncomingMessage, res: ServerResponse, pathname: string, query?: ParsedUrlQuery, parsedUrl?: UrlWithParsedQuery): Promise; + private findPageComponents; + protected getStaticPaths(pathname: string): Promise<{ + staticPaths: string[] | undefined; + fallbackMode: 'static' | 'blocking' | false; + }>; + private renderToHTMLWithComponents; + renderToHTML(req: IncomingMessage, res: ServerResponse, pathname: string, query?: ParsedUrlQuery): Promise; + renderError(err: Error | null, req: IncomingMessage, res: ServerResponse, pathname: string, query?: ParsedUrlQuery, setHeaders?: boolean): Promise; + private customErrorNo404Warn; + renderErrorToHTML(err: Error | null, req: IncomingMessage, res: ServerResponse, _pathname: string, query?: ParsedUrlQuery): Promise; + render404(req: IncomingMessage, res: ServerResponse, parsedUrl?: UrlWithParsedQuery, setHeaders?: boolean): Promise; + serveStatic(req: IncomingMessage, res: ServerResponse, path: string, parsedUrl?: UrlWithParsedQuery): Promise; + private _validFilesystemPathSet; + private getFilesystemPaths; + protected isServeableUrl(untrustedFileUrl: string): boolean; + protected readBuildId(): string; + protected get _isLikeServerless(): boolean; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/next-server.js b/ninjalist/node_modules/next/dist/next-server/server/next-server.js new file mode 100644 index 00000000..3d725ce0 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/next-server.js @@ -0,0 +1,147 @@ +"use strict";exports.__esModule=true;exports.default=void 0;var _compression=_interopRequireDefault(require("next/dist/compiled/compression"));var _fs=_interopRequireDefault(require("fs"));var _chalk=_interopRequireDefault(require("chalk"));var _httpProxy=_interopRequireDefault(require("next/dist/compiled/http-proxy"));var _path=require("path");var _querystring=require("querystring");var _url=require("url");var _loadCustomRoutes=require("../../lib/load-custom-routes");var _coalescedFunction=require("../../lib/coalesced-function");var _constants=require("../lib/constants");var _utils=require("../lib/router/utils");var envConfig=_interopRequireWildcard(require("../lib/runtime-config"));var _utils2=require("../lib/utils");var _apiUtils=require("./api-utils");var _config=_interopRequireWildcard(require("./config"));var _pathMatch=_interopRequireDefault(require("../lib/router/utils/path-match"));var _recursiveReaddirSync=require("./lib/recursive-readdir-sync");var _loadComponents=require("./load-components");var _normalizePagePath=require("./normalize-page-path");var _render=require("./render");var _require=require("./require");var _router=_interopRequireWildcard(require("./router"));var _prepareDestination=_interopRequireWildcard(require("../lib/router/utils/prepare-destination"));var _sendPayload=require("./send-payload");var _serveStatic=require("./serve-static");var _incrementalCache=require("./incremental-cache");var _utils3=require("./utils");var _env=require("@next/env");require("./node-polyfill-fetch");var _normalizeTrailingSlash=require("../../client/normalize-trailing-slash");var _getRouteFromAssetPath=_interopRequireDefault(require("../lib/router/utils/get-route-from-asset-path"));var _denormalizePagePath=require("./denormalize-page-path");var _accept=_interopRequireDefault(require("@hapi/accept"));var _normalizeLocalePath=require("../lib/i18n/normalize-locale-path");var _detectLocaleCookie=require("../lib/i18n/detect-locale-cookie");var Log=_interopRequireWildcard(require("../../build/output/log"));var _imageOptimizer=require("./image-optimizer");var _detectDomainLocale=require("../lib/i18n/detect-domain-locale");var _cookie=_interopRequireDefault(require("next/dist/compiled/cookie"));var _escapePathDelimiters=_interopRequireDefault(require("../lib/router/utils/escape-path-delimiters"));var _utils4=require("../../build/webpack/loaders/next-serverless-loader/utils");function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const getCustomRouteMatcher=(0,_pathMatch.default)(true);class Server{constructor({dir='.',quiet=false,conf=null,dev=false,minimalMode=false,customServer=true}={}){var _this$nextConfig$expe,_this$nextConfig$i18n,_this$nextConfig$i18n2;this.dir=void 0;this.quiet=void 0;this.nextConfig=void 0;this.distDir=void 0;this.pagesDir=void 0;this.publicDir=void 0;this.hasStaticDir=void 0;this.serverBuildDir=void 0;this.pagesManifest=void 0;this.buildId=void 0;this.minimalMode=void 0;this.renderOpts=void 0;this.compression=void 0;this.onErrorMiddleware=void 0;this.incrementalCache=void 0;this.router=void 0;this.dynamicRoutes=void 0;this.customRoutes=void 0;this._cachedPreviewManifest=void 0;this.customErrorNo404Warn=(0,_utils2.execOnce)(()=>{console.warn(_chalk.default.bold.yellow(`Warning: `)+_chalk.default.yellow(`You have added a custom /_error page without a custom /404 page. This prevents the 404 page from being auto statically optimized.\nSee here for info: https://err.sh/next.js/custom-error-no-custom-404`));});this._validFilesystemPathSet=null;this.dir=(0,_path.resolve)(dir);this.quiet=quiet;const phase=this.currentPhase();(0,_env.loadEnvConfig)(this.dir,dev,Log);this.nextConfig=(0,_config.default)(phase,this.dir,conf);this.distDir=(0,_path.join)(this.dir,this.nextConfig.distDir);this.publicDir=(0,_path.join)(this.dir,_constants.CLIENT_PUBLIC_FILES_PATH);this.hasStaticDir=!minimalMode&&_fs.default.existsSync((0,_path.join)(this.dir,'static'));// Only serverRuntimeConfig needs the default +// publicRuntimeConfig gets it's default in client/index.js +const{serverRuntimeConfig={},publicRuntimeConfig,assetPrefix,generateEtags,compress}=this.nextConfig;this.buildId=this.readBuildId();this.minimalMode=minimalMode;this.renderOpts={poweredByHeader:this.nextConfig.poweredByHeader,canonicalBase:this.nextConfig.amp.canonicalBase,buildId:this.buildId,generateEtags,previewProps:this.getPreviewProps(),customServer:customServer===true?true:undefined,ampOptimizerConfig:(_this$nextConfig$expe=this.nextConfig.experimental.amp)==null?void 0:_this$nextConfig$expe.optimizer,basePath:this.nextConfig.basePath,images:JSON.stringify(this.nextConfig.images),optimizeFonts:this.nextConfig.experimental.optimizeFonts&&!dev,fontManifest:this.nextConfig.experimental.optimizeFonts&&!dev?(0,_require.requireFontManifest)(this.distDir,this._isLikeServerless):null,optimizeImages:this.nextConfig.experimental.optimizeImages,optimizeCss:this.nextConfig.experimental.optimizeCss,domainLocales:(_this$nextConfig$i18n=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n.domains};// Only the `publicRuntimeConfig` key is exposed to the client side +// It'll be rendered as part of __NEXT_DATA__ on the client side +if(Object.keys(publicRuntimeConfig).length>0){this.renderOpts.runtimeConfig=publicRuntimeConfig;}if(compress&&this.nextConfig.target==='server'){this.compression=(0,_compression.default)();}// Initialize next/config with the environment configuration +envConfig.setConfig({serverRuntimeConfig,publicRuntimeConfig});this.serverBuildDir=(0,_path.join)(this.distDir,this._isLikeServerless?_constants.SERVERLESS_DIRECTORY:_constants.SERVER_DIRECTORY);const pagesManifestPath=(0,_path.join)(this.serverBuildDir,_constants.PAGES_MANIFEST);if(!dev){this.pagesManifest=require(pagesManifestPath);}this.customRoutes=this.getCustomRoutes();this.router=new _router.default(this.generateRoutes());this.setAssetPrefix(assetPrefix);// call init-server middleware, this is also handled +// individually in serverless bundles when deployed +if(!dev&&this.nextConfig.experimental.plugins){const initServer=require((0,_path.join)(this.serverBuildDir,'init-server.js')).default;this.onErrorMiddleware=require((0,_path.join)(this.serverBuildDir,'on-error-server.js')).default;initServer();}this.incrementalCache=new _incrementalCache.IncrementalCache({dev,distDir:this.distDir,pagesDir:(0,_path.join)(this.distDir,this._isLikeServerless?_constants.SERVERLESS_DIRECTORY:_constants.SERVER_DIRECTORY,'pages'),locales:(_this$nextConfig$i18n2=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n2.locales,flushToDisk:!minimalMode&&this.nextConfig.experimental.sprFlushToDisk});/** + * This sets environment variable to be used at the time of SSR by head.tsx. + * Using this from process.env allows targetting both serverless and SSR by calling + * `process.env.__NEXT_OPTIMIZE_IMAGES`. + * TODO(atcastle@): Remove this when experimental.optimizeImages are being clened up. + */if(this.renderOpts.optimizeFonts){process.env.__NEXT_OPTIMIZE_FONTS=JSON.stringify(true);}if(this.renderOpts.optimizeImages){process.env.__NEXT_OPTIMIZE_IMAGES=JSON.stringify(true);}if(this.renderOpts.optimizeCss){process.env.__NEXT_OPTIMIZE_CSS=JSON.stringify(true);}}currentPhase(){return _constants.PHASE_PRODUCTION_SERVER;}logError(err){if(this.onErrorMiddleware){this.onErrorMiddleware({err});}if(this.quiet)return;console.error(err);}async handleRequest(req,res,parsedUrl){var _req$url;(0,_apiUtils.setLazyProp)({req:req},'cookies',(0,_apiUtils.getCookieParser)(req));// Parse url if parsedUrl not provided +if(!parsedUrl||typeof parsedUrl!=='object'){const url=req.url;parsedUrl=(0,_url.parse)(url,true);}const{basePath,i18n}=this.nextConfig;// Parse the querystring ourselves if the user doesn't handle querystring parsing +if(typeof parsedUrl.query==='string'){parsedUrl.query=(0,_querystring.parse)(parsedUrl.query);};req.__NEXT_INIT_QUERY=Object.assign({},parsedUrl.query);if(basePath&&(_req$url=req.url)!=null&&_req$url.startsWith(basePath)){// store original URL to allow checking if basePath was +// provided or not +;req._nextHadBasePath=true;req.url=req.url.replace(basePath,'')||'/';}if(this.minimalMode&&req.headers['x-matched-path']&&typeof req.headers['x-matched-path']==='string'){var _req$url2,_req$headers$xMatche;const reqUrlIsDataUrl=(_req$url2=req.url)==null?void 0:_req$url2.includes('/_next/data');const matchedPathIsDataUrl=(_req$headers$xMatche=req.headers['x-matched-path'])==null?void 0:_req$headers$xMatche.includes('/_next/data');const isDataUrl=reqUrlIsDataUrl||matchedPathIsDataUrl;let parsedPath=(0,_url.parse)(isDataUrl?req.url:req.headers['x-matched-path'],true);const{pathname,query}=parsedPath;let matchedPathname=pathname;const matchedPathnameNoExt=isDataUrl?matchedPathname.replace(/\.json$/,''):matchedPathname;if(i18n){const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(matchedPathname||'/',i18n.locales);if(localePathResult.detectedLocale){parsedUrl.query.__nextLocale=localePathResult.detectedLocale;}}const pageIsDynamic=(0,_utils.isDynamicRoute)(matchedPathnameNoExt);const utils=(0,_utils4.getUtils)({pageIsDynamic,page:matchedPathnameNoExt,i18n:this.nextConfig.i18n,basePath:this.nextConfig.basePath,rewrites:this.customRoutes.rewrites});utils.handleRewrites(parsedUrl);// interpolate dynamic params and normalize URL if needed +if(pageIsDynamic){let params={};const paramsResult=utils.normalizeDynamicRouteParams({...parsedUrl.query,...query});if(paramsResult.hasValidParams){params=paramsResult.params;}else if(req.headers['x-now-route-matches']){const opts={};params=utils.getParamsFromRouteMatches(req,opts,parsedUrl.query.__nextLocale||'');if(opts.locale){parsedUrl.query.__nextLocale=opts.locale;}}else{params=utils.dynamicRouteMatcher(matchedPathnameNoExt);}if(params){params=utils.normalizeDynamicRouteParams(params).params;matchedPathname=utils.interpolateDynamicPath(matchedPathname,params);req.url=utils.interpolateDynamicPath(req.url,params);}if(reqUrlIsDataUrl&&matchedPathIsDataUrl){req.url=(0,_url.format)({...parsedPath,pathname:matchedPathname});}Object.assign(parsedUrl.query,params);utils.normalizeVercelUrl(req,true);}parsedUrl.pathname=`${basePath||''}${matchedPathname==='/'&&basePath?'':matchedPathname}`;}if(i18n){// get pathname from URL with basePath stripped for locale detection +let{pathname,...parsed}=(0,_url.parse)(req.url||'/');pathname=pathname||'/';let defaultLocale=i18n.defaultLocale;let detectedLocale=(0,_detectLocaleCookie.detectLocaleCookie)(req,i18n.locales);let acceptPreferredLocale=i18n.localeDetection!==false?_accept.default.language(req.headers['accept-language'],i18n.locales):detectedLocale;const{host}=(req==null?void 0:req.headers)||{};// remove port from host and remove port if present +const hostname=host==null?void 0:host.split(':')[0].toLowerCase();const detectedDomain=(0,_detectDomainLocale.detectDomainLocale)(i18n.domains,hostname);if(detectedDomain){defaultLocale=detectedDomain.defaultLocale;detectedLocale=defaultLocale;req.__nextIsLocaleDomain=true;}// if not domain specific locale use accept-language preferred +detectedLocale=detectedLocale||acceptPreferredLocale;let localeDomainRedirect;req.__nextHadTrailingSlash=pathname.endsWith('/');if(pathname==='/'){;req.__nextHadTrailingSlash=this.nextConfig.trailingSlash;}const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(pathname,i18n.locales);if(localePathResult.detectedLocale){detectedLocale=localePathResult.detectedLocale;req.url=(0,_url.format)({...parsed,pathname:localePathResult.pathname});req.__nextStrippedLocale=true;}// If a detected locale is a domain specific locale and we aren't already +// on that domain and path prefix redirect to it to prevent duplicate +// content from multiple domains +if(detectedDomain&&pathname==='/'){const localeToCheck=acceptPreferredLocale;// const localeToCheck = localePathResult.detectedLocale +// ? detectedLocale +// : acceptPreferredLocale +const matchedDomain=(0,_detectDomainLocale.detectDomainLocale)(i18n.domains,undefined,localeToCheck);if(matchedDomain&&(matchedDomain.domain!==detectedDomain.domain||localeToCheck!==matchedDomain.defaultLocale)){localeDomainRedirect=`http${matchedDomain.http?'':'s'}://${matchedDomain.domain}/${localeToCheck===matchedDomain.defaultLocale?'':localeToCheck}`;}}const denormalizedPagePath=(0,_denormalizePagePath.denormalizePagePath)(pathname||'/');const detectedDefaultLocale=!detectedLocale||detectedLocale.toLowerCase()===defaultLocale.toLowerCase();const shouldStripDefaultLocale=false;// detectedDefaultLocale && +// denormalizedPagePath.toLowerCase() === +// `/${i18n.defaultLocale.toLowerCase()}` +const shouldAddLocalePrefix=!detectedDefaultLocale&&denormalizedPagePath==='/';detectedLocale=detectedLocale||i18n.defaultLocale;if(i18n.localeDetection!==false&&(localeDomainRedirect||shouldAddLocalePrefix||shouldStripDefaultLocale)){// set the NEXT_LOCALE cookie when a user visits the default locale +// with the locale prefix so that they aren't redirected back to +// their accept-language preferred locale +if(shouldStripDefaultLocale&&acceptPreferredLocale!==defaultLocale){const previous=res.getHeader('set-cookie');res.setHeader('set-cookie',[...(typeof previous==='string'?[previous]:Array.isArray(previous)?previous:[]),_cookie.default.serialize('NEXT_LOCALE',defaultLocale,{httpOnly:true,path:'/'})]);}res.setHeader('Location',localeDomainRedirect?localeDomainRedirect:(0,_url.format)({// make sure to include any query values when redirecting +...parsed,pathname:shouldStripDefaultLocale?basePath||`/`:`${basePath||''}/${detectedLocale}`}));res.statusCode=_constants.TEMPORARY_REDIRECT_STATUS;res.end();return;}parsedUrl.query.__nextDefaultLocale=(detectedDomain==null?void 0:detectedDomain.defaultLocale)||i18n.defaultLocale;if(!this.minimalMode||!parsedUrl.query.__nextLocale){parsedUrl.query.__nextLocale=localePathResult.detectedLocale||(detectedDomain==null?void 0:detectedDomain.defaultLocale)||defaultLocale;}}res.statusCode=200;try{return await this.run(req,res,parsedUrl);}catch(err){if(this.minimalMode){throw err;}this.logError(err);res.statusCode=500;res.end('Internal Server Error');}}getRequestHandler(){return this.handleRequest.bind(this);}setAssetPrefix(prefix){this.renderOpts.assetPrefix=prefix?prefix.replace(/\/$/,''):'';}// Backwards compatibility +async prepare(){}// Backwards compatibility +async close(){}setImmutableAssetCacheControl(res){res.setHeader('Cache-Control','public, max-age=31536000, immutable');}getCustomRoutes(){return require((0,_path.join)(this.distDir,_constants.ROUTES_MANIFEST));}getPrerenderManifest(){if(this._cachedPreviewManifest){return this._cachedPreviewManifest;}const manifest=require((0,_path.join)(this.distDir,_constants.PRERENDER_MANIFEST));return this._cachedPreviewManifest=manifest;}getPreviewProps(){return this.getPrerenderManifest().preview;}generateRoutes(){var _this$nextConfig$i18n4;const server=this;const publicRoutes=_fs.default.existsSync(this.publicDir)?this.generatePublicRoutes():[];const staticFilesRoute=this.hasStaticDir?[{// It's very important to keep this route's param optional. +// (but it should support as many params as needed, separated by '/') +// Otherwise this will lead to a pretty simple DOS attack. +// See more: https://github.com/vercel/next.js/issues/2617 +match:(0,_router.route)('/static/:path*'),name:'static catchall',fn:async(req,res,params,parsedUrl)=>{const p=(0,_path.join)(this.dir,'static',...params.path);await this.serveStatic(req,res,p,parsedUrl);return{finished:true};}}]:[];const fsRoutes=[{match:(0,_router.route)('/_next/static/:path*'),type:'route',name:'_next/static catchall',fn:async(req,res,params,parsedUrl)=>{// make sure to 404 for /_next/static itself +if(!params.path){await this.render404(req,res,parsedUrl);return{finished:true};}if(params.path[0]===_constants.CLIENT_STATIC_FILES_RUNTIME||params.path[0]==='chunks'||params.path[0]==='css'||params.path[0]==='media'||params.path[0]===this.buildId||params.path[0]==='pages'||params.path[1]==='pages'){this.setImmutableAssetCacheControl(res);}const p=(0,_path.join)(this.distDir,_constants.CLIENT_STATIC_FILES_PATH,...(params.path||[]));await this.serveStatic(req,res,p,parsedUrl);return{finished:true};}},{match:(0,_router.route)('/_next/data/:path*'),type:'route',name:'_next/data catchall',fn:async(req,res,params,_parsedUrl)=>{// Make sure to 404 for /_next/data/ itself and +// we also want to 404 if the buildId isn't correct +if(!params.path||params.path[0]!==this.buildId){await this.render404(req,res,_parsedUrl);return{finished:true};}// remove buildId from URL +params.path.shift();// show 404 if it doesn't end with .json +if(!params.path[params.path.length-1].endsWith('.json')){await this.render404(req,res,_parsedUrl);return{finished:true};}// re-create page's pathname +let pathname=`/${params.path.join('/')}`;pathname=(0,_getRouteFromAssetPath.default)(pathname,'.json');const{i18n}=this.nextConfig;if(i18n){const{host}=(req==null?void 0:req.headers)||{};// remove port from host and remove port if present +const hostname=host==null?void 0:host.split(':')[0].toLowerCase();const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(pathname,i18n.locales);const{defaultLocale}=(0,_detectDomainLocale.detectDomainLocale)(i18n.domains,hostname)||{};let detectedLocale='';if(localePathResult.detectedLocale){pathname=localePathResult.pathname;detectedLocale=localePathResult.detectedLocale;}_parsedUrl.query.__nextLocale=detectedLocale;_parsedUrl.query.__nextDefaultLocale=defaultLocale||i18n.defaultLocale;if(!detectedLocale){_parsedUrl.query.__nextLocale=_parsedUrl.query.__nextDefaultLocale;await this.render404(req,res,_parsedUrl);return{finished:true};}}const parsedUrl=(0,_url.parse)(pathname,true);await this.render(req,res,pathname,{..._parsedUrl.query,_nextDataReq:'1'},parsedUrl);return{finished:true};}},{match:(0,_router.route)('/_next/image'),type:'route',name:'_next/image catchall',fn:(req,res,_params,parsedUrl)=>(0,_imageOptimizer.imageOptimizer)(server,req,res,parsedUrl)},{match:(0,_router.route)('/_next/:path*'),type:'route',name:'_next catchall',// This path is needed because `render()` does a check for `/_next` and the calls the routing again +fn:async(req,res,_params,parsedUrl)=>{await this.render404(req,res,parsedUrl);return{finished:true};}},...publicRoutes,...staticFilesRoute];const getCustomRoute=(r,type)=>{const match=getCustomRouteMatcher(r.source);return{...r,type,match,name:type,fn:async(_req,_res,_params,_parsedUrl)=>({finished:false})};};// Headers come very first +const headers=this.customRoutes.headers.map(r=>{const headerRoute=getCustomRoute(r,'header');return{match:headerRoute.match,type:headerRoute.type,name:`${headerRoute.type} ${headerRoute.source} header route`,fn:async(_req,res,params,_parsedUrl)=>{const hasParams=Object.keys(params).length>0;for(const header of headerRoute.headers){let{key,value}=header;if(hasParams){key=(0,_prepareDestination.compileNonPath)(key,params);value=(0,_prepareDestination.compileNonPath)(value,params);}res.setHeader(key,value);}return{finished:false};}};});// since initial query values are decoded by querystring.parse +// we need to re-encode them here but still allow passing through +// values from rewrites/redirects +const stringifyQuery=(req,query)=>{const initialQueryValues=Object.values(req.__NEXT_INIT_QUERY);return(0,_querystring.stringify)(query,undefined,undefined,{encodeURIComponent(value){if(initialQueryValues.some(val=>val===value)){return encodeURIComponent(value);}return value;}});};const redirects=this.minimalMode?[]:this.customRoutes.redirects.map(redirect=>{const redirectRoute=getCustomRoute(redirect,'redirect');return{internal:redirectRoute.internal,type:redirectRoute.type,match:redirectRoute.match,statusCode:redirectRoute.statusCode,name:`Redirect route ${redirectRoute.source}`,fn:async(req,res,params,parsedUrl)=>{const{parsedDestination}=(0,_prepareDestination.default)(redirectRoute.destination,params,parsedUrl.query,false);const{query}=parsedDestination;delete parsedDestination.query;parsedDestination.search=stringifyQuery(req,query);const updatedDestination=(0,_url.format)(parsedDestination);res.setHeader('Location',updatedDestination);res.statusCode=(0,_loadCustomRoutes.getRedirectStatus)(redirectRoute);// Since IE11 doesn't support the 308 header add backwards +// compatibility using refresh header +if(res.statusCode===308){res.setHeader('Refresh',`0;url=${updatedDestination}`);}res.end();return{finished:true};}};});const rewrites=this.customRoutes.rewrites.map(rewrite=>{const rewriteRoute=getCustomRoute(rewrite,'rewrite');return{...rewriteRoute,check:true,type:rewriteRoute.type,name:`Rewrite route ${rewriteRoute.source}`,match:rewriteRoute.match,fn:async(req,res,params,parsedUrl)=>{const{newUrl,parsedDestination}=(0,_prepareDestination.default)(rewriteRoute.destination,params,parsedUrl.query,true);// external rewrite, proxy it +if(parsedDestination.protocol){const{query}=parsedDestination;delete parsedDestination.query;parsedDestination.search=stringifyQuery(req,query);const target=(0,_url.format)(parsedDestination);const proxy=new _httpProxy.default({target,changeOrigin:true,ignorePath:true});proxy.web(req,res);proxy.on('error',err=>{console.error(`Error occurred proxying ${target}`,err);});return{finished:true};};req._nextRewroteUrl=newUrl;req._nextDidRewrite=req._nextRewroteUrl!==req.url;return{finished:false,pathname:newUrl,query:parsedDestination.query};}};});const catchAllRoute={match:(0,_router.route)('/:path*'),type:'route',name:'Catchall render',fn:async(req,res,_params,parsedUrl)=>{let{pathname,query}=parsedUrl;if(!pathname){throw new Error('pathname is undefined');}// next.js core assumes page path without trailing slash +pathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)(pathname);if(this.nextConfig.i18n){var _this$nextConfig$i18n3;const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(pathname,(_this$nextConfig$i18n3=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n3.locales);if(localePathResult.detectedLocale){pathname=localePathResult.pathname;parsedUrl.query.__nextLocale=localePathResult.detectedLocale;}}if(pathname==='/api'||pathname.startsWith('/api/')){const handled=await this.handleApiRequest(req,res,pathname,query);if(handled){return{finished:true};}}await this.render(req,res,pathname,query,parsedUrl);return{finished:true};}};const{useFileSystemPublicRoutes}=this.nextConfig;if(useFileSystemPublicRoutes){this.dynamicRoutes=this.getDynamicRoutes();}return{headers,fsRoutes,rewrites,redirects,catchAllRoute,useFileSystemPublicRoutes,dynamicRoutes:this.dynamicRoutes,basePath:this.nextConfig.basePath,pageChecker:this.hasPage.bind(this),locales:((_this$nextConfig$i18n4=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n4.locales)||[]};}async getPagePath(pathname){return(0,_require.getPagePath)(pathname,this.distDir,this._isLikeServerless,this.renderOpts.dev);}async hasPage(pathname){let found=false;try{found=!!(await this.getPagePath(pathname));}catch(_){}return found;}async _beforeCatchAllRender(_req,_res,_params,_parsedUrl){return false;}// Used to build API page in development +async ensureApiPage(_pathname){}/** + * Resolves `API` request, in development builds on demand + * @param req http request + * @param res http response + * @param pathname path of request + */async handleApiRequest(req,res,pathname,query){let page=pathname;let params=false;let pageFound=await this.hasPage(page);if(!pageFound&&this.dynamicRoutes){for(const dynamicRoute of this.dynamicRoutes){params=dynamicRoute.match(pathname);if(dynamicRoute.page.startsWith('/api')&¶ms){page=dynamicRoute.page;pageFound=true;break;}}}if(!pageFound){return false;}// Make sure the page is built before getting the path +// or else it won't be in the manifest yet +await this.ensureApiPage(page);let builtPagePath;try{builtPagePath=await this.getPagePath(page);}catch(err){if(err.code==='ENOENT'){return false;}throw err;}const pageModule=await require(builtPagePath);query={...query,...params};delete query.__nextLocale;delete query.__nextDefaultLocale;if(!this.renderOpts.dev&&this._isLikeServerless){if(typeof pageModule.default==='function'){prepareServerlessUrl(req,query);await pageModule.default(req,res);return true;}}await(0,_apiUtils.apiResolver)(req,res,query,pageModule,this.renderOpts.previewProps,false,this.onErrorMiddleware);return true;}generatePublicRoutes(){const publicFiles=new Set((0,_recursiveReaddirSync.recursiveReadDirSync)(this.publicDir).map(p=>encodeURI(p.replace(/\\/g,'/'))));return[{match:(0,_router.route)('/:path*'),name:'public folder catchall',fn:async(req,res,params,parsedUrl)=>{const pathParts=params.path||[];const{basePath}=this.nextConfig;// if basePath is defined require it be present +if(basePath){const basePathParts=basePath.split('/');// remove first empty value +basePathParts.shift();if(!basePathParts.every((part,idx)=>{return part===pathParts[idx];})){return{finished:false};}pathParts.splice(0,basePathParts.length);}const path=`/${pathParts.join('/')}`;if(publicFiles.has(path)){await this.serveStatic(req,res,(0,_path.join)(this.publicDir,...pathParts),parsedUrl);return{finished:true};}return{finished:false};}}];}getDynamicRoutes(){const addedPages=new Set();return(0,_utils.getSortedRoutes)(Object.keys(this.pagesManifest).map(page=>{var _this$nextConfig$i18n5;return(0,_normalizeLocalePath.normalizeLocalePath)(page,(_this$nextConfig$i18n5=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n5.locales).pathname;})).map(page=>{if(addedPages.has(page)||!(0,_utils.isDynamicRoute)(page))return null;addedPages.add(page);return{page,match:(0,_utils.getRouteMatcher)((0,_utils.getRouteRegex)(page))};}).filter(item=>Boolean(item));}handleCompression(req,res){if(this.compression){this.compression(req,res,()=>{});}}async run(req,res,parsedUrl){this.handleCompression(req,res);try{const matched=await this.router.execute(req,res,parsedUrl);if(matched){return;}}catch(err){if(err.code==='DECODE_FAILED'){res.statusCode=400;return this.renderError(null,req,res,'/_error',{});}throw err;}await this.render404(req,res,parsedUrl);}async sendHTML(req,res,html){const{generateEtags,poweredByHeader}=this.renderOpts;return(0,_sendPayload.sendPayload)(req,res,html,'html',{generateEtags,poweredByHeader});}async render(req,res,pathname,query={},parsedUrl){if(!pathname.startsWith('/')){console.warn(`Cannot render page with path "${pathname}", did you mean "/${pathname}"?. See more info here: https://err.sh/next.js/render-no-starting-slash`);}if(this.renderOpts.customServer&&pathname==='/index'&&!(await this.hasPage('/index'))){// maintain backwards compatibility for custom server +// (see custom-server integration tests) +pathname='/';}const url=req.url;// we allow custom servers to call render for all URLs +// so check if we need to serve a static _next file or not. +// we don't modify the URL for _next/data request but still +// call render so we special case this to prevent an infinite loop +if(!query._nextDataReq&&(url.match(/^\/_next\//)||this.hasStaticDir&&url.match(/^\/static\//))){return this.handleRequest(req,res,parsedUrl);}if((0,_utils3.isBlockedPage)(pathname)){return this.render404(req,res,parsedUrl);}const html=await this.renderToHTML(req,res,pathname,query);// Request was ended by the user +if(html===null){return;}return this.sendHTML(req,res,html);}async findPageComponents(pathname,query={},params=null){let paths=[// try serving a static AMP version first +query.amp?(0,_normalizePagePath.normalizePagePath)(pathname)+'.amp':null,pathname].filter(Boolean);if(query.__nextLocale){paths=[...paths.map(path=>`/${query.__nextLocale}${path==='/'?'':path}`),...paths];}for(const pagePath of paths){try{const components=await(0,_loadComponents.loadComponents)(this.distDir,pagePath,!this.renderOpts.dev&&this._isLikeServerless);// if loading an static HTML file the locale is required +// to be present since all HTML files are output under their locale +if(query.__nextLocale&&typeof components.Component==='string'&&!(pagePath!=null&&pagePath.startsWith(`/${query.__nextLocale}`))){const err=new Error('NOT_FOUND');err.code='ENOENT';throw err;}return{components,query:{...(components.getStaticProps?{amp:query.amp,_nextDataReq:query._nextDataReq,__nextLocale:query.__nextLocale,__nextDefaultLocale:query.__nextDefaultLocale}:query),...(params||{})}};}catch(err){if(err.code!=='ENOENT')throw err;}}return null;}async getStaticPaths(pathname){// `staticPaths` is intentionally set to `undefined` as it should've +// been caught when checking disk data. +const staticPaths=undefined;// Read whether or not fallback should exist from the manifest. +const fallbackField=this.getPrerenderManifest().dynamicRoutes[pathname].fallback;return{staticPaths,fallbackMode:typeof fallbackField==='string'?'static':fallbackField===null?'blocking':false};}async renderToHTMLWithComponents(req,res,pathname,{components,query},opts){var _this$nextConfig$i18n6,_this$nextConfig$i18n7;const is404Page=pathname==='/404';const isLikeServerless=typeof components.Component==='object'&&typeof components.Component.renderReqToHTML==='function';const isSSG=!!components.getStaticProps;const hasServerProps=!!components.getServerSideProps;const hasStaticPaths=!!components.getStaticPaths;const hasGetInitialProps=!!components.Component.getInitialProps;// Toggle whether or not this is a Data request +const isDataReq=!!query._nextDataReq&&(isSSG||hasServerProps);delete query._nextDataReq;// we need to ensure the status code if /404 is visited directly +if(is404Page&&!isDataReq){res.statusCode=404;}// handle static page +if(typeof components.Component==='string'){return components.Component;}if(!query.amp){delete query.amp;}const locale=query.__nextLocale;const defaultLocale=isSSG?(_this$nextConfig$i18n6=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n6.defaultLocale:query.__nextDefaultLocale;const{i18n}=this.nextConfig;const locales=i18n==null?void 0:i18n.locales;let previewData;let isPreviewMode=false;if(hasServerProps||isSSG){previewData=(0,_apiUtils.tryGetPreviewData)(req,res,this.renderOpts.previewProps);isPreviewMode=previewData!==false;}// Compute the iSSG cache key. We use the rewroteUrl since +// pages with fallback: false are allowed to be rewritten to +// and we need to look up the path by the rewritten path +let urlPathname=(0,_url.parse)(req.url||'').pathname||'/';let resolvedUrlPathname=req._nextRewroteUrl?req._nextRewroteUrl:urlPathname;urlPathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)(urlPathname);resolvedUrlPathname=(0,_normalizeLocalePath.normalizeLocalePath)((0,_normalizeTrailingSlash.removePathTrailingSlash)(resolvedUrlPathname),(_this$nextConfig$i18n7=this.nextConfig.i18n)==null?void 0:_this$nextConfig$i18n7.locales).pathname;const stripNextDataPath=path=>{if(path.includes(this.buildId)){const splitPath=path.substring(path.indexOf(this.buildId)+this.buildId.length);path=(0,_denormalizePagePath.denormalizePagePath)(splitPath.replace(/\.json$/,''));}if(this.nextConfig.i18n){return(0,_normalizeLocalePath.normalizeLocalePath)(path,locales).pathname;}return path;};const handleRedirect=pageData=>{const redirect={destination:pageData.pageProps.__N_REDIRECT,statusCode:pageData.pageProps.__N_REDIRECT_STATUS,basePath:pageData.pageProps.__N_REDIRECT_BASE_PATH};const statusCode=(0,_loadCustomRoutes.getRedirectStatus)(redirect);const{basePath}=this.nextConfig;if(basePath&&redirect.basePath!==false){redirect.destination=`${basePath}${redirect.destination}`;}if(statusCode===_constants.PERMANENT_REDIRECT_STATUS){res.setHeader('Refresh',`0;url=${redirect.destination}`);}res.statusCode=statusCode;res.setHeader('Location',redirect.destination);res.end();};// remove /_next/data prefix from urlPathname so it matches +// for direct page visit and /_next/data visit +if(isDataReq){resolvedUrlPathname=stripNextDataPath(resolvedUrlPathname);urlPathname=stripNextDataPath(urlPathname);}let ssgCacheKey=isPreviewMode||!isSSG||this.minimalMode?undefined// Preview mode bypasses the cache +:`${locale?`/${locale}`:''}${(pathname==='/'||resolvedUrlPathname==='/')&&locale?'':resolvedUrlPathname}${query.amp?'.amp':''}`;if(is404Page&&isSSG){ssgCacheKey=`${locale?`/${locale}`:''}${pathname}${query.amp?'.amp':''}`;}if(ssgCacheKey){// we only encode path delimiters for path segments from +// getStaticPaths so we need to attempt decoding the URL +// to match against and only escape the path delimiters +// this allows non-ascii values to be handled e.g. Japanese characters +// TODO: investigate adding this handling for non-SSG pages so +// non-ascii names work there also +ssgCacheKey=ssgCacheKey.split('/').map(seg=>{try{seg=(0,_escapePathDelimiters.default)(decodeURIComponent(seg),true);}catch(_){// An improperly encoded URL was provided, this is considered +// a bad request (400) +const err=new Error('failed to decode param');err.code='DECODE_FAILED';throw err;}return seg;}).join('/');}// Complete the response with cached data if its present +const cachedData=ssgCacheKey?await this.incrementalCache.get(ssgCacheKey):undefined;if(cachedData){var _cachedData$pageData,_cachedData$pageData$;const data=isDataReq?JSON.stringify(cachedData.pageData):cachedData.html;const revalidateOptions=!this.renderOpts.dev?{private:isPreviewMode,stateful:false,// GSP response +revalidate:cachedData.curRevalidate!==undefined?cachedData.curRevalidate:/* default to minimum revalidate (this should be an invariant) */1}:undefined;if(!isDataReq&&(_cachedData$pageData=cachedData.pageData)!=null&&(_cachedData$pageData$=_cachedData$pageData.pageProps)!=null&&_cachedData$pageData$.__N_REDIRECT){await handleRedirect(cachedData.pageData);}else if(cachedData.isNotFound){if(revalidateOptions){(0,_sendPayload.setRevalidateHeaders)(res,revalidateOptions);}if(isDataReq){res.statusCode=404;res.end('{"notFound":true}');}else{await this.render404(req,res,{pathname,query});}}else{(0,_sendPayload.sendPayload)(req,res,data,isDataReq?'json':'html',{generateEtags:this.renderOpts.generateEtags,poweredByHeader:this.renderOpts.poweredByHeader},revalidateOptions);}// Stop the request chain here if the data we sent was up-to-date +if(!cachedData.isStale){return null;}}// If we're here, that means data is missing or it's stale. +const maybeCoalesceInvoke=ssgCacheKey?fn=>(0,_coalescedFunction.withCoalescedInvoke)(fn).bind(null,ssgCacheKey,[]):fn=>async()=>{const value=await fn();return{isOrigin:true,value};};const doRender=maybeCoalesceInvoke(async()=>{let pageData;let html;let sprRevalidate;let isNotFound;let isRedirect;let renderResult;// handle serverless +if(isLikeServerless){renderResult=await components.Component.renderReqToHTML(req,res,'passthrough',{locale,locales,defaultLocale,optimizeCss:this.renderOpts.optimizeCss,distDir:this.distDir,fontManifest:this.renderOpts.fontManifest,domainLocales:this.renderOpts.domainLocales});html=renderResult.html;pageData=renderResult.renderOpts.pageData;sprRevalidate=renderResult.renderOpts.revalidate;isNotFound=renderResult.renderOpts.isNotFound;isRedirect=renderResult.renderOpts.isRedirect;}else{const origQuery=(0,_url.parse)(req.url||'',true).query;const hadTrailingSlash=urlPathname!=='/'&&this.nextConfig.trailingSlash;const resolvedUrl=(0,_url.format)({pathname:`${resolvedUrlPathname}${hadTrailingSlash?'/':''}`,// make sure to only add query values from original URL +query:origQuery});const renderOpts={...components,...opts,isDataReq,resolvedUrl,locale,locales,defaultLocale,// For getServerSideProps and getInitialProps we need to ensure we use the original URL +// and not the resolved URL to prevent a hydration mismatch on +// asPath +resolvedAsPath:hasServerProps||hasGetInitialProps?(0,_url.format)({// we use the original URL pathname less the _next/data prefix if +// present +pathname:`${urlPathname}${hadTrailingSlash?'/':''}`,query:origQuery}):resolvedUrl};renderResult=await(0,_render.renderToHTML)(req,res,pathname,query,renderOpts);html=renderResult;// TODO: change this to a different passing mechanism +pageData=renderOpts.pageData;sprRevalidate=renderOpts.revalidate;isNotFound=renderOpts.isNotFound;isRedirect=renderOpts.isRedirect;}return{html,pageData,sprRevalidate,isNotFound,isRedirect};});const isProduction=!this.renderOpts.dev;const isDynamicPathname=(0,_utils.isDynamicRoute)(pathname);const didRespond=(0,_utils2.isResSent)(res);const{staticPaths,fallbackMode}=hasStaticPaths?await this.getStaticPaths(pathname):{staticPaths:undefined,fallbackMode:false};// When we did not respond from cache, we need to choose to block on +// rendering or return a skeleton. +// +// * Data requests always block. +// +// * Blocking mode fallback always blocks. +// +// * Preview mode toggles all pages to be resolved in a blocking manner. +// +// * Non-dynamic pages should block (though this is an impossible +// case in production). +// +// * Dynamic pages should return their skeleton if not defined in +// getStaticPaths, then finish the data request on the client-side. +// +if(this.minimalMode!==true&&fallbackMode!=='blocking'&&ssgCacheKey&&!didRespond&&!isPreviewMode&&isDynamicPathname&&(// Development should trigger fallback when the path is not in +// `getStaticPaths` +isProduction||!staticPaths||!staticPaths.includes(// we use ssgCacheKey here as it is normalized to match the +// encoding from getStaticPaths along with including the locale +query.amp?ssgCacheKey.replace(/\.amp$/,''):ssgCacheKey))){if(// In development, fall through to render to handle missing +// getStaticPaths. +(isProduction||staticPaths)&&// When fallback isn't present, abort this render so we 404 +fallbackMode!=='static'){throw new NoFallbackError();}if(!isDataReq){let html;// Production already emitted the fallback as static HTML. +if(isProduction){html=await this.incrementalCache.getFallback(locale?`/${locale}${pathname}`:pathname);}// We need to generate the fallback on-demand for development. +else{query.__nextFallback='true';if(isLikeServerless){prepareServerlessUrl(req,query);}const{value:renderResult}=await doRender();html=renderResult.html;}(0,_sendPayload.sendPayload)(req,res,html,'html',{generateEtags:this.renderOpts.generateEtags,poweredByHeader:this.renderOpts.poweredByHeader});return null;}}const{isOrigin,value:{html,pageData,sprRevalidate,isNotFound,isRedirect}}=await doRender();let resHtml=html;const revalidateOptions=!this.renderOpts.dev||hasServerProps&&!isDataReq?{private:isPreviewMode,stateful:!isSSG,revalidate:sprRevalidate}:undefined;if(!(0,_utils2.isResSent)(res)&&!isNotFound&&(isSSG||isDataReq||hasServerProps)){if(isRedirect&&!isDataReq){await handleRedirect(pageData);}else{(0,_sendPayload.sendPayload)(req,res,isDataReq?JSON.stringify(pageData):html,isDataReq?'json':'html',{generateEtags:this.renderOpts.generateEtags,poweredByHeader:this.renderOpts.poweredByHeader},revalidateOptions);}resHtml=null;}// Update the cache if the head request and cacheable +if(isOrigin&&ssgCacheKey){await this.incrementalCache.set(ssgCacheKey,{html:html,pageData,isNotFound,isRedirect},sprRevalidate);}if(!(0,_utils2.isResSent)(res)&&isNotFound){if(revalidateOptions){(0,_sendPayload.setRevalidateHeaders)(res,revalidateOptions);}if(isDataReq){res.statusCode=404;res.end('{"notFound":true}');}else{await this.render404(req,res,{pathname,query});}}return resHtml;}async renderToHTML(req,res,pathname,query={}){try{const result=await this.findPageComponents(pathname,query);if(result){try{return await this.renderToHTMLWithComponents(req,res,pathname,result,{...this.renderOpts});}catch(err){if(!(err instanceof NoFallbackError)){throw err;}}}if(this.dynamicRoutes){for(const dynamicRoute of this.dynamicRoutes){const params=dynamicRoute.match(pathname);if(!params){continue;}const dynamicRouteResult=await this.findPageComponents(dynamicRoute.page,query,params);if(dynamicRouteResult){try{return await this.renderToHTMLWithComponents(req,res,dynamicRoute.page,dynamicRouteResult,{...this.renderOpts,params});}catch(err){if(!(err instanceof NoFallbackError)){throw err;}}}}}}catch(err){if(err&&err.code==='DECODE_FAILED'){this.logError(err);res.statusCode=400;return await this.renderErrorToHTML(err,req,res,pathname,query);}res.statusCode=500;const html=await this.renderErrorToHTML(err,req,res,pathname,query);if(this.minimalMode){throw err;}this.logError(err);return html;}res.statusCode=404;return await this.renderErrorToHTML(null,req,res,pathname,query);}async renderError(err,req,res,pathname,query={},setHeaders=true){if(setHeaders){res.setHeader('Cache-Control','no-cache, no-store, max-age=0, must-revalidate');}const html=await this.renderErrorToHTML(err,req,res,pathname,query);if(this.minimalMode&&res.statusCode===500){throw err;}if(html===null){return;}return this.sendHTML(req,res,html);}async renderErrorToHTML(err,req,res,_pathname,query={}){let result=null;const is404=res.statusCode===404;let using404Page=false;// use static 404 page if available and is 404 response +if(is404){result=await this.findPageComponents('/404',query);using404Page=result!==null;}if(!result){result=await this.findPageComponents('/_error',query);}if(process.env.NODE_ENV!=='production'&&!using404Page&&(await this.hasPage('/_error'))&&!(await this.hasPage('/404'))){this.customErrorNo404Warn();}let html;try{try{html=await this.renderToHTMLWithComponents(req,res,using404Page?'/404':'/_error',result,{...this.renderOpts,err});}catch(maybeFallbackError){if(maybeFallbackError instanceof NoFallbackError){throw new Error('invariant: failed to render error page');}throw maybeFallbackError;}}catch(renderToHtmlError){console.error(renderToHtmlError);res.statusCode=500;html='Internal Server Error';}return html;}async render404(req,res,parsedUrl,setHeaders=true){const url=req.url;const{pathname,query}=parsedUrl?parsedUrl:(0,_url.parse)(url,true);const{i18n}=this.nextConfig;if(i18n){query.__nextLocale=query.__nextLocale||i18n.defaultLocale;query.__nextDefaultLocale=query.__nextDefaultLocale||i18n.defaultLocale;}res.statusCode=404;return this.renderError(null,req,res,pathname,query,setHeaders);}async serveStatic(req,res,path,parsedUrl){if(!this.isServeableUrl(path)){return this.render404(req,res,parsedUrl);}if(!(req.method==='GET'||req.method==='HEAD')){res.statusCode=405;res.setHeader('Allow',['GET','HEAD']);return this.renderError(null,req,res,path);}try{await(0,_serveStatic.serveStatic)(req,res,path);}catch(err){if(err.code==='ENOENT'||err.statusCode===404){this.render404(req,res,parsedUrl);}else if(err.statusCode===412){res.statusCode=412;return this.renderError(err,req,res,path);}else{throw err;}}}getFilesystemPaths(){if(this._validFilesystemPathSet){return this._validFilesystemPathSet;}const pathUserFilesStatic=(0,_path.join)(this.dir,'static');let userFilesStatic=[];if(this.hasStaticDir&&_fs.default.existsSync(pathUserFilesStatic)){userFilesStatic=(0,_recursiveReaddirSync.recursiveReadDirSync)(pathUserFilesStatic).map(f=>(0,_path.join)('.','static',f));}let userFilesPublic=[];if(this.publicDir&&_fs.default.existsSync(this.publicDir)){userFilesPublic=(0,_recursiveReaddirSync.recursiveReadDirSync)(this.publicDir).map(f=>(0,_path.join)('.','public',f));}let nextFilesStatic=[];nextFilesStatic=!this.minimalMode?(0,_recursiveReaddirSync.recursiveReadDirSync)((0,_path.join)(this.distDir,'static')).map(f=>(0,_path.join)('.',(0,_path.relative)(this.dir,this.distDir),'static',f)):[];return this._validFilesystemPathSet=new Set([...nextFilesStatic,...userFilesPublic,...userFilesStatic]);}isServeableUrl(untrustedFileUrl){// This method mimics what the version of `send` we use does: +// 1. decodeURIComponent: +// https://github.com/pillarjs/send/blob/0.17.1/index.js#L989 +// https://github.com/pillarjs/send/blob/0.17.1/index.js#L518-L522 +// 2. resolve: +// https://github.com/pillarjs/send/blob/de073ed3237ade9ff71c61673a34474b30e5d45b/index.js#L561 +let decodedUntrustedFilePath;try{// (1) Decode the URL so we have the proper file name +decodedUntrustedFilePath=decodeURIComponent(untrustedFileUrl);}catch(_unused){return false;}// (2) Resolve "up paths" to determine real request +const untrustedFilePath=(0,_path.resolve)(decodedUntrustedFilePath);// don't allow null bytes anywhere in the file path +if(untrustedFilePath.indexOf('\0')!==-1){return false;}// Check if .next/static, static and public are in the path. +// If not the path is not available. +if((untrustedFilePath.startsWith((0,_path.join)(this.distDir,'static')+_path.sep)||untrustedFilePath.startsWith((0,_path.join)(this.dir,'static')+_path.sep)||untrustedFilePath.startsWith((0,_path.join)(this.dir,'public')+_path.sep))===false){return false;}// Check against the real filesystem paths +const filesystemUrls=this.getFilesystemPaths();const resolved=(0,_path.relative)(this.dir,untrustedFilePath);return filesystemUrls.has(resolved);}readBuildId(){const buildIdFile=(0,_path.join)(this.distDir,_constants.BUILD_ID_FILE);try{return _fs.default.readFileSync(buildIdFile,'utf8').trim();}catch(err){if(!_fs.default.existsSync(buildIdFile)){throw new Error(`Could not find a production build in the '${this.distDir}' directory. Try building your app with 'next build' before starting the production server. https://err.sh/vercel/next.js/production-start-no-build-id`);}throw err;}}get _isLikeServerless(){return(0,_config.isTargetLikeServerless)(this.nextConfig.target);}}exports.default=Server;function prepareServerlessUrl(req,query){const curUrl=(0,_url.parse)(req.url,true);req.url=(0,_url.format)({...curUrl,search:undefined,query:{...curUrl.query,...query}});}class NoFallbackError extends Error{} +//# sourceMappingURL=next-server.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/next-server.js.map b/ninjalist/node_modules/next/dist/next-server/server/next-server.js.map new file mode 100644 index 00000000..2bbaee6f --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/next-server.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/next-server.ts"],"names":["getCustomRouteMatcher","Server","constructor","dir","quiet","conf","dev","minimalMode","customServer","nextConfig","distDir","pagesDir","publicDir","hasStaticDir","serverBuildDir","pagesManifest","buildId","renderOpts","compression","onErrorMiddleware","incrementalCache","router","dynamicRoutes","customRoutes","_cachedPreviewManifest","customErrorNo404Warn","console","warn","chalk","bold","yellow","_validFilesystemPathSet","phase","currentPhase","Log","CLIENT_PUBLIC_FILES_PATH","fs","existsSync","serverRuntimeConfig","publicRuntimeConfig","assetPrefix","generateEtags","compress","readBuildId","poweredByHeader","canonicalBase","amp","previewProps","getPreviewProps","undefined","ampOptimizerConfig","experimental","optimizer","basePath","images","JSON","stringify","optimizeFonts","fontManifest","_isLikeServerless","optimizeImages","optimizeCss","domainLocales","i18n","domains","Object","keys","length","runtimeConfig","target","envConfig","setConfig","SERVERLESS_DIRECTORY","SERVER_DIRECTORY","pagesManifestPath","PAGES_MANIFEST","require","getCustomRoutes","Router","generateRoutes","setAssetPrefix","plugins","initServer","default","IncrementalCache","locales","flushToDisk","sprFlushToDisk","process","env","__NEXT_OPTIMIZE_FONTS","__NEXT_OPTIMIZE_IMAGES","__NEXT_OPTIMIZE_CSS","PHASE_PRODUCTION_SERVER","logError","err","error","handleRequest","req","res","parsedUrl","url","query","__NEXT_INIT_QUERY","assign","startsWith","_nextHadBasePath","replace","headers","reqUrlIsDataUrl","includes","matchedPathIsDataUrl","isDataUrl","parsedPath","pathname","matchedPathname","matchedPathnameNoExt","localePathResult","detectedLocale","__nextLocale","pageIsDynamic","utils","page","rewrites","handleRewrites","params","paramsResult","normalizeDynamicRouteParams","hasValidParams","opts","getParamsFromRouteMatches","locale","dynamicRouteMatcher","interpolateDynamicPath","normalizeVercelUrl","parsed","defaultLocale","acceptPreferredLocale","localeDetection","accept","language","host","hostname","split","toLowerCase","detectedDomain","__nextIsLocaleDomain","localeDomainRedirect","__nextHadTrailingSlash","endsWith","trailingSlash","__nextStrippedLocale","localeToCheck","matchedDomain","domain","http","denormalizedPagePath","detectedDefaultLocale","shouldStripDefaultLocale","shouldAddLocalePrefix","previous","getHeader","setHeader","Array","isArray","cookie","serialize","httpOnly","path","statusCode","TEMPORARY_REDIRECT_STATUS","end","__nextDefaultLocale","run","getRequestHandler","bind","prefix","prepare","close","setImmutableAssetCacheControl","ROUTES_MANIFEST","getPrerenderManifest","manifest","PRERENDER_MANIFEST","preview","server","publicRoutes","generatePublicRoutes","staticFilesRoute","match","name","fn","p","serveStatic","finished","fsRoutes","type","render404","CLIENT_STATIC_FILES_RUNTIME","CLIENT_STATIC_FILES_PATH","_parsedUrl","shift","join","render","_nextDataReq","_params","getCustomRoute","r","source","_req","_res","map","headerRoute","hasParams","header","key","value","stringifyQuery","initialQueryValues","values","encodeURIComponent","some","val","redirects","redirect","redirectRoute","internal","parsedDestination","destination","search","updatedDestination","rewrite","rewriteRoute","check","newUrl","protocol","proxy","Proxy","changeOrigin","ignorePath","web","on","_nextRewroteUrl","_nextDidRewrite","catchAllRoute","Error","handled","handleApiRequest","useFileSystemPublicRoutes","getDynamicRoutes","pageChecker","hasPage","getPagePath","found","_","_beforeCatchAllRender","ensureApiPage","_pathname","pageFound","dynamicRoute","builtPagePath","code","pageModule","prepareServerlessUrl","publicFiles","Set","encodeURI","pathParts","basePathParts","every","part","idx","splice","has","addedPages","add","filter","item","Boolean","handleCompression","matched","execute","renderError","sendHTML","html","renderToHTML","findPageComponents","paths","pagePath","components","Component","getStaticProps","getStaticPaths","staticPaths","fallbackField","fallback","fallbackMode","renderToHTMLWithComponents","is404Page","isLikeServerless","renderReqToHTML","isSSG","hasServerProps","getServerSideProps","hasStaticPaths","hasGetInitialProps","getInitialProps","isDataReq","previewData","isPreviewMode","urlPathname","resolvedUrlPathname","stripNextDataPath","splitPath","substring","indexOf","handleRedirect","pageData","pageProps","__N_REDIRECT","__N_REDIRECT_STATUS","__N_REDIRECT_BASE_PATH","PERMANENT_REDIRECT_STATUS","ssgCacheKey","seg","decodeURIComponent","cachedData","get","data","revalidateOptions","private","stateful","revalidate","curRevalidate","isNotFound","isStale","maybeCoalesceInvoke","isOrigin","doRender","sprRevalidate","isRedirect","renderResult","origQuery","hadTrailingSlash","resolvedUrl","resolvedAsPath","isProduction","isDynamicPathname","didRespond","NoFallbackError","getFallback","__nextFallback","resHtml","set","result","dynamicRouteResult","renderErrorToHTML","setHeaders","is404","using404Page","NODE_ENV","maybeFallbackError","renderToHtmlError","isServeableUrl","method","getFilesystemPaths","pathUserFilesStatic","userFilesStatic","f","userFilesPublic","nextFilesStatic","untrustedFileUrl","decodedUntrustedFilePath","untrustedFilePath","sep","filesystemUrls","resolved","buildIdFile","BUILD_ID_FILE","readFileSync","trim","curUrl"],"mappings":"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","sourcesContent":["import compression from 'next/dist/compiled/compression'\nimport fs from 'fs'\nimport chalk from 'chalk'\nimport { IncomingMessage, ServerResponse } from 'http'\nimport Proxy from 'next/dist/compiled/http-proxy'\nimport { join, relative, resolve, sep } from 'path'\nimport {\n parse as parseQs,\n stringify as stringifyQs,\n ParsedUrlQuery,\n} from 'querystring'\nimport { format as formatUrl, parse as parseUrl, UrlWithParsedQuery } from 'url'\nimport { PrerenderManifest } from '../../build'\nimport {\n getRedirectStatus,\n Header,\n Redirect,\n Rewrite,\n RouteType,\n CustomRoutes,\n} from '../../lib/load-custom-routes'\nimport { withCoalescedInvoke } from '../../lib/coalesced-function'\nimport {\n BUILD_ID_FILE,\n CLIENT_PUBLIC_FILES_PATH,\n CLIENT_STATIC_FILES_PATH,\n CLIENT_STATIC_FILES_RUNTIME,\n PAGES_MANIFEST,\n PERMANENT_REDIRECT_STATUS,\n PHASE_PRODUCTION_SERVER,\n PRERENDER_MANIFEST,\n ROUTES_MANIFEST,\n SERVERLESS_DIRECTORY,\n SERVER_DIRECTORY,\n TEMPORARY_REDIRECT_STATUS,\n} from '../lib/constants'\nimport {\n getRouteMatcher,\n getRouteRegex,\n getSortedRoutes,\n isDynamicRoute,\n} from '../lib/router/utils'\nimport * as envConfig from '../lib/runtime-config'\nimport { isResSent, NextApiRequest, NextApiResponse } from '../lib/utils'\nimport {\n apiResolver,\n setLazyProp,\n getCookieParser,\n tryGetPreviewData,\n __ApiPreviewProps,\n} from './api-utils'\nimport loadConfig, {\n DomainLocales,\n isTargetLikeServerless,\n NextConfig,\n} from './config'\nimport pathMatch from '../lib/router/utils/path-match'\nimport { recursiveReadDirSync } from './lib/recursive-readdir-sync'\nimport { loadComponents, LoadComponentsReturnType } from './load-components'\nimport { normalizePagePath } from './normalize-page-path'\nimport { RenderOpts, RenderOptsPartial, renderToHTML } from './render'\nimport { getPagePath, requireFontManifest } from './require'\nimport Router, {\n DynamicRoutes,\n PageChecker,\n Params,\n route,\n Route,\n} from './router'\nimport prepareDestination, {\n compileNonPath,\n} from '../lib/router/utils/prepare-destination'\nimport { sendPayload, setRevalidateHeaders } from './send-payload'\nimport { serveStatic } from './serve-static'\nimport { IncrementalCache } from './incremental-cache'\nimport { execOnce } from '../lib/utils'\nimport { isBlockedPage } from './utils'\nimport { loadEnvConfig } from '@next/env'\nimport './node-polyfill-fetch'\nimport { PagesManifest } from '../../build/webpack/plugins/pages-manifest-plugin'\nimport { removePathTrailingSlash } from '../../client/normalize-trailing-slash'\nimport getRouteFromAssetPath from '../lib/router/utils/get-route-from-asset-path'\nimport { FontManifest } from './font-utils'\nimport { denormalizePagePath } from './denormalize-page-path'\nimport accept from '@hapi/accept'\nimport { normalizeLocalePath } from '../lib/i18n/normalize-locale-path'\nimport { detectLocaleCookie } from '../lib/i18n/detect-locale-cookie'\nimport * as Log from '../../build/output/log'\nimport { imageOptimizer } from './image-optimizer'\nimport { detectDomainLocale } from '../lib/i18n/detect-domain-locale'\nimport cookie from 'next/dist/compiled/cookie'\nimport escapePathDelimiters from '../lib/router/utils/escape-path-delimiters'\nimport { getUtils } from '../../build/webpack/loaders/next-serverless-loader/utils'\n\nconst getCustomRouteMatcher = pathMatch(true)\n\ntype Middleware = (\n req: IncomingMessage,\n res: ServerResponse,\n next: (err?: Error) => void\n) => void\n\ntype FindComponentsResult = {\n components: LoadComponentsReturnType\n query: ParsedUrlQuery\n}\n\ntype DynamicRouteItem = {\n page: string\n match: ReturnType\n}\n\nexport type ServerConstructor = {\n /**\n * Where the Next project is located - @default '.'\n */\n dir?: string\n /**\n * Hide error messages containing server information - @default false\n */\n quiet?: boolean\n /**\n * Object what you would use in next.config.js - @default {}\n */\n conf?: NextConfig | null\n dev?: boolean\n customServer?: boolean\n}\n\nexport default class Server {\n dir: string\n quiet: boolean\n nextConfig: NextConfig\n distDir: string\n pagesDir?: string\n publicDir: string\n hasStaticDir: boolean\n serverBuildDir: string\n pagesManifest?: PagesManifest\n buildId: string\n minimalMode: boolean\n renderOpts: {\n poweredByHeader: boolean\n buildId: string\n generateEtags: boolean\n runtimeConfig?: { [key: string]: any }\n assetPrefix?: string\n canonicalBase: string\n dev?: boolean\n previewProps: __ApiPreviewProps\n customServer?: boolean\n ampOptimizerConfig?: { [key: string]: any }\n basePath: string\n optimizeFonts: boolean\n images: string\n fontManifest: FontManifest\n optimizeImages: boolean\n optimizeCss: any\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n }\n private compression?: Middleware\n private onErrorMiddleware?: ({ err }: { err: Error }) => Promise\n private incrementalCache: IncrementalCache\n router: Router\n protected dynamicRoutes?: DynamicRoutes\n protected customRoutes: CustomRoutes\n\n public constructor({\n dir = '.',\n quiet = false,\n conf = null,\n dev = false,\n minimalMode = false,\n customServer = true,\n }: ServerConstructor & { minimalMode?: boolean } = {}) {\n this.dir = resolve(dir)\n this.quiet = quiet\n const phase = this.currentPhase()\n loadEnvConfig(this.dir, dev, Log)\n\n this.nextConfig = loadConfig(phase, this.dir, conf)\n this.distDir = join(this.dir, this.nextConfig.distDir)\n this.publicDir = join(this.dir, CLIENT_PUBLIC_FILES_PATH)\n this.hasStaticDir = !minimalMode && fs.existsSync(join(this.dir, 'static'))\n\n // Only serverRuntimeConfig needs the default\n // publicRuntimeConfig gets it's default in client/index.js\n const {\n serverRuntimeConfig = {},\n publicRuntimeConfig,\n assetPrefix,\n generateEtags,\n compress,\n } = this.nextConfig\n\n this.buildId = this.readBuildId()\n this.minimalMode = minimalMode\n\n this.renderOpts = {\n poweredByHeader: this.nextConfig.poweredByHeader,\n canonicalBase: this.nextConfig.amp.canonicalBase,\n buildId: this.buildId,\n generateEtags,\n previewProps: this.getPreviewProps(),\n customServer: customServer === true ? true : undefined,\n ampOptimizerConfig: this.nextConfig.experimental.amp?.optimizer,\n basePath: this.nextConfig.basePath,\n images: JSON.stringify(this.nextConfig.images),\n optimizeFonts: this.nextConfig.experimental.optimizeFonts && !dev,\n fontManifest:\n this.nextConfig.experimental.optimizeFonts && !dev\n ? requireFontManifest(this.distDir, this._isLikeServerless)\n : null,\n optimizeImages: this.nextConfig.experimental.optimizeImages,\n optimizeCss: this.nextConfig.experimental.optimizeCss,\n domainLocales: this.nextConfig.i18n?.domains,\n }\n\n // Only the `publicRuntimeConfig` key is exposed to the client side\n // It'll be rendered as part of __NEXT_DATA__ on the client side\n if (Object.keys(publicRuntimeConfig).length > 0) {\n this.renderOpts.runtimeConfig = publicRuntimeConfig\n }\n\n if (compress && this.nextConfig.target === 'server') {\n this.compression = compression() as Middleware\n }\n\n // Initialize next/config with the environment configuration\n envConfig.setConfig({\n serverRuntimeConfig,\n publicRuntimeConfig,\n })\n\n this.serverBuildDir = join(\n this.distDir,\n this._isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY\n )\n const pagesManifestPath = join(this.serverBuildDir, PAGES_MANIFEST)\n\n if (!dev) {\n this.pagesManifest = require(pagesManifestPath)\n }\n\n this.customRoutes = this.getCustomRoutes()\n this.router = new Router(this.generateRoutes())\n this.setAssetPrefix(assetPrefix)\n\n // call init-server middleware, this is also handled\n // individually in serverless bundles when deployed\n if (!dev && this.nextConfig.experimental.plugins) {\n const initServer = require(join(this.serverBuildDir, 'init-server.js'))\n .default\n this.onErrorMiddleware = require(join(\n this.serverBuildDir,\n 'on-error-server.js'\n )).default\n initServer()\n }\n\n this.incrementalCache = new IncrementalCache({\n dev,\n distDir: this.distDir,\n pagesDir: join(\n this.distDir,\n this._isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n 'pages'\n ),\n locales: this.nextConfig.i18n?.locales,\n flushToDisk: !minimalMode && this.nextConfig.experimental.sprFlushToDisk,\n })\n\n /**\n * This sets environment variable to be used at the time of SSR by head.tsx.\n * Using this from process.env allows targetting both serverless and SSR by calling\n * `process.env.__NEXT_OPTIMIZE_IMAGES`.\n * TODO(atcastle@): Remove this when experimental.optimizeImages are being clened up.\n */\n if (this.renderOpts.optimizeFonts) {\n process.env.__NEXT_OPTIMIZE_FONTS = JSON.stringify(true)\n }\n if (this.renderOpts.optimizeImages) {\n process.env.__NEXT_OPTIMIZE_IMAGES = JSON.stringify(true)\n }\n if (this.renderOpts.optimizeCss) {\n process.env.__NEXT_OPTIMIZE_CSS = JSON.stringify(true)\n }\n }\n\n protected currentPhase(): string {\n return PHASE_PRODUCTION_SERVER\n }\n\n public logError(err: Error): void {\n if (this.onErrorMiddleware) {\n this.onErrorMiddleware({ err })\n }\n if (this.quiet) return\n console.error(err)\n }\n\n private async handleRequest(\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl?: UrlWithParsedQuery\n ): Promise {\n setLazyProp({ req: req as any }, 'cookies', getCookieParser(req))\n\n // Parse url if parsedUrl not provided\n if (!parsedUrl || typeof parsedUrl !== 'object') {\n const url: any = req.url\n parsedUrl = parseUrl(url, true)\n }\n const { basePath, i18n } = this.nextConfig\n\n // Parse the querystring ourselves if the user doesn't handle querystring parsing\n if (typeof parsedUrl.query === 'string') {\n parsedUrl.query = parseQs(parsedUrl.query)\n }\n ;(req as any).__NEXT_INIT_QUERY = Object.assign({}, parsedUrl.query)\n\n if (basePath && req.url?.startsWith(basePath)) {\n // store original URL to allow checking if basePath was\n // provided or not\n ;(req as any)._nextHadBasePath = true\n req.url = req.url!.replace(basePath, '') || '/'\n }\n\n if (\n this.minimalMode &&\n req.headers['x-matched-path'] &&\n typeof req.headers['x-matched-path'] === 'string'\n ) {\n const reqUrlIsDataUrl = req.url?.includes('/_next/data')\n const matchedPathIsDataUrl = req.headers['x-matched-path']?.includes(\n '/_next/data'\n )\n const isDataUrl = reqUrlIsDataUrl || matchedPathIsDataUrl\n\n let parsedPath = parseUrl(\n isDataUrl ? req.url! : (req.headers['x-matched-path'] as string),\n true\n )\n const { pathname, query } = parsedPath\n let matchedPathname = pathname as string\n\n const matchedPathnameNoExt = isDataUrl\n ? matchedPathname.replace(/\\.json$/, '')\n : matchedPathname\n\n if (i18n) {\n const localePathResult = normalizeLocalePath(\n matchedPathname || '/',\n i18n.locales\n )\n\n if (localePathResult.detectedLocale) {\n parsedUrl.query.__nextLocale = localePathResult.detectedLocale\n }\n }\n\n const pageIsDynamic = isDynamicRoute(matchedPathnameNoExt)\n const utils = getUtils({\n pageIsDynamic,\n page: matchedPathnameNoExt,\n i18n: this.nextConfig.i18n,\n basePath: this.nextConfig.basePath,\n rewrites: this.customRoutes.rewrites,\n })\n\n utils.handleRewrites(parsedUrl)\n\n // interpolate dynamic params and normalize URL if needed\n if (pageIsDynamic) {\n let params: ParsedUrlQuery | false = {}\n const paramsResult = utils.normalizeDynamicRouteParams({\n ...parsedUrl.query,\n ...query,\n })\n\n if (paramsResult.hasValidParams) {\n params = paramsResult.params\n } else if (req.headers['x-now-route-matches']) {\n const opts: Record = {}\n params = utils.getParamsFromRouteMatches(\n req,\n opts,\n (parsedUrl.query.__nextLocale as string | undefined) || ''\n )\n\n if (opts.locale) {\n parsedUrl.query.__nextLocale = opts.locale\n }\n } else {\n params = utils.dynamicRouteMatcher!(matchedPathnameNoExt)\n }\n\n if (params) {\n params = utils.normalizeDynamicRouteParams(params).params\n\n matchedPathname = utils.interpolateDynamicPath(\n matchedPathname,\n params\n )\n req.url = utils.interpolateDynamicPath(req.url!, params)\n }\n\n if (reqUrlIsDataUrl && matchedPathIsDataUrl) {\n req.url = formatUrl({\n ...parsedPath,\n pathname: matchedPathname,\n })\n }\n Object.assign(parsedUrl.query, params)\n utils.normalizeVercelUrl(req, true)\n }\n\n parsedUrl.pathname = `${basePath || ''}${\n matchedPathname === '/' && basePath ? '' : matchedPathname\n }`\n }\n\n if (i18n) {\n // get pathname from URL with basePath stripped for locale detection\n let { pathname, ...parsed } = parseUrl(req.url || '/')\n pathname = pathname || '/'\n\n let defaultLocale = i18n.defaultLocale\n let detectedLocale = detectLocaleCookie(req, i18n.locales)\n let acceptPreferredLocale =\n i18n.localeDetection !== false\n ? accept.language(req.headers['accept-language'], i18n.locales)\n : detectedLocale\n\n const { host } = req?.headers || {}\n // remove port from host and remove port if present\n const hostname = host?.split(':')[0].toLowerCase()\n\n const detectedDomain = detectDomainLocale(i18n.domains, hostname)\n if (detectedDomain) {\n defaultLocale = detectedDomain.defaultLocale\n detectedLocale = defaultLocale\n ;(req as any).__nextIsLocaleDomain = true\n }\n\n // if not domain specific locale use accept-language preferred\n detectedLocale = detectedLocale || acceptPreferredLocale\n\n let localeDomainRedirect: string | undefined\n ;(req as any).__nextHadTrailingSlash = pathname!.endsWith('/')\n\n if (pathname === '/') {\n ;(req as any).__nextHadTrailingSlash = this.nextConfig.trailingSlash\n }\n const localePathResult = normalizeLocalePath(pathname!, i18n.locales)\n\n if (localePathResult.detectedLocale) {\n detectedLocale = localePathResult.detectedLocale\n req.url = formatUrl({\n ...parsed,\n pathname: localePathResult.pathname,\n })\n ;(req as any).__nextStrippedLocale = true\n }\n\n // If a detected locale is a domain specific locale and we aren't already\n // on that domain and path prefix redirect to it to prevent duplicate\n // content from multiple domains\n if (detectedDomain && pathname === '/') {\n const localeToCheck = acceptPreferredLocale\n // const localeToCheck = localePathResult.detectedLocale\n // ? detectedLocale\n // : acceptPreferredLocale\n\n const matchedDomain = detectDomainLocale(\n i18n.domains,\n undefined,\n localeToCheck\n )\n\n if (\n matchedDomain &&\n (matchedDomain.domain !== detectedDomain.domain ||\n localeToCheck !== matchedDomain.defaultLocale)\n ) {\n localeDomainRedirect = `http${matchedDomain.http ? '' : 's'}://${\n matchedDomain.domain\n }/${\n localeToCheck === matchedDomain.defaultLocale ? '' : localeToCheck\n }`\n }\n }\n\n const denormalizedPagePath = denormalizePagePath(pathname || '/')\n const detectedDefaultLocale =\n !detectedLocale ||\n detectedLocale.toLowerCase() === defaultLocale.toLowerCase()\n const shouldStripDefaultLocale = false\n // detectedDefaultLocale &&\n // denormalizedPagePath.toLowerCase() ===\n // `/${i18n.defaultLocale.toLowerCase()}`\n\n const shouldAddLocalePrefix =\n !detectedDefaultLocale && denormalizedPagePath === '/'\n\n detectedLocale = detectedLocale || i18n.defaultLocale\n\n if (\n i18n.localeDetection !== false &&\n (localeDomainRedirect ||\n shouldAddLocalePrefix ||\n shouldStripDefaultLocale)\n ) {\n // set the NEXT_LOCALE cookie when a user visits the default locale\n // with the locale prefix so that they aren't redirected back to\n // their accept-language preferred locale\n if (\n shouldStripDefaultLocale &&\n acceptPreferredLocale !== defaultLocale\n ) {\n const previous = res.getHeader('set-cookie')\n\n res.setHeader('set-cookie', [\n ...(typeof previous === 'string'\n ? [previous]\n : Array.isArray(previous)\n ? previous\n : []),\n cookie.serialize('NEXT_LOCALE', defaultLocale, {\n httpOnly: true,\n path: '/',\n }),\n ])\n }\n\n res.setHeader(\n 'Location',\n localeDomainRedirect\n ? localeDomainRedirect\n : formatUrl({\n // make sure to include any query values when redirecting\n ...parsed,\n pathname: shouldStripDefaultLocale\n ? basePath || `/`\n : `${basePath || ''}/${detectedLocale}`,\n })\n )\n res.statusCode = TEMPORARY_REDIRECT_STATUS\n res.end()\n return\n }\n\n parsedUrl.query.__nextDefaultLocale =\n detectedDomain?.defaultLocale || i18n.defaultLocale\n\n if (!this.minimalMode || !parsedUrl.query.__nextLocale) {\n parsedUrl.query.__nextLocale =\n localePathResult.detectedLocale ||\n detectedDomain?.defaultLocale ||\n defaultLocale\n }\n }\n\n res.statusCode = 200\n try {\n return await this.run(req, res, parsedUrl)\n } catch (err) {\n if (this.minimalMode) {\n throw err\n }\n this.logError(err)\n res.statusCode = 500\n res.end('Internal Server Error')\n }\n }\n\n public getRequestHandler() {\n return this.handleRequest.bind(this)\n }\n\n public setAssetPrefix(prefix?: string): void {\n this.renderOpts.assetPrefix = prefix ? prefix.replace(/\\/$/, '') : ''\n }\n\n // Backwards compatibility\n public async prepare(): Promise {}\n\n // Backwards compatibility\n protected async close(): Promise {}\n\n protected setImmutableAssetCacheControl(res: ServerResponse): void {\n res.setHeader('Cache-Control', 'public, max-age=31536000, immutable')\n }\n\n protected getCustomRoutes(): CustomRoutes {\n return require(join(this.distDir, ROUTES_MANIFEST))\n }\n\n private _cachedPreviewManifest: PrerenderManifest | undefined\n protected getPrerenderManifest(): PrerenderManifest {\n if (this._cachedPreviewManifest) {\n return this._cachedPreviewManifest\n }\n const manifest = require(join(this.distDir, PRERENDER_MANIFEST))\n return (this._cachedPreviewManifest = manifest)\n }\n\n protected getPreviewProps(): __ApiPreviewProps {\n return this.getPrerenderManifest().preview\n }\n\n protected generateRoutes(): {\n basePath: string\n headers: Route[]\n rewrites: Route[]\n fsRoutes: Route[]\n redirects: Route[]\n catchAllRoute: Route\n pageChecker: PageChecker\n useFileSystemPublicRoutes: boolean\n dynamicRoutes: DynamicRoutes | undefined\n locales: string[]\n } {\n const server: Server = this\n const publicRoutes = fs.existsSync(this.publicDir)\n ? this.generatePublicRoutes()\n : []\n\n const staticFilesRoute = this.hasStaticDir\n ? [\n {\n // It's very important to keep this route's param optional.\n // (but it should support as many params as needed, separated by '/')\n // Otherwise this will lead to a pretty simple DOS attack.\n // See more: https://github.com/vercel/next.js/issues/2617\n match: route('/static/:path*'),\n name: 'static catchall',\n fn: async (req, res, params, parsedUrl) => {\n const p = join(this.dir, 'static', ...params.path)\n await this.serveStatic(req, res, p, parsedUrl)\n return {\n finished: true,\n }\n },\n } as Route,\n ]\n : []\n\n const fsRoutes: Route[] = [\n {\n match: route('/_next/static/:path*'),\n type: 'route',\n name: '_next/static catchall',\n fn: async (req, res, params, parsedUrl) => {\n // make sure to 404 for /_next/static itself\n if (!params.path) {\n await this.render404(req, res, parsedUrl)\n return {\n finished: true,\n }\n }\n\n if (\n params.path[0] === CLIENT_STATIC_FILES_RUNTIME ||\n params.path[0] === 'chunks' ||\n params.path[0] === 'css' ||\n params.path[0] === 'media' ||\n params.path[0] === this.buildId ||\n params.path[0] === 'pages' ||\n params.path[1] === 'pages'\n ) {\n this.setImmutableAssetCacheControl(res)\n }\n const p = join(\n this.distDir,\n CLIENT_STATIC_FILES_PATH,\n ...(params.path || [])\n )\n await this.serveStatic(req, res, p, parsedUrl)\n return {\n finished: true,\n }\n },\n },\n {\n match: route('/_next/data/:path*'),\n type: 'route',\n name: '_next/data catchall',\n fn: async (req, res, params, _parsedUrl) => {\n // Make sure to 404 for /_next/data/ itself and\n // we also want to 404 if the buildId isn't correct\n if (!params.path || params.path[0] !== this.buildId) {\n await this.render404(req, res, _parsedUrl)\n return {\n finished: true,\n }\n }\n // remove buildId from URL\n params.path.shift()\n\n // show 404 if it doesn't end with .json\n if (!params.path[params.path.length - 1].endsWith('.json')) {\n await this.render404(req, res, _parsedUrl)\n return {\n finished: true,\n }\n }\n\n // re-create page's pathname\n let pathname = `/${params.path.join('/')}`\n pathname = getRouteFromAssetPath(pathname, '.json')\n\n const { i18n } = this.nextConfig\n\n if (i18n) {\n const { host } = req?.headers || {}\n // remove port from host and remove port if present\n const hostname = host?.split(':')[0].toLowerCase()\n const localePathResult = normalizeLocalePath(pathname, i18n.locales)\n const { defaultLocale } =\n detectDomainLocale(i18n.domains, hostname) || {}\n\n let detectedLocale = ''\n\n if (localePathResult.detectedLocale) {\n pathname = localePathResult.pathname\n detectedLocale = localePathResult.detectedLocale\n }\n\n _parsedUrl.query.__nextLocale = detectedLocale!\n _parsedUrl.query.__nextDefaultLocale =\n defaultLocale || i18n.defaultLocale\n\n if (!detectedLocale) {\n _parsedUrl.query.__nextLocale =\n _parsedUrl.query.__nextDefaultLocale\n await this.render404(req, res, _parsedUrl)\n return { finished: true }\n }\n }\n\n const parsedUrl = parseUrl(pathname, true)\n\n await this.render(\n req,\n res,\n pathname,\n { ..._parsedUrl.query, _nextDataReq: '1' },\n parsedUrl\n )\n return {\n finished: true,\n }\n },\n },\n {\n match: route('/_next/image'),\n type: 'route',\n name: '_next/image catchall',\n fn: (req, res, _params, parsedUrl) =>\n imageOptimizer(server, req, res, parsedUrl),\n },\n {\n match: route('/_next/:path*'),\n type: 'route',\n name: '_next catchall',\n // This path is needed because `render()` does a check for `/_next` and the calls the routing again\n fn: async (req, res, _params, parsedUrl) => {\n await this.render404(req, res, parsedUrl)\n return {\n finished: true,\n }\n },\n },\n ...publicRoutes,\n ...staticFilesRoute,\n ]\n\n const getCustomRoute = (\n r: Rewrite | Redirect | Header,\n type: RouteType\n ) => {\n const match = getCustomRouteMatcher(r.source)\n\n return {\n ...r,\n type,\n match,\n name: type,\n fn: async (_req, _res, _params, _parsedUrl) => ({ finished: false }),\n } as Route & Rewrite & Header\n }\n\n // Headers come very first\n const headers = this.customRoutes.headers.map((r) => {\n const headerRoute = getCustomRoute(r, 'header')\n return {\n match: headerRoute.match,\n type: headerRoute.type,\n name: `${headerRoute.type} ${headerRoute.source} header route`,\n fn: async (_req, res, params, _parsedUrl) => {\n const hasParams = Object.keys(params).length > 0\n\n for (const header of (headerRoute as Header).headers) {\n let { key, value } = header\n if (hasParams) {\n key = compileNonPath(key, params)\n value = compileNonPath(value, params)\n }\n res.setHeader(key, value)\n }\n return { finished: false }\n },\n } as Route\n })\n\n // since initial query values are decoded by querystring.parse\n // we need to re-encode them here but still allow passing through\n // values from rewrites/redirects\n const stringifyQuery = (req: IncomingMessage, query: ParsedUrlQuery) => {\n const initialQueryValues = Object.values((req as any).__NEXT_INIT_QUERY)\n\n return stringifyQs(query, undefined, undefined, {\n encodeURIComponent(value) {\n if (initialQueryValues.some((val) => val === value)) {\n return encodeURIComponent(value)\n }\n return value\n },\n })\n }\n\n const redirects = this.minimalMode\n ? []\n : this.customRoutes.redirects.map((redirect) => {\n const redirectRoute = getCustomRoute(redirect, 'redirect')\n return {\n internal: redirectRoute.internal,\n type: redirectRoute.type,\n match: redirectRoute.match,\n statusCode: redirectRoute.statusCode,\n name: `Redirect route ${redirectRoute.source}`,\n fn: async (req, res, params, parsedUrl) => {\n const { parsedDestination } = prepareDestination(\n redirectRoute.destination,\n params,\n parsedUrl.query,\n false\n )\n\n const { query } = parsedDestination\n delete (parsedDestination as any).query\n\n parsedDestination.search = stringifyQuery(req, query)\n\n const updatedDestination = formatUrl(parsedDestination)\n\n res.setHeader('Location', updatedDestination)\n res.statusCode = getRedirectStatus(redirectRoute as Redirect)\n\n // Since IE11 doesn't support the 308 header add backwards\n // compatibility using refresh header\n if (res.statusCode === 308) {\n res.setHeader('Refresh', `0;url=${updatedDestination}`)\n }\n\n res.end()\n return {\n finished: true,\n }\n },\n } as Route\n })\n\n const rewrites = this.customRoutes.rewrites.map((rewrite) => {\n const rewriteRoute = getCustomRoute(rewrite, 'rewrite')\n return {\n ...rewriteRoute,\n check: true,\n type: rewriteRoute.type,\n name: `Rewrite route ${rewriteRoute.source}`,\n match: rewriteRoute.match,\n fn: async (req, res, params, parsedUrl) => {\n const { newUrl, parsedDestination } = prepareDestination(\n rewriteRoute.destination,\n params,\n parsedUrl.query,\n true\n )\n\n // external rewrite, proxy it\n if (parsedDestination.protocol) {\n const { query } = parsedDestination\n delete (parsedDestination as any).query\n parsedDestination.search = stringifyQuery(req, query)\n\n const target = formatUrl(parsedDestination)\n const proxy = new Proxy({\n target,\n changeOrigin: true,\n ignorePath: true,\n })\n proxy.web(req, res)\n\n proxy.on('error', (err: Error) => {\n console.error(`Error occurred proxying ${target}`, err)\n })\n return {\n finished: true,\n }\n }\n ;(req as any)._nextRewroteUrl = newUrl\n ;(req as any)._nextDidRewrite =\n (req as any)._nextRewroteUrl !== req.url\n\n return {\n finished: false,\n pathname: newUrl,\n query: parsedDestination.query,\n }\n },\n } as Route\n })\n\n const catchAllRoute: Route = {\n match: route('/:path*'),\n type: 'route',\n name: 'Catchall render',\n fn: async (req, res, _params, parsedUrl) => {\n let { pathname, query } = parsedUrl\n if (!pathname) {\n throw new Error('pathname is undefined')\n }\n\n // next.js core assumes page path without trailing slash\n pathname = removePathTrailingSlash(pathname)\n\n if (this.nextConfig.i18n) {\n const localePathResult = normalizeLocalePath(\n pathname,\n this.nextConfig.i18n?.locales\n )\n\n if (localePathResult.detectedLocale) {\n pathname = localePathResult.pathname\n parsedUrl.query.__nextLocale = localePathResult.detectedLocale\n }\n }\n\n if (pathname === '/api' || pathname.startsWith('/api/')) {\n const handled = await this.handleApiRequest(\n req as NextApiRequest,\n res as NextApiResponse,\n pathname,\n query\n )\n if (handled) {\n return { finished: true }\n }\n }\n\n await this.render(req, res, pathname, query, parsedUrl)\n return {\n finished: true,\n }\n },\n }\n\n const { useFileSystemPublicRoutes } = this.nextConfig\n\n if (useFileSystemPublicRoutes) {\n this.dynamicRoutes = this.getDynamicRoutes()\n }\n\n return {\n headers,\n fsRoutes,\n rewrites,\n redirects,\n catchAllRoute,\n useFileSystemPublicRoutes,\n dynamicRoutes: this.dynamicRoutes,\n basePath: this.nextConfig.basePath,\n pageChecker: this.hasPage.bind(this),\n locales: this.nextConfig.i18n?.locales || [],\n }\n }\n\n private async getPagePath(pathname: string): Promise {\n return getPagePath(\n pathname,\n this.distDir,\n this._isLikeServerless,\n this.renderOpts.dev\n )\n }\n\n protected async hasPage(pathname: string): Promise {\n let found = false\n try {\n found = !!(await this.getPagePath(pathname))\n } catch (_) {}\n\n return found\n }\n\n protected async _beforeCatchAllRender(\n _req: IncomingMessage,\n _res: ServerResponse,\n _params: Params,\n _parsedUrl: UrlWithParsedQuery\n ): Promise {\n return false\n }\n\n // Used to build API page in development\n protected async ensureApiPage(_pathname: string): Promise {}\n\n /**\n * Resolves `API` request, in development builds on demand\n * @param req http request\n * @param res http response\n * @param pathname path of request\n */\n private async handleApiRequest(\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n query: ParsedUrlQuery\n ): Promise {\n let page = pathname\n let params: Params | boolean = false\n let pageFound = await this.hasPage(page)\n\n if (!pageFound && this.dynamicRoutes) {\n for (const dynamicRoute of this.dynamicRoutes) {\n params = dynamicRoute.match(pathname)\n if (dynamicRoute.page.startsWith('/api') && params) {\n page = dynamicRoute.page\n pageFound = true\n break\n }\n }\n }\n\n if (!pageFound) {\n return false\n }\n // Make sure the page is built before getting the path\n // or else it won't be in the manifest yet\n await this.ensureApiPage(page)\n\n let builtPagePath\n try {\n builtPagePath = await this.getPagePath(page)\n } catch (err) {\n if (err.code === 'ENOENT') {\n return false\n }\n throw err\n }\n\n const pageModule = await require(builtPagePath)\n query = { ...query, ...params }\n\n delete query.__nextLocale\n delete query.__nextDefaultLocale\n\n if (!this.renderOpts.dev && this._isLikeServerless) {\n if (typeof pageModule.default === 'function') {\n prepareServerlessUrl(req, query)\n await pageModule.default(req, res)\n return true\n }\n }\n\n await apiResolver(\n req,\n res,\n query,\n pageModule,\n this.renderOpts.previewProps,\n false,\n this.onErrorMiddleware\n )\n return true\n }\n\n protected generatePublicRoutes(): Route[] {\n const publicFiles = new Set(\n recursiveReadDirSync(this.publicDir).map((p) =>\n encodeURI(p.replace(/\\\\/g, '/'))\n )\n )\n\n return [\n {\n match: route('/:path*'),\n name: 'public folder catchall',\n fn: async (req, res, params, parsedUrl) => {\n const pathParts: string[] = params.path || []\n const { basePath } = this.nextConfig\n\n // if basePath is defined require it be present\n if (basePath) {\n const basePathParts = basePath.split('/')\n // remove first empty value\n basePathParts.shift()\n\n if (\n !basePathParts.every((part: string, idx: number) => {\n return part === pathParts[idx]\n })\n ) {\n return { finished: false }\n }\n\n pathParts.splice(0, basePathParts.length)\n }\n\n const path = `/${pathParts.join('/')}`\n\n if (publicFiles.has(path)) {\n await this.serveStatic(\n req,\n res,\n join(this.publicDir, ...pathParts),\n parsedUrl\n )\n return {\n finished: true,\n }\n }\n return {\n finished: false,\n }\n },\n } as Route,\n ]\n }\n\n protected getDynamicRoutes(): Array {\n const addedPages = new Set()\n\n return getSortedRoutes(\n Object.keys(this.pagesManifest!).map(\n (page) =>\n normalizeLocalePath(page, this.nextConfig.i18n?.locales).pathname\n )\n )\n .map((page) => {\n if (addedPages.has(page) || !isDynamicRoute(page)) return null\n addedPages.add(page)\n return {\n page,\n match: getRouteMatcher(getRouteRegex(page)),\n }\n })\n .filter((item): item is DynamicRouteItem => Boolean(item))\n }\n\n private handleCompression(req: IncomingMessage, res: ServerResponse): void {\n if (this.compression) {\n this.compression(req, res, () => {})\n }\n }\n\n protected async run(\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl: UrlWithParsedQuery\n ): Promise {\n this.handleCompression(req, res)\n\n try {\n const matched = await this.router.execute(req, res, parsedUrl)\n if (matched) {\n return\n }\n } catch (err) {\n if (err.code === 'DECODE_FAILED') {\n res.statusCode = 400\n return this.renderError(null, req, res, '/_error', {})\n }\n throw err\n }\n\n await this.render404(req, res, parsedUrl)\n }\n\n protected async sendHTML(\n req: IncomingMessage,\n res: ServerResponse,\n html: string\n ): Promise {\n const { generateEtags, poweredByHeader } = this.renderOpts\n return sendPayload(req, res, html, 'html', {\n generateEtags,\n poweredByHeader,\n })\n }\n\n public async render(\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n query: ParsedUrlQuery = {},\n parsedUrl?: UrlWithParsedQuery\n ): Promise {\n if (!pathname.startsWith('/')) {\n console.warn(\n `Cannot render page with path \"${pathname}\", did you mean \"/${pathname}\"?. See more info here: https://err.sh/next.js/render-no-starting-slash`\n )\n }\n\n if (\n this.renderOpts.customServer &&\n pathname === '/index' &&\n !(await this.hasPage('/index'))\n ) {\n // maintain backwards compatibility for custom server\n // (see custom-server integration tests)\n pathname = '/'\n }\n\n const url: any = req.url\n\n // we allow custom servers to call render for all URLs\n // so check if we need to serve a static _next file or not.\n // we don't modify the URL for _next/data request but still\n // call render so we special case this to prevent an infinite loop\n if (\n !query._nextDataReq &&\n (url.match(/^\\/_next\\//) ||\n (this.hasStaticDir && url.match(/^\\/static\\//)))\n ) {\n return this.handleRequest(req, res, parsedUrl)\n }\n\n if (isBlockedPage(pathname)) {\n return this.render404(req, res, parsedUrl)\n }\n\n const html = await this.renderToHTML(req, res, pathname, query)\n // Request was ended by the user\n if (html === null) {\n return\n }\n\n return this.sendHTML(req, res, html)\n }\n\n private async findPageComponents(\n pathname: string,\n query: ParsedUrlQuery = {},\n params: Params | null = null\n ): Promise {\n let paths = [\n // try serving a static AMP version first\n query.amp ? normalizePagePath(pathname) + '.amp' : null,\n pathname,\n ].filter(Boolean)\n\n if (query.__nextLocale) {\n paths = [\n ...paths.map(\n (path) => `/${query.__nextLocale}${path === '/' ? '' : path}`\n ),\n ...paths,\n ]\n }\n\n for (const pagePath of paths) {\n try {\n const components = await loadComponents(\n this.distDir,\n pagePath!,\n !this.renderOpts.dev && this._isLikeServerless\n )\n // if loading an static HTML file the locale is required\n // to be present since all HTML files are output under their locale\n if (\n query.__nextLocale &&\n typeof components.Component === 'string' &&\n !pagePath?.startsWith(`/${query.__nextLocale}`)\n ) {\n const err = new Error('NOT_FOUND')\n ;(err as any).code = 'ENOENT'\n throw err\n }\n\n return {\n components,\n query: {\n ...(components.getStaticProps\n ? {\n amp: query.amp,\n _nextDataReq: query._nextDataReq,\n __nextLocale: query.__nextLocale,\n __nextDefaultLocale: query.__nextDefaultLocale,\n }\n : query),\n ...(params || {}),\n },\n }\n } catch (err) {\n if (err.code !== 'ENOENT') throw err\n }\n }\n return null\n }\n\n protected async getStaticPaths(\n pathname: string\n ): Promise<{\n staticPaths: string[] | undefined\n fallbackMode: 'static' | 'blocking' | false\n }> {\n // `staticPaths` is intentionally set to `undefined` as it should've\n // been caught when checking disk data.\n const staticPaths = undefined\n\n // Read whether or not fallback should exist from the manifest.\n const fallbackField = this.getPrerenderManifest().dynamicRoutes[pathname]\n .fallback\n\n return {\n staticPaths,\n fallbackMode:\n typeof fallbackField === 'string'\n ? 'static'\n : fallbackField === null\n ? 'blocking'\n : false,\n }\n }\n\n private async renderToHTMLWithComponents(\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n { components, query }: FindComponentsResult,\n opts: RenderOptsPartial\n ): Promise {\n const is404Page = pathname === '/404'\n\n const isLikeServerless =\n typeof components.Component === 'object' &&\n typeof (components.Component as any).renderReqToHTML === 'function'\n const isSSG = !!components.getStaticProps\n const hasServerProps = !!components.getServerSideProps\n const hasStaticPaths = !!components.getStaticPaths\n const hasGetInitialProps = !!(components.Component as any).getInitialProps\n\n // Toggle whether or not this is a Data request\n const isDataReq = !!query._nextDataReq && (isSSG || hasServerProps)\n delete query._nextDataReq\n\n // we need to ensure the status code if /404 is visited directly\n if (is404Page && !isDataReq) {\n res.statusCode = 404\n }\n\n // handle static page\n if (typeof components.Component === 'string') {\n return components.Component\n }\n\n if (!query.amp) {\n delete query.amp\n }\n\n const locale = query.__nextLocale as string\n const defaultLocale = isSSG\n ? this.nextConfig.i18n?.defaultLocale\n : (query.__nextDefaultLocale as string)\n\n const { i18n } = this.nextConfig\n const locales = i18n?.locales\n\n let previewData: string | false | object | undefined\n let isPreviewMode = false\n\n if (hasServerProps || isSSG) {\n previewData = tryGetPreviewData(req, res, this.renderOpts.previewProps)\n isPreviewMode = previewData !== false\n }\n\n // Compute the iSSG cache key. We use the rewroteUrl since\n // pages with fallback: false are allowed to be rewritten to\n // and we need to look up the path by the rewritten path\n let urlPathname = parseUrl(req.url || '').pathname || '/'\n\n let resolvedUrlPathname = (req as any)._nextRewroteUrl\n ? (req as any)._nextRewroteUrl\n : urlPathname\n\n urlPathname = removePathTrailingSlash(urlPathname)\n resolvedUrlPathname = normalizeLocalePath(\n removePathTrailingSlash(resolvedUrlPathname),\n this.nextConfig.i18n?.locales\n ).pathname\n\n const stripNextDataPath = (path: string) => {\n if (path.includes(this.buildId)) {\n const splitPath = path.substring(\n path.indexOf(this.buildId) + this.buildId.length\n )\n\n path = denormalizePagePath(splitPath.replace(/\\.json$/, ''))\n }\n\n if (this.nextConfig.i18n) {\n return normalizeLocalePath(path, locales).pathname\n }\n return path\n }\n\n const handleRedirect = (pageData: any) => {\n const redirect = {\n destination: pageData.pageProps.__N_REDIRECT,\n statusCode: pageData.pageProps.__N_REDIRECT_STATUS,\n basePath: pageData.pageProps.__N_REDIRECT_BASE_PATH,\n }\n const statusCode = getRedirectStatus(redirect)\n const { basePath } = this.nextConfig\n\n if (basePath && redirect.basePath !== false) {\n redirect.destination = `${basePath}${redirect.destination}`\n }\n\n if (statusCode === PERMANENT_REDIRECT_STATUS) {\n res.setHeader('Refresh', `0;url=${redirect.destination}`)\n }\n\n res.statusCode = statusCode\n res.setHeader('Location', redirect.destination)\n res.end()\n }\n\n // remove /_next/data prefix from urlPathname so it matches\n // for direct page visit and /_next/data visit\n if (isDataReq) {\n resolvedUrlPathname = stripNextDataPath(resolvedUrlPathname)\n urlPathname = stripNextDataPath(urlPathname)\n }\n\n let ssgCacheKey =\n isPreviewMode || !isSSG || this.minimalMode\n ? undefined // Preview mode bypasses the cache\n : `${locale ? `/${locale}` : ''}${\n (pathname === '/' || resolvedUrlPathname === '/') && locale\n ? ''\n : resolvedUrlPathname\n }${query.amp ? '.amp' : ''}`\n\n if (is404Page && isSSG) {\n ssgCacheKey = `${locale ? `/${locale}` : ''}${pathname}${\n query.amp ? '.amp' : ''\n }`\n }\n\n if (ssgCacheKey) {\n // we only encode path delimiters for path segments from\n // getStaticPaths so we need to attempt decoding the URL\n // to match against and only escape the path delimiters\n // this allows non-ascii values to be handled e.g. Japanese characters\n\n // TODO: investigate adding this handling for non-SSG pages so\n // non-ascii names work there also\n ssgCacheKey = ssgCacheKey\n .split('/')\n .map((seg) => {\n try {\n seg = escapePathDelimiters(decodeURIComponent(seg), true)\n } catch (_) {\n // An improperly encoded URL was provided, this is considered\n // a bad request (400)\n const err: Error & { code?: string } = new Error(\n 'failed to decode param'\n )\n err.code = 'DECODE_FAILED'\n throw err\n }\n return seg\n })\n .join('/')\n }\n\n // Complete the response with cached data if its present\n const cachedData = ssgCacheKey\n ? await this.incrementalCache.get(ssgCacheKey)\n : undefined\n\n if (cachedData) {\n const data = isDataReq\n ? JSON.stringify(cachedData.pageData)\n : cachedData.html\n\n const revalidateOptions = !this.renderOpts.dev\n ? {\n private: isPreviewMode,\n stateful: false, // GSP response\n revalidate:\n cachedData.curRevalidate !== undefined\n ? cachedData.curRevalidate\n : /* default to minimum revalidate (this should be an invariant) */ 1,\n }\n : undefined\n\n if (!isDataReq && cachedData.pageData?.pageProps?.__N_REDIRECT) {\n await handleRedirect(cachedData.pageData)\n } else if (cachedData.isNotFound) {\n if (revalidateOptions) {\n setRevalidateHeaders(res, revalidateOptions)\n }\n if (isDataReq) {\n res.statusCode = 404\n res.end('{\"notFound\":true}')\n } else {\n await this.render404(req, res, {\n pathname,\n query,\n } as UrlWithParsedQuery)\n }\n } else {\n sendPayload(\n req,\n res,\n data,\n isDataReq ? 'json' : 'html',\n {\n generateEtags: this.renderOpts.generateEtags,\n poweredByHeader: this.renderOpts.poweredByHeader,\n },\n revalidateOptions\n )\n }\n\n // Stop the request chain here if the data we sent was up-to-date\n if (!cachedData.isStale) {\n return null\n }\n }\n\n // If we're here, that means data is missing or it's stale.\n const maybeCoalesceInvoke = ssgCacheKey\n ? (fn: any) => withCoalescedInvoke(fn).bind(null, ssgCacheKey!, [])\n : (fn: any) => async () => {\n const value = await fn()\n return { isOrigin: true, value }\n }\n\n const doRender = maybeCoalesceInvoke(\n async (): Promise<{\n html: string | null\n pageData: any\n sprRevalidate: number | false\n isNotFound?: boolean\n isRedirect?: boolean\n }> => {\n let pageData: any\n let html: string | null\n let sprRevalidate: number | false\n let isNotFound: boolean | undefined\n let isRedirect: boolean | undefined\n\n let renderResult\n // handle serverless\n if (isLikeServerless) {\n renderResult = await (components.Component as any).renderReqToHTML(\n req,\n res,\n 'passthrough',\n {\n locale,\n locales,\n defaultLocale,\n optimizeCss: this.renderOpts.optimizeCss,\n distDir: this.distDir,\n fontManifest: this.renderOpts.fontManifest,\n domainLocales: this.renderOpts.domainLocales,\n }\n )\n\n html = renderResult.html\n pageData = renderResult.renderOpts.pageData\n sprRevalidate = renderResult.renderOpts.revalidate\n isNotFound = renderResult.renderOpts.isNotFound\n isRedirect = renderResult.renderOpts.isRedirect\n } else {\n const origQuery = parseUrl(req.url || '', true).query\n const hadTrailingSlash =\n urlPathname !== '/' && this.nextConfig.trailingSlash\n\n const resolvedUrl = formatUrl({\n pathname: `${resolvedUrlPathname}${hadTrailingSlash ? '/' : ''}`,\n // make sure to only add query values from original URL\n query: origQuery,\n })\n\n const renderOpts: RenderOpts = {\n ...components,\n ...opts,\n isDataReq,\n resolvedUrl,\n locale,\n locales,\n defaultLocale,\n // For getServerSideProps and getInitialProps we need to ensure we use the original URL\n // and not the resolved URL to prevent a hydration mismatch on\n // asPath\n resolvedAsPath:\n hasServerProps || hasGetInitialProps\n ? formatUrl({\n // we use the original URL pathname less the _next/data prefix if\n // present\n pathname: `${urlPathname}${hadTrailingSlash ? '/' : ''}`,\n query: origQuery,\n })\n : resolvedUrl,\n }\n\n renderResult = await renderToHTML(\n req,\n res,\n pathname,\n query,\n renderOpts\n )\n\n html = renderResult\n // TODO: change this to a different passing mechanism\n pageData = (renderOpts as any).pageData\n sprRevalidate = (renderOpts as any).revalidate\n isNotFound = (renderOpts as any).isNotFound\n isRedirect = (renderOpts as any).isRedirect\n }\n\n return { html, pageData, sprRevalidate, isNotFound, isRedirect }\n }\n )\n\n const isProduction = !this.renderOpts.dev\n const isDynamicPathname = isDynamicRoute(pathname)\n const didRespond = isResSent(res)\n\n const { staticPaths, fallbackMode } = hasStaticPaths\n ? await this.getStaticPaths(pathname)\n : { staticPaths: undefined, fallbackMode: false }\n\n // When we did not respond from cache, we need to choose to block on\n // rendering or return a skeleton.\n //\n // * Data requests always block.\n //\n // * Blocking mode fallback always blocks.\n //\n // * Preview mode toggles all pages to be resolved in a blocking manner.\n //\n // * Non-dynamic pages should block (though this is an impossible\n // case in production).\n //\n // * Dynamic pages should return their skeleton if not defined in\n // getStaticPaths, then finish the data request on the client-side.\n //\n if (\n this.minimalMode !== true &&\n fallbackMode !== 'blocking' &&\n ssgCacheKey &&\n !didRespond &&\n !isPreviewMode &&\n isDynamicPathname &&\n // Development should trigger fallback when the path is not in\n // `getStaticPaths`\n (isProduction ||\n !staticPaths ||\n !staticPaths.includes(\n // we use ssgCacheKey here as it is normalized to match the\n // encoding from getStaticPaths along with including the locale\n query.amp ? ssgCacheKey.replace(/\\.amp$/, '') : ssgCacheKey\n ))\n ) {\n if (\n // In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || staticPaths) &&\n // When fallback isn't present, abort this render so we 404\n fallbackMode !== 'static'\n ) {\n throw new NoFallbackError()\n }\n\n if (!isDataReq) {\n let html: string\n\n // Production already emitted the fallback as static HTML.\n if (isProduction) {\n html = await this.incrementalCache.getFallback(\n locale ? `/${locale}${pathname}` : pathname\n )\n }\n // We need to generate the fallback on-demand for development.\n else {\n query.__nextFallback = 'true'\n if (isLikeServerless) {\n prepareServerlessUrl(req, query)\n }\n const { value: renderResult } = await doRender()\n html = renderResult.html\n }\n\n sendPayload(req, res, html, 'html', {\n generateEtags: this.renderOpts.generateEtags,\n poweredByHeader: this.renderOpts.poweredByHeader,\n })\n return null\n }\n }\n\n const {\n isOrigin,\n value: { html, pageData, sprRevalidate, isNotFound, isRedirect },\n } = await doRender()\n let resHtml = html\n\n const revalidateOptions =\n !this.renderOpts.dev || (hasServerProps && !isDataReq)\n ? {\n private: isPreviewMode,\n stateful: !isSSG,\n revalidate: sprRevalidate,\n }\n : undefined\n\n if (\n !isResSent(res) &&\n !isNotFound &&\n (isSSG || isDataReq || hasServerProps)\n ) {\n if (isRedirect && !isDataReq) {\n await handleRedirect(pageData)\n } else {\n sendPayload(\n req,\n res,\n isDataReq ? JSON.stringify(pageData) : html,\n isDataReq ? 'json' : 'html',\n {\n generateEtags: this.renderOpts.generateEtags,\n poweredByHeader: this.renderOpts.poweredByHeader,\n },\n revalidateOptions\n )\n }\n resHtml = null\n }\n\n // Update the cache if the head request and cacheable\n if (isOrigin && ssgCacheKey) {\n await this.incrementalCache.set(\n ssgCacheKey,\n { html: html!, pageData, isNotFound, isRedirect },\n sprRevalidate\n )\n }\n\n if (!isResSent(res) && isNotFound) {\n if (revalidateOptions) {\n setRevalidateHeaders(res, revalidateOptions)\n }\n if (isDataReq) {\n res.statusCode = 404\n res.end('{\"notFound\":true}')\n } else {\n await this.render404(req, res, {\n pathname,\n query,\n } as UrlWithParsedQuery)\n }\n }\n return resHtml\n }\n\n public async renderToHTML(\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n query: ParsedUrlQuery = {}\n ): Promise {\n try {\n const result = await this.findPageComponents(pathname, query)\n if (result) {\n try {\n return await this.renderToHTMLWithComponents(\n req,\n res,\n pathname,\n result,\n { ...this.renderOpts }\n )\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n throw err\n }\n }\n }\n\n if (this.dynamicRoutes) {\n for (const dynamicRoute of this.dynamicRoutes) {\n const params = dynamicRoute.match(pathname)\n if (!params) {\n continue\n }\n\n const dynamicRouteResult = await this.findPageComponents(\n dynamicRoute.page,\n query,\n params\n )\n if (dynamicRouteResult) {\n try {\n return await this.renderToHTMLWithComponents(\n req,\n res,\n dynamicRoute.page,\n dynamicRouteResult,\n { ...this.renderOpts, params }\n )\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n throw err\n }\n }\n }\n }\n }\n } catch (err) {\n if (err && err.code === 'DECODE_FAILED') {\n this.logError(err)\n res.statusCode = 400\n return await this.renderErrorToHTML(err, req, res, pathname, query)\n }\n res.statusCode = 500\n const html = await this.renderErrorToHTML(err, req, res, pathname, query)\n\n if (this.minimalMode) {\n throw err\n }\n this.logError(err)\n return html\n }\n res.statusCode = 404\n return await this.renderErrorToHTML(null, req, res, pathname, query)\n }\n\n public async renderError(\n err: Error | null,\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n query: ParsedUrlQuery = {},\n setHeaders = true\n ): Promise {\n if (setHeaders) {\n res.setHeader(\n 'Cache-Control',\n 'no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n const html = await this.renderErrorToHTML(err, req, res, pathname, query)\n\n if (this.minimalMode && res.statusCode === 500) {\n throw err\n }\n if (html === null) {\n return\n }\n return this.sendHTML(req, res, html)\n }\n\n private customErrorNo404Warn = execOnce(() => {\n console.warn(\n chalk.bold.yellow(`Warning: `) +\n chalk.yellow(\n `You have added a custom /_error page without a custom /404 page. This prevents the 404 page from being auto statically optimized.\\nSee here for info: https://err.sh/next.js/custom-error-no-custom-404`\n )\n )\n })\n\n public async renderErrorToHTML(\n err: Error | null,\n req: IncomingMessage,\n res: ServerResponse,\n _pathname: string,\n query: ParsedUrlQuery = {}\n ) {\n let result: null | FindComponentsResult = null\n\n const is404 = res.statusCode === 404\n let using404Page = false\n\n // use static 404 page if available and is 404 response\n if (is404) {\n result = await this.findPageComponents('/404', query)\n using404Page = result !== null\n }\n\n if (!result) {\n result = await this.findPageComponents('/_error', query)\n }\n\n if (\n process.env.NODE_ENV !== 'production' &&\n !using404Page &&\n (await this.hasPage('/_error')) &&\n !(await this.hasPage('/404'))\n ) {\n this.customErrorNo404Warn()\n }\n\n let html: string | null\n try {\n try {\n html = await this.renderToHTMLWithComponents(\n req,\n res,\n using404Page ? '/404' : '/_error',\n result!,\n {\n ...this.renderOpts,\n err,\n }\n )\n } catch (maybeFallbackError) {\n if (maybeFallbackError instanceof NoFallbackError) {\n throw new Error('invariant: failed to render error page')\n }\n throw maybeFallbackError\n }\n } catch (renderToHtmlError) {\n console.error(renderToHtmlError)\n res.statusCode = 500\n html = 'Internal Server Error'\n }\n return html\n }\n\n public async render404(\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl?: UrlWithParsedQuery,\n setHeaders = true\n ): Promise {\n const url: any = req.url\n const { pathname, query } = parsedUrl ? parsedUrl : parseUrl(url, true)\n const { i18n } = this.nextConfig\n\n if (i18n) {\n query.__nextLocale = query.__nextLocale || i18n.defaultLocale\n query.__nextDefaultLocale =\n query.__nextDefaultLocale || i18n.defaultLocale\n }\n res.statusCode = 404\n return this.renderError(null, req, res, pathname!, query, setHeaders)\n }\n\n public async serveStatic(\n req: IncomingMessage,\n res: ServerResponse,\n path: string,\n parsedUrl?: UrlWithParsedQuery\n ): Promise {\n if (!this.isServeableUrl(path)) {\n return this.render404(req, res, parsedUrl)\n }\n\n if (!(req.method === 'GET' || req.method === 'HEAD')) {\n res.statusCode = 405\n res.setHeader('Allow', ['GET', 'HEAD'])\n return this.renderError(null, req, res, path)\n }\n\n try {\n await serveStatic(req, res, path)\n } catch (err) {\n if (err.code === 'ENOENT' || err.statusCode === 404) {\n this.render404(req, res, parsedUrl)\n } else if (err.statusCode === 412) {\n res.statusCode = 412\n return this.renderError(err, req, res, path)\n } else {\n throw err\n }\n }\n }\n\n private _validFilesystemPathSet: Set | null = null\n private getFilesystemPaths(): Set {\n if (this._validFilesystemPathSet) {\n return this._validFilesystemPathSet\n }\n\n const pathUserFilesStatic = join(this.dir, 'static')\n let userFilesStatic: string[] = []\n if (this.hasStaticDir && fs.existsSync(pathUserFilesStatic)) {\n userFilesStatic = recursiveReadDirSync(pathUserFilesStatic).map((f) =>\n join('.', 'static', f)\n )\n }\n\n let userFilesPublic: string[] = []\n if (this.publicDir && fs.existsSync(this.publicDir)) {\n userFilesPublic = recursiveReadDirSync(this.publicDir).map((f) =>\n join('.', 'public', f)\n )\n }\n\n let nextFilesStatic: string[] = []\n nextFilesStatic = !this.minimalMode\n ? recursiveReadDirSync(join(this.distDir, 'static')).map((f) =>\n join('.', relative(this.dir, this.distDir), 'static', f)\n )\n : []\n\n return (this._validFilesystemPathSet = new Set([\n ...nextFilesStatic,\n ...userFilesPublic,\n ...userFilesStatic,\n ]))\n }\n\n protected isServeableUrl(untrustedFileUrl: string): boolean {\n // This method mimics what the version of `send` we use does:\n // 1. decodeURIComponent:\n // https://github.com/pillarjs/send/blob/0.17.1/index.js#L989\n // https://github.com/pillarjs/send/blob/0.17.1/index.js#L518-L522\n // 2. resolve:\n // https://github.com/pillarjs/send/blob/de073ed3237ade9ff71c61673a34474b30e5d45b/index.js#L561\n\n let decodedUntrustedFilePath: string\n try {\n // (1) Decode the URL so we have the proper file name\n decodedUntrustedFilePath = decodeURIComponent(untrustedFileUrl)\n } catch {\n return false\n }\n\n // (2) Resolve \"up paths\" to determine real request\n const untrustedFilePath = resolve(decodedUntrustedFilePath)\n\n // don't allow null bytes anywhere in the file path\n if (untrustedFilePath.indexOf('\\0') !== -1) {\n return false\n }\n\n // Check if .next/static, static and public are in the path.\n // If not the path is not available.\n if (\n (untrustedFilePath.startsWith(join(this.distDir, 'static') + sep) ||\n untrustedFilePath.startsWith(join(this.dir, 'static') + sep) ||\n untrustedFilePath.startsWith(join(this.dir, 'public') + sep)) === false\n ) {\n return false\n }\n\n // Check against the real filesystem paths\n const filesystemUrls = this.getFilesystemPaths()\n const resolved = relative(this.dir, untrustedFilePath)\n return filesystemUrls.has(resolved)\n }\n\n protected readBuildId(): string {\n const buildIdFile = join(this.distDir, BUILD_ID_FILE)\n try {\n return fs.readFileSync(buildIdFile, 'utf8').trim()\n } catch (err) {\n if (!fs.existsSync(buildIdFile)) {\n throw new Error(\n `Could not find a production build in the '${this.distDir}' directory. Try building your app with 'next build' before starting the production server. https://err.sh/vercel/next.js/production-start-no-build-id`\n )\n }\n\n throw err\n }\n }\n\n protected get _isLikeServerless(): boolean {\n return isTargetLikeServerless(this.nextConfig.target)\n }\n}\n\nfunction prepareServerlessUrl(\n req: IncomingMessage,\n query: ParsedUrlQuery\n): void {\n const curUrl = parseUrl(req.url!, true)\n req.url = formatUrl({\n ...curUrl,\n search: undefined,\n query: {\n ...curUrl.query,\n ...query,\n },\n })\n}\n\nclass NoFallbackError extends Error {}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js b/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js new file mode 100644 index 00000000..1601a67a --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js @@ -0,0 +1,3 @@ +"use strict";var _nodeFetch=_interopRequireWildcard(require("node-fetch"));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}// Polyfill fetch() in the Node.js environment +if(!global.fetch){global.fetch=_nodeFetch.default;global.Headers=_nodeFetch.Headers;global.Request=_nodeFetch.Request;global.Response=_nodeFetch.Response;} +//# sourceMappingURL=node-polyfill-fetch.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js.map b/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js.map new file mode 100644 index 00000000..06889c51 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/node-polyfill-fetch.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/node-polyfill-fetch.js"],"names":["global","fetch","Headers","Request","Response"],"mappings":"aAAA,8D,qzBAEA;AACA,GAAI,CAACA,MAAM,CAACC,KAAZ,CAAmB,CACjBD,MAAM,CAACC,KAAP,CAAeA,kBAAf,CACAD,MAAM,CAACE,OAAP,CAAiBA,kBAAjB,CACAF,MAAM,CAACG,OAAP,CAAiBA,kBAAjB,CACAH,MAAM,CAACI,QAAP,CAAkBA,mBAAlB,CACD","sourcesContent":["import fetch, { Headers, Request, Response } from 'node-fetch'\n\n// Polyfill fetch() in the Node.js environment\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.d.ts b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.d.ts new file mode 100644 index 00000000..3dbb6143 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.d.ts @@ -0,0 +1,2 @@ +export { normalizePathSep, denormalizePagePath } from './denormalize-page-path'; +export declare function normalizePagePath(page: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js new file mode 100644 index 00000000..7485c8cc --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js @@ -0,0 +1,5 @@ +"use strict";exports.__esModule=true;exports.normalizePagePath=normalizePagePath;exports.denormalizePagePath=exports.normalizePathSep=void 0;var _path=require("path");var _denormalizePagePath=require("./denormalize-page-path");exports.normalizePathSep=_denormalizePagePath.normalizePathSep;exports.denormalizePagePath=_denormalizePagePath.denormalizePagePath;function normalizePagePath(page){// If the page is `/` we need to append `/index`, otherwise the returned directory root will be bundles instead of pages +if(page==='/'){page='/index';}else if(/^\/index(\/|$)/.test(page)){page=`/index${page}`;}// Resolve on anything that doesn't start with `/` +if(!page.startsWith('/')){page=`/${page}`;}// Throw when using ../ etc in the pathname +const resolvedPage=_path.posix.normalize(page);if(page!==resolvedPage){throw new Error(`Requested and resolved page mismatch: ${page} ${resolvedPage}`);}return page;} +//# sourceMappingURL=normalize-page-path.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js.map b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js.map new file mode 100644 index 00000000..09114b42 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/normalize-page-path.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/normalize-page-path.ts"],"names":["normalizePagePath","page","test","startsWith","resolvedPage","posix","normalize","Error"],"mappings":"6IAAA,0BAEA,4D,oIAEO,QAASA,CAAAA,iBAAT,CAA2BC,IAA3B,CAAiD,CACtD;AACA,GAAIA,IAAI,GAAK,GAAb,CAAkB,CAChBA,IAAI,CAAG,QAAP,CACD,CAFD,IAEO,IAAI,iBAAiBC,IAAjB,CAAsBD,IAAtB,CAAJ,CAAiC,CACtCA,IAAI,CAAI,SAAQA,IAAK,EAArB,CACD,CACD;AACA,GAAI,CAACA,IAAI,CAACE,UAAL,CAAgB,GAAhB,CAAL,CAA2B,CACzBF,IAAI,CAAI,IAAGA,IAAK,EAAhB,CACD,CACD;AACA,KAAMG,CAAAA,YAAY,CAAGC,YAAMC,SAAN,CAAgBL,IAAhB,CAArB,CACA,GAAIA,IAAI,GAAKG,YAAb,CAA2B,CACzB,KAAM,IAAIG,CAAAA,KAAJ,CACH,yCAAwCN,IAAK,IAAGG,YAAa,EAD1D,CAAN,CAGD,CACD,MAAOH,CAAAA,IAAP,CACD","sourcesContent":["import { posix } from 'path'\n\nexport { normalizePathSep, denormalizePagePath } from './denormalize-page-path'\n\nexport function normalizePagePath(page: string): string {\n // If the page is `/` we need to append `/index`, otherwise the returned directory root will be bundles instead of pages\n if (page === '/') {\n page = '/index'\n } else if (/^\\/index(\\/|$)/.test(page)) {\n page = `/index${page}`\n }\n // Resolve on anything that doesn't start with `/`\n if (!page.startsWith('/')) {\n page = `/${page}`\n }\n // Throw when using ../ etc in the pathname\n const resolvedPage = posix.normalize(page)\n if (page !== resolvedPage) {\n throw new Error(\n `Requested and resolved page mismatch: ${page} ${resolvedPage}`\n )\n }\n return page\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.d.ts b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.d.ts new file mode 100644 index 00000000..53129293 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.d.ts @@ -0,0 +1 @@ +export default function optimize(html: string, config: any): Promise; diff --git a/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js new file mode 100644 index 00000000..6c31f9a3 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.default=optimize;async function optimize(html,config){let AmpOptimizer;try{AmpOptimizer=require('next/dist/compiled/@ampproject/toolbox-optimizer');}catch(_){return html;}const optimizer=AmpOptimizer.create(config);return optimizer.transformHtml(html,config);} +//# sourceMappingURL=optimize-amp.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js.map b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js.map new file mode 100644 index 00000000..36cfe467 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/optimize-amp.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/optimize-amp.ts"],"names":["optimize","html","config","AmpOptimizer","require","_","optimizer","create","transformHtml"],"mappings":"8DAAe,cAAeA,CAAAA,QAAf,CACbC,IADa,CAEbC,MAFa,CAGI,CACjB,GAAIC,CAAAA,YAAJ,CACA,GAAI,CACFA,YAAY,CAAGC,OAAO,CAAC,kDAAD,CAAtB,CACD,CAAC,MAAOC,CAAP,CAAU,CACV,MAAOJ,CAAAA,IAAP,CACD,CACD,KAAMK,CAAAA,SAAS,CAAGH,YAAY,CAACI,MAAb,CAAoBL,MAApB,CAAlB,CACA,MAAOI,CAAAA,SAAS,CAACE,aAAV,CAAwBP,IAAxB,CAA8BC,MAA9B,CAAP,CACD","sourcesContent":["export default async function optimize(\n html: string,\n config: any\n): Promise {\n let AmpOptimizer\n try {\n AmpOptimizer = require('next/dist/compiled/@ampproject/toolbox-optimizer')\n } catch (_) {\n return html\n }\n const optimizer = AmpOptimizer.create(config)\n return optimizer.transformHtml(html, config)\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/render.d.ts b/ninjalist/node_modules/next/dist/next-server/server/render.d.ts new file mode 100644 index 00000000..75096bc1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/render.d.ts @@ -0,0 +1,52 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +import { ParsedUrlQuery } from 'querystring'; +import React from 'react'; +import { __ApiPreviewProps } from './api-utils'; +import { FontManifest } from './font-utils'; +import { LoadComponentsReturnType } from './load-components'; +import { DomainLocales } from './config'; +export declare type RenderOptsPartial = { + buildId: string; + canonicalBase: string; + runtimeConfig?: { + [key: string]: any; + }; + assetPrefix?: string; + err?: Error | null; + autoExport?: boolean; + nextExport?: boolean; + dev?: boolean; + ampMode?: any; + ampPath?: string; + inAmpMode?: boolean; + hybridAmp?: boolean; + ErrorDebug?: React.ComponentType<{ + error: Error; + }>; + ampValidator?: (html: string, pathname: string) => Promise; + ampSkipValidation?: boolean; + ampOptimizerConfig?: { + [key: string]: any; + }; + isDataReq?: boolean; + params?: ParsedUrlQuery; + previewProps: __ApiPreviewProps; + basePath: string; + unstable_runtimeJS?: false; + unstable_JsPreload?: false; + optimizeFonts: boolean; + fontManifest?: FontManifest; + optimizeImages: boolean; + optimizeCss: any; + devOnlyCacheBusterQueryString?: string; + resolvedUrl?: string; + resolvedAsPath?: string; + distDir?: string; + locale?: string; + locales?: string[]; + defaultLocale?: string; + domainLocales?: DomainLocales; +}; +export declare type RenderOpts = LoadComponentsReturnType & RenderOptsPartial; +export declare function renderToHTML(req: IncomingMessage, res: ServerResponse, pathname: string, query: ParsedUrlQuery, renderOpts: RenderOpts): Promise; diff --git a/ninjalist/node_modules/next/dist/next-server/server/render.js b/ninjalist/node_modules/next/dist/next-server/server/render.js new file mode 100644 index 00000000..36a231b1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/render.js @@ -0,0 +1,63 @@ +"use strict";exports.__esModule=true;exports.renderToHTML=renderToHTML;var _react=_interopRequireDefault(require("react"));var _server=require("react-dom/server");var _log=require("../../build/output/log");var _constants=require("../../lib/constants");var _isSerializableProps=require("../../lib/is-serializable-props");var _amp=require("../lib/amp");var _ampContext=require("../lib/amp-context");var _constants2=require("../lib/constants");var _head=require("../lib/head");var _headManagerContext=require("../lib/head-manager-context");var _loadable=_interopRequireDefault(require("../lib/loadable"));var _loadableContext=require("../lib/loadable-context");var _mitt=_interopRequireDefault(require("../lib/mitt"));var _postProcess=_interopRequireDefault(require("../lib/post-process"));var _routerContext=require("../lib/router-context");var _isDynamic=require("../lib/router/utils/is-dynamic");var _utils=require("../lib/utils");var _apiUtils=require("./api-utils");var _denormalizePagePath=require("./denormalize-page-path");var _fontUtils=require("./font-utils");var _normalizePagePath=require("./normalize-page-path");var _optimizeAmp=_interopRequireDefault(require("./optimize-amp"));var _loadCustomRoutes=require("../../lib/load-custom-routes");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function noRouter(){const message='No router instance found. you should only use "next/router" inside the client side of your app. https://err.sh/vercel/next.js/no-router-instance';throw new Error(message);}class ServerRouter{// TODO: Remove in the next major version, as this would mean the user is adding event listeners in server-side `render` method +constructor(pathname,query,as,{isFallback},isReady,basePath,locale,locales,defaultLocale,domainLocales,isLocaleDomain){this.route=void 0;this.pathname=void 0;this.query=void 0;this.asPath=void 0;this.basePath=void 0;this.events=void 0;this.isFallback=void 0;this.locale=void 0;this.isReady=void 0;this.locales=void 0;this.defaultLocale=void 0;this.domainLocales=void 0;this.isLocaleDomain=void 0;this.route=pathname.replace(/\/$/,'')||'/';this.pathname=pathname;this.query=query;this.asPath=as;this.isFallback=isFallback;this.basePath=basePath;this.locale=locale;this.locales=locales;this.defaultLocale=defaultLocale;this.isReady=isReady;this.domainLocales=domainLocales;this.isLocaleDomain=isLocaleDomain;}push(){noRouter();}replace(){noRouter();}reload(){noRouter();}back(){noRouter();}prefetch(){noRouter();}beforePopState(){noRouter();}}ServerRouter.events=(0,_mitt.default)();function enhanceComponents(options,App,Component){// For backwards compatibility +if(typeof options==='function'){return{App,Component:options(Component)};}return{App:options.enhanceApp?options.enhanceApp(App):App,Component:options.enhanceComponent?options.enhanceComponent(Component):Component};}function renderDocument(Document,{buildManifest,docComponentsRendered,props,docProps,pathname,query,buildId,canonicalBase,assetPrefix,runtimeConfig,nextExport,autoExport,isFallback,dynamicImportsIds,dangerousAsPath,err,dev,ampPath,ampState,inAmpMode,hybridAmp,dynamicImports,headTags,gsp,gssp,customServer,gip,appGip,unstable_runtimeJS,unstable_JsPreload,devOnlyCacheBusterQueryString,scriptLoader,locale,locales,defaultLocale,domainLocales}){return''+(0,_server.renderToStaticMarkup)(/*#__PURE__*/_react.default.createElement(_ampContext.AmpStateContext.Provider,{value:ampState},Document.renderDocument(Document,{__NEXT_DATA__:{props,// The result of getInitialProps +page:pathname,// The rendered page +query,// querystring parsed / passed by the user +buildId,// buildId is used to facilitate caching of page bundles, we send it to the client so that pageloader knows where to load bundles +assetPrefix:assetPrefix===''?undefined:assetPrefix,// send assetPrefix to the client side when configured, otherwise don't sent in the resulting HTML +runtimeConfig,// runtimeConfig if provided, otherwise don't sent in the resulting HTML +nextExport,// If this is a page exported by `next export` +autoExport,// If this is an auto exported page +isFallback,dynamicIds:dynamicImportsIds.length===0?undefined:dynamicImportsIds,err:err?serializeError(dev,err):undefined,// Error if one happened, otherwise don't sent in the resulting HTML +gsp,// whether the page is getStaticProps +gssp,// whether the page is getServerSideProps +customServer,// whether the user is using a custom server +gip,// whether the page has getInitialProps +appGip,// whether the _app has getInitialProps +locale,locales,defaultLocale,domainLocales},buildManifest,docComponentsRendered,dangerousAsPath,canonicalBase,ampPath,inAmpMode,isDevelopment:!!dev,hybridAmp,dynamicImports,assetPrefix,headTags,unstable_runtimeJS,unstable_JsPreload,devOnlyCacheBusterQueryString,scriptLoader,locale,...docProps})));}const invalidKeysMsg=(methodName,invalidKeys)=>{return`Additional keys were returned from \`${methodName}\`. Properties intended for your component must be nested under the \`props\` key, e.g.:`+`\n\n\treturn { props: { title: 'My Title', content: '...' } }`+`\n\nKeys that need to be moved: ${invalidKeys.join(', ')}.`+`\nRead more: https://err.sh/next.js/invalid-getstaticprops-value`;};function checkRedirectValues(redirect,req,method){const{destination,permanent,statusCode,basePath}=redirect;let errors=[];const hasStatusCode=typeof statusCode!=='undefined';const hasPermanent=typeof permanent!=='undefined';if(hasPermanent&&hasStatusCode){errors.push(`\`permanent\` and \`statusCode\` can not both be provided`);}else if(hasPermanent&&typeof permanent!=='boolean'){errors.push(`\`permanent\` must be \`true\` or \`false\``);}else if(hasStatusCode&&!_loadCustomRoutes.allowedStatusCodes.has(statusCode)){errors.push(`\`statusCode\` must undefined or one of ${[..._loadCustomRoutes.allowedStatusCodes].join(', ')}`);}const destinationType=typeof destination;if(destinationType!=='string'){errors.push(`\`destination\` should be string but received ${destinationType}`);}const basePathType=typeof basePath;if(basePathType!=='undefined'&&basePathType!=='boolean'){errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`);}if(errors.length>0){throw new Error(`Invalid redirect object returned from ${method} for ${req.url}\n`+errors.join(' and ')+'\n'+`See more info here: https://err.sh/vercel/next.js/invalid-redirect-gssp`);}}async function renderToHTML(req,res,pathname,query,renderOpts){var _props;// In dev we invalidate the cache by appending a timestamp to the resource URL. +// This is a workaround to fix https://github.com/vercel/next.js/issues/5860 +// TODO: remove this workaround when https://bugs.webkit.org/show_bug.cgi?id=187726 is fixed. +renderOpts.devOnlyCacheBusterQueryString=renderOpts.dev?renderOpts.devOnlyCacheBusterQueryString||`?ts=${Date.now()}`:'';// don't modify original query object +query=Object.assign({},query);const{err,dev=false,ampPath='',App,Document,pageConfig={},Component,buildManifest,fontManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isDataReq,params,previewProps,basePath,devOnlyCacheBusterQueryString}=renderOpts;const getFontDefinition=url=>{if(fontManifest){return(0,_fontUtils.getFontDefinitionFromManifest)(url,fontManifest);}return'';};const callMiddleware=async(method,args,props=false)=>{let results=props?{}:[];if(Document[`${method}Middleware`]){let middlewareFunc=await Document[`${method}Middleware`];middlewareFunc=middlewareFunc.default||middlewareFunc;const curResults=await middlewareFunc(...args);if(props){for(const result of curResults){results={...results,...result};}}else{results=curResults;}}return results;};const headTags=(...args)=>callMiddleware('headTags',args);const isFallback=!!query.__nextFallback;delete query.__nextFallback;delete query.__nextLocale;delete query.__nextDefaultLocale;const isSSG=!!getStaticProps;const isBuildTimeSSG=isSSG&&renderOpts.nextExport;const defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps;const hasPageGetInitialProps=!!Component.getInitialProps;const pageIsDynamic=(0,_isDynamic.isDynamicRoute)(pathname);const isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;for(const methodName of['getStaticProps','getServerSideProps','getStaticPaths']){if(Component[methodName]){throw new Error(`page ${pathname} ${methodName} ${_constants.GSSP_COMPONENT_MEMBER_ERROR}`);}}if(hasPageGetInitialProps&&isSSG){throw new Error(_constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`);}if(hasPageGetInitialProps&&getServerSideProps){throw new Error(_constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`);}if(getServerSideProps&&isSSG){throw new Error(_constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`);}if(!!getStaticPaths&&!isSSG){throw new Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`);}if(isSSG&&pageIsDynamic&&!getStaticPaths){throw new Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.`+`\nRead more: https://err.sh/next.js/invalid-getstaticpaths-value`);}if(dev){const{isValidElementType}=require('react-is');if(!isValidElementType(Component)){throw new Error(`The default export is not a React Component in page: "${pathname}"`);}if(!isValidElementType(App)){throw new Error(`The default export is not a React Component in page: "/_app"`);}if(!isValidElementType(Document)){throw new Error(`The default export is not a React Component in page: "/_document"`);}if(isAutoExport||isFallback){// remove query values except ones that will be set during export +query={...(query.amp?{amp:query.amp}:{})};renderOpts.resolvedAsPath=`${pathname}${// ensure trailing slash is present for non-dynamic auto-export pages +req.url.endsWith('/')&&pathname!=='/'&&!pageIsDynamic?'/':''}`;req.url=pathname;renderOpts.nextExport=true;}if(pathname==='/404'&&(hasPageGetInitialProps||getServerSideProps)){throw new Error(_constants.PAGES_404_GET_INITIAL_PROPS_ERROR);}}if(isAutoExport)renderOpts.autoExport=true;if(isSSG)renderOpts.nextExport=false;await _loadable.default.preloadAll();// Make sure all dynamic imports are loaded +// url will always be set +const asPath=renderOpts.resolvedAsPath||req.url;const routerIsReady=!!(getServerSideProps||hasPageGetInitialProps);const router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,req.__nextIsLocaleDomain);const ctx={err,req:isAutoExport?undefined:req,res:isAutoExport?undefined:res,pathname,query,asPath,AppTree:props=>{return/*#__PURE__*/_react.default.createElement(AppContainer,null,/*#__PURE__*/_react.default.createElement(App,Object.assign({},props,{Component:Component,router:router})));}};let props;const ampState={ampFirst:pageConfig.amp===true,hasQuery:Boolean(query.amp),hybrid:pageConfig.amp==='hybrid'};const inAmpMode=(0,_amp.isInAmpMode)(ampState);const reactLoadableModules=[];let head=(0,_head.defaultHead)(inAmpMode);let scriptLoader={};const AppContainer=({children})=>/*#__PURE__*/_react.default.createElement(_routerContext.RouterContext.Provider,{value:router},/*#__PURE__*/_react.default.createElement(_ampContext.AmpStateContext.Provider,{value:ampState},/*#__PURE__*/_react.default.createElement(_headManagerContext.HeadManagerContext.Provider,{value:{updateHead:state=>{head=state;},updateScripts:scripts=>{scriptLoader=scripts;},scripts:{},mountedInstances:new Set()}},/*#__PURE__*/_react.default.createElement(_loadableContext.LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName)},children))));try{props=await(0,_utils.loadGetInitialProps)(App,{AppTree:ctx.AppTree,Component,router,ctx});if(isSSG){props[_constants2.STATIC_PROPS_ID]=true;}let previewData;if((isSSG||getServerSideProps)&&!isFallback){// Reads of this are cached on the `req` object, so this should resolve +// instantly. There's no need to pass this data down from a previous +// invoke, where we'd have to consider server & serverless. +previewData=(0,_apiUtils.tryGetPreviewData)(req,res,previewProps);}if(isSSG&&!isFallback){let data;try{data=await getStaticProps({...(pageIsDynamic?{params:query}:undefined),...(previewData!==false?{preview:true,previewData:previewData}:undefined),locales:renderOpts.locales,locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale});}catch(staticPropsError){// remove not found error code to prevent triggering legacy +// 404 rendering +if(staticPropsError.code==='ENOENT'){delete staticPropsError.code;}throw staticPropsError;}if(data==null){throw new Error(_constants.GSP_NO_RETURNED_VALUE);}const invalidKeys=Object.keys(data).filter(key=>key!=='revalidate'&&key!=='props'&&key!=='redirect'&&key!=='notFound');if(invalidKeys.includes('unstable_revalidate')){throw new Error(_constants.UNSTABLE_REVALIDATE_RENAME_ERROR);}if(invalidKeys.length){throw new Error(invalidKeysMsg('getStaticProps',invalidKeys));}if(process.env.NODE_ENV!=='production'){if(typeof data.notFound!=='undefined'&&typeof data.redirect!=='undefined'){throw new Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?'getStaticProps':'getServerSideProps'} at the same time. Page: ${pathname}\nSee more info here: https://err.sh/next.js/gssp-mixed-not-found-redirect`);}}if('notFound'in data&&data.notFound){if(pathname==='/404'){throw new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`);};renderOpts.isNotFound=true;}if('redirect'in data&&data.redirect&&typeof data.redirect==='object'){checkRedirectValues(data.redirect,req,'getStaticProps');if(isBuildTimeSSG){throw new Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})\n`+`See more info here: https://err.sh/next.js/gsp-redirect-during-prerender`);};data.props={__N_REDIRECT:data.redirect.destination,__N_REDIRECT_STATUS:(0,_loadCustomRoutes.getRedirectStatus)(data.redirect)};if(typeof data.redirect.basePath!=='undefined'){;data.props.__N_REDIRECT_BASE_PATH=data.redirect.basePath;};renderOpts.isRedirect=true;}if((dev||isBuildTimeSSG)&&!renderOpts.isNotFound&&!(0,_isSerializableProps.isSerializableProps)(pathname,'getStaticProps',data.props)){// this fn should throw an error instead of ever returning `false` +throw new Error('invariant: getStaticProps did not return valid props. Please report this.');}if('revalidate'in data){if(typeof data.revalidate==='number'){if(!Number.isInteger(data.revalidate)){throw new Error(`A page's revalidate option must be seconds expressed as a natural number for ${req.url}. Mixed numbers, such as '${data.revalidate}', cannot be used.`+`\nTry changing the value to '${Math.ceil(data.revalidate)}' or using \`Math.ceil()\` if you're computing the value.`);}else if(data.revalidate<=0){throw new Error(`A page's revalidate option can not be less than or equal to zero for ${req.url}. A revalidate option of zero means to revalidate after _every_ request, and implies stale data cannot be tolerated.`+`\n\nTo never revalidate, you can set revalidate to \`false\` (only ran once at build-time).`+`\nTo revalidate as soon as possible, you can set the value to \`1\`.`);}else if(data.revalidate>31536000){// if it's greater than a year for some reason error +console.warn(`Warning: A page's revalidate option was set to more than a year for ${req.url}. This may have been done in error.`+`\nTo only run getStaticProps at build-time and not revalidate at runtime, you can set \`revalidate\` to \`false\`!`);}}else if(data.revalidate===true){// When enabled, revalidate after 1 second. This value is optimal for +// the most up-to-date page possible, but without a 1-to-1 +// request-refresh ratio. +data.revalidate=1;}else if(data.revalidate===false||typeof data.revalidate==='undefined'){// By default, we never revalidate. +data.revalidate=false;}else{throw new Error(`A page's revalidate option must be seconds expressed as a natural number. Mixed numbers and strings cannot be used. Received '${JSON.stringify(data.revalidate)}' for ${req.url}`);}}else{// By default, we never revalidate. +;data.revalidate=false;}// this must come after revalidate is attached +if(renderOpts.isNotFound){return null;}props.pageProps=Object.assign({},props.pageProps,'props'in data?data.props:undefined)// pass up revalidate and props for export +// TODO: change this to a different passing mechanism +;renderOpts.revalidate='revalidate'in data?data.revalidate:undefined;renderOpts.pageData=props;}if(getServerSideProps){props[_constants2.SERVER_PROPS_ID]=true;}if(getServerSideProps&&!isFallback){let data;try{data=await getServerSideProps({req:req,res,query,resolvedUrl:renderOpts.resolvedUrl,...(pageIsDynamic?{params:params}:undefined),...(previewData!==false?{preview:true,previewData:previewData}:undefined),locales:renderOpts.locales,locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale});}catch(serverSidePropsError){// remove not found error code to prevent triggering legacy +// 404 rendering +if(serverSidePropsError.code==='ENOENT'){delete serverSidePropsError.code;}throw serverSidePropsError;}if(data==null){throw new Error(_constants.GSSP_NO_RETURNED_VALUE);}const invalidKeys=Object.keys(data).filter(key=>key!=='props'&&key!=='redirect'&&key!=='notFound');if(data.unstable_notFound){throw new Error(`unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}`);}if(data.unstable_redirect){throw new Error(`unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname}`);}if(invalidKeys.length){throw new Error(invalidKeysMsg('getServerSideProps',invalidKeys));}if('notFound'in data&&data.notFound){if(pathname==='/404'){throw new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`);};renderOpts.isNotFound=true;return null;}if('redirect'in data&&typeof data.redirect==='object'){checkRedirectValues(data.redirect,req,'getServerSideProps');data.props={__N_REDIRECT:data.redirect.destination,__N_REDIRECT_STATUS:(0,_loadCustomRoutes.getRedirectStatus)(data.redirect)};if(typeof data.redirect.basePath!=='undefined'){;data.props.__N_REDIRECT_BASE_PATH=data.redirect.basePath;};renderOpts.isRedirect=true;}if((dev||isBuildTimeSSG)&&!(0,_isSerializableProps.isSerializableProps)(pathname,'getServerSideProps',data.props)){// this fn should throw an error instead of ever returning `false` +throw new Error('invariant: getServerSideProps did not return valid props. Please report this.');}props.pageProps=Object.assign({},props.pageProps,data.props);renderOpts.pageData=props;}}catch(dataFetchError){if(isDataReq||!dev||!dataFetchError)throw dataFetchError;ctx.err=dataFetchError;renderOpts.err=dataFetchError;console.error(dataFetchError);}if(!isSSG&&// we only show this warning for legacy pages +!getServerSideProps&&process.env.NODE_ENV!=='production'&&Object.keys(((_props=props)==null?void 0:_props.pageProps)||{}).includes('url')){console.warn(`The prop \`url\` is a reserved prop in Next.js for legacy reasons and will be overridden on page ${pathname}\n`+`See more info here: https://err.sh/vercel/next.js/reserved-page-prop`);}// Avoid rendering page un-necessarily for getServerSideProps data request +// and getServerSideProps/getStaticProps redirects +if(isDataReq&&!isSSG||renderOpts.isRedirect){return props;}// We don't call getStaticProps or getServerSideProps while generating +// the fallback so make sure to set pageProps to an empty object +if(isFallback){props.pageProps={};}// the response might be finished on the getInitialProps call +if((0,_utils.isResSent)(res)&&!isSSG)return null;// we preload the buildManifest for auto-export dynamic pages +// to speed up hydrating query values +let filteredBuildManifest=buildManifest;if(isAutoExport&&pageIsDynamic){const page=(0,_denormalizePagePath.denormalizePagePath)((0,_normalizePagePath.normalizePagePath)(pathname));// This code would be much cleaner using `immer` and directly pushing into +// the result from `getPageFiles`, we could maybe consider that in the +// future. +if(page in filteredBuildManifest.pages){filteredBuildManifest={...filteredBuildManifest,pages:{...filteredBuildManifest.pages,[page]:[...filteredBuildManifest.pages[page],...filteredBuildManifest.lowPriorityFiles.filter(f=>f.includes('_buildManifest'))]},lowPriorityFiles:filteredBuildManifest.lowPriorityFiles.filter(f=>!f.includes('_buildManifest'))};}}const renderPage=(options={})=>{if(ctx.err&&ErrorDebug){return{html:(0,_server.renderToString)(/*#__PURE__*/_react.default.createElement(ErrorDebug,{error:ctx.err})),head};}if(dev&&(props.router||props.Component)){throw new Error(`'router' and 'Component' can not be returned in getInitialProps from _app.js https://err.sh/vercel/next.js/cant-override-next-props`);}const{App:EnhancedApp,Component:EnhancedComponent}=enhanceComponents(options,App,Component);const html=(0,_server.renderToString)(/*#__PURE__*/_react.default.createElement(AppContainer,null,/*#__PURE__*/_react.default.createElement(EnhancedApp,Object.assign({Component:EnhancedComponent,router:router},props))));return{html,head};};const documentCtx={...ctx,renderPage};const docProps=await(0,_utils.loadGetInitialProps)(Document,documentCtx);// the response might be finished on the getInitialProps call +if((0,_utils.isResSent)(res)&&!isSSG)return null;if(!docProps||typeof docProps.html!=='string'){const message=`"${(0,_utils.getDisplayName)(Document)}.getInitialProps()" should resolve to an object with a "html" prop set with a valid html string`;throw new Error(message);}const dynamicImportIdsSet=new Set();const dynamicImports=[];for(const mod of reactLoadableModules){const manifestItem=reactLoadableManifest[mod];if(manifestItem){manifestItem.forEach(item=>{dynamicImports.push(item);dynamicImportIdsSet.add(item.id);});}}const dynamicImportsIds=[...dynamicImportIdsSet];const hybridAmp=ampState.hybrid;// update renderOpts so export knows current state +renderOpts.inAmpMode=inAmpMode;renderOpts.hybridAmp=hybridAmp;const docComponentsRendered={};let html=renderDocument(Document,{...renderOpts,canonicalBase:!renderOpts.ampPath&&req.__nextStrippedLocale?`${renderOpts.canonicalBase||''}/${renderOpts.locale}`:renderOpts.canonicalBase,docComponentsRendered,buildManifest:filteredBuildManifest,// Only enabled in production as development mode has features relying on HMR (style injection for example) +unstable_runtimeJS:process.env.NODE_ENV==='production'?pageConfig.unstable_runtimeJS:undefined,unstable_JsPreload:pageConfig.unstable_JsPreload,dangerousAsPath:router.asPath,ampState,props,headTags:await headTags(documentCtx),isFallback,docProps,pathname,ampPath,query,inAmpMode,hybridAmp,dynamicImportsIds,dynamicImports,gsp:!!getStaticProps?true:undefined,gssp:!!getServerSideProps?true:undefined,gip:hasPageGetInitialProps?true:undefined,appGip:!defaultAppGetInitialProps?true:undefined,devOnlyCacheBusterQueryString,scriptLoader});if(process.env.NODE_ENV!=='production'){const nonRenderedComponents=[];const expectedDocComponents=['Main','Head','NextScript','Html'];for(const comp of expectedDocComponents){if(!docComponentsRendered[comp]){nonRenderedComponents.push(comp);}}const plural=nonRenderedComponents.length!==1?'s':'';if(nonRenderedComponents.length){const missingComponentList=nonRenderedComponents.map(e=>`<${e} />`).join(', ');(0,_log.warn)(`Your custom Document (pages/_document) did not render all the required subcomponent${plural}.\n`+`Missing component${plural}: ${missingComponentList}\n`+'Read how to fix here: https://err.sh/next.js/missing-document-component');}}if(inAmpMode&&html){// inject HTML to AMP_RENDER_TARGET to allow rendering +// directly to body in AMP mode +const ampRenderIndex=html.indexOf(_constants2.AMP_RENDER_TARGET);html=html.substring(0,ampRenderIndex)+`${docProps.html}`+html.substring(ampRenderIndex+_constants2.AMP_RENDER_TARGET.length);html=await(0,_optimizeAmp.default)(html,renderOpts.ampOptimizerConfig);if(!renderOpts.ampSkipValidation&&renderOpts.ampValidator){await renderOpts.ampValidator(html,pathname);}}// Avoid postProcess if both flags are false +if(process.env.__NEXT_OPTIMIZE_FONTS||process.env.__NEXT_OPTIMIZE_IMAGES){html=await(0,_postProcess.default)(html,{getFontDefinition},{optimizeFonts:renderOpts.optimizeFonts,optimizeImages:renderOpts.optimizeImages});}if(renderOpts.optimizeCss){// eslint-disable-next-line import/no-extraneous-dependencies +const Critters=require('critters');const cssOptimizer=new Critters({ssrMode:true,reduceInlineStyles:false,path:renderOpts.distDir,publicPath:'/_next/',preload:'media',fonts:false,...renderOpts.optimizeCss});html=await cssOptimizer.process(html);}if(inAmpMode||hybridAmp){// fix & being escaped for amphtml rel link +html=html.replace(/&amp=1/g,'&=1');}return html;}function errorToJSON(err){const{name,message,stack}=err;return{name,message,stack};}function serializeError(dev,err){if(dev){return errorToJSON(err);}return{name:'Internal Server Error.',message:'500 - Internal Server Error.',statusCode:500};} +//# sourceMappingURL=render.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/render.js.map b/ninjalist/node_modules/next/dist/next-server/server/render.js.map new file mode 100644 index 00000000..ba1141b2 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/render.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/render.tsx"],"names":["noRouter","message","Error","ServerRouter","constructor","pathname","query","as","isFallback","isReady","basePath","locale","locales","defaultLocale","domainLocales","isLocaleDomain","route","asPath","events","replace","push","reload","back","prefetch","beforePopState","enhanceComponents","options","App","Component","enhanceApp","enhanceComponent","renderDocument","Document","buildManifest","docComponentsRendered","props","docProps","buildId","canonicalBase","assetPrefix","runtimeConfig","nextExport","autoExport","dynamicImportsIds","dangerousAsPath","err","dev","ampPath","ampState","inAmpMode","hybridAmp","dynamicImports","headTags","gsp","gssp","customServer","gip","appGip","unstable_runtimeJS","unstable_JsPreload","devOnlyCacheBusterQueryString","scriptLoader","__NEXT_DATA__","page","undefined","dynamicIds","length","serializeError","isDevelopment","invalidKeysMsg","methodName","invalidKeys","join","checkRedirectValues","redirect","req","method","destination","permanent","statusCode","errors","hasStatusCode","hasPermanent","allowedStatusCodes","has","destinationType","basePathType","url","renderToHTML","res","renderOpts","Date","now","Object","assign","pageConfig","fontManifest","reactLoadableManifest","ErrorDebug","getStaticProps","getStaticPaths","getServerSideProps","isDataReq","params","previewProps","getFontDefinition","callMiddleware","args","results","middlewareFunc","default","curResults","result","__nextFallback","__nextLocale","__nextDefaultLocale","isSSG","isBuildTimeSSG","defaultAppGetInitialProps","getInitialProps","origGetInitialProps","hasPageGetInitialProps","pageIsDynamic","isAutoExport","GSSP_COMPONENT_MEMBER_ERROR","SSG_GET_INITIAL_PROPS_CONFLICT","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","isValidElementType","require","amp","resolvedAsPath","endsWith","PAGES_404_GET_INITIAL_PROPS_ERROR","Loadable","preloadAll","routerIsReady","router","__nextIsLocaleDomain","ctx","AppTree","ampFirst","hasQuery","Boolean","hybrid","reactLoadableModules","head","AppContainer","children","updateHead","state","updateScripts","scripts","mountedInstances","Set","moduleName","STATIC_PROPS_ID","previewData","data","preview","staticPropsError","code","GSP_NO_RETURNED_VALUE","keys","filter","key","includes","UNSTABLE_REVALIDATE_RENAME_ERROR","process","env","NODE_ENV","notFound","isNotFound","__N_REDIRECT","__N_REDIRECT_STATUS","__N_REDIRECT_BASE_PATH","isRedirect","revalidate","Number","isInteger","Math","ceil","console","warn","JSON","stringify","pageProps","pageData","SERVER_PROPS_ID","resolvedUrl","serverSidePropsError","GSSP_NO_RETURNED_VALUE","unstable_notFound","unstable_redirect","dataFetchError","error","filteredBuildManifest","pages","lowPriorityFiles","f","renderPage","html","EnhancedApp","EnhancedComponent","documentCtx","dynamicImportIdsSet","mod","manifestItem","forEach","item","add","id","__nextStrippedLocale","nonRenderedComponents","expectedDocComponents","comp","plural","missingComponentList","map","e","ampRenderIndex","indexOf","AMP_RENDER_TARGET","substring","ampOptimizerConfig","ampSkipValidation","ampValidator","__NEXT_OPTIMIZE_FONTS","__NEXT_OPTIMIZE_IMAGES","optimizeFonts","optimizeImages","optimizeCss","Critters","cssOptimizer","ssrMode","reduceInlineStyles","path","distDir","publicPath","preload","fonts","errorToJSON","name","stack"],"mappings":"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","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { ParsedUrlQuery } from 'querystring'\nimport React from 'react'\nimport { renderToStaticMarkup, renderToString } from 'react-dom/server'\nimport { warn } from '../../build/output/log'\nimport { UnwrapPromise } from '../../lib/coalesced-function'\nimport {\n GSP_NO_RETURNED_VALUE,\n GSSP_COMPONENT_MEMBER_ERROR,\n GSSP_NO_RETURNED_VALUE,\n PAGES_404_GET_INITIAL_PROPS_ERROR,\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT,\n SERVER_PROPS_SSG_CONFLICT,\n SSG_GET_INITIAL_PROPS_CONFLICT,\n UNSTABLE_REVALIDATE_RENAME_ERROR,\n} from '../../lib/constants'\nimport { isSerializableProps } from '../../lib/is-serializable-props'\nimport { GetServerSideProps, GetStaticProps } from '../../types'\nimport { isInAmpMode } from '../lib/amp'\nimport { AmpStateContext } from '../lib/amp-context'\nimport {\n AMP_RENDER_TARGET,\n SERVER_PROPS_ID,\n STATIC_PROPS_ID,\n} from '../lib/constants'\nimport { defaultHead } from '../lib/head'\nimport { HeadManagerContext } from '../lib/head-manager-context'\nimport Loadable from '../lib/loadable'\nimport { LoadableContext } from '../lib/loadable-context'\nimport mitt, { MittEmitter } from '../lib/mitt'\nimport postProcess from '../lib/post-process'\nimport { RouterContext } from '../lib/router-context'\nimport { NextRouter } from '../lib/router/router'\nimport { isDynamicRoute } from '../lib/router/utils/is-dynamic'\nimport {\n AppType,\n ComponentsEnhancer,\n DocumentInitialProps,\n DocumentProps,\n DocumentType,\n getDisplayName,\n isResSent,\n loadGetInitialProps,\n NextComponentType,\n RenderPage,\n} from '../lib/utils'\nimport {\n tryGetPreviewData,\n NextApiRequestCookies,\n __ApiPreviewProps,\n} from './api-utils'\nimport { denormalizePagePath } from './denormalize-page-path'\nimport { FontManifest, getFontDefinitionFromManifest } from './font-utils'\nimport { LoadComponentsReturnType, ManifestItem } from './load-components'\nimport { normalizePagePath } from './normalize-page-path'\nimport optimizeAmp from './optimize-amp'\nimport {\n allowedStatusCodes,\n getRedirectStatus,\n Redirect,\n} from '../../lib/load-custom-routes'\nimport { DomainLocales } from './config'\n\nfunction noRouter() {\n const message =\n 'No router instance found. you should only use \"next/router\" inside the client side of your app. https://err.sh/vercel/next.js/no-router-instance'\n throw new Error(message)\n}\n\nclass ServerRouter implements NextRouter {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n events: any\n isFallback: boolean\n locale?: string\n isReady: boolean\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n isLocaleDomain: boolean\n // TODO: Remove in the next major version, as this would mean the user is adding event listeners in server-side `render` method\n static events: MittEmitter = mitt()\n\n constructor(\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n { isFallback }: { isFallback: boolean },\n isReady: boolean,\n basePath: string,\n locale: string | undefined,\n locales: string[] | undefined,\n defaultLocale: string | undefined,\n domainLocales: DomainLocales | undefined,\n isLocaleDomain: boolean\n ) {\n this.route = pathname.replace(/\\/$/, '') || '/'\n this.pathname = pathname\n this.query = query\n this.asPath = as\n this.isFallback = isFallback\n this.basePath = basePath\n this.locale = locale\n this.locales = locales\n this.defaultLocale = defaultLocale\n this.isReady = isReady\n this.domainLocales = domainLocales\n this.isLocaleDomain = isLocaleDomain\n }\n\n push(): any {\n noRouter()\n }\n replace(): any {\n noRouter()\n }\n reload() {\n noRouter()\n }\n back() {\n noRouter()\n }\n prefetch(): any {\n noRouter()\n }\n beforePopState() {\n noRouter()\n }\n}\n\nfunction enhanceComponents(\n options: ComponentsEnhancer,\n App: AppType,\n Component: NextComponentType\n): {\n App: AppType\n Component: NextComponentType\n} {\n // For backwards compatibility\n if (typeof options === 'function') {\n return {\n App,\n Component: options(Component),\n }\n }\n\n return {\n App: options.enhanceApp ? options.enhanceApp(App) : App,\n Component: options.enhanceComponent\n ? options.enhanceComponent(Component)\n : Component,\n }\n}\n\nexport type RenderOptsPartial = {\n buildId: string\n canonicalBase: string\n runtimeConfig?: { [key: string]: any }\n assetPrefix?: string\n err?: Error | null\n autoExport?: boolean\n nextExport?: boolean\n dev?: boolean\n ampMode?: any\n ampPath?: string\n inAmpMode?: boolean\n hybridAmp?: boolean\n ErrorDebug?: React.ComponentType<{ error: Error }>\n ampValidator?: (html: string, pathname: string) => Promise\n ampSkipValidation?: boolean\n ampOptimizerConfig?: { [key: string]: any }\n isDataReq?: boolean\n params?: ParsedUrlQuery\n previewProps: __ApiPreviewProps\n basePath: string\n unstable_runtimeJS?: false\n unstable_JsPreload?: false\n optimizeFonts: boolean\n fontManifest?: FontManifest\n optimizeImages: boolean\n optimizeCss: any\n devOnlyCacheBusterQueryString?: string\n resolvedUrl?: string\n resolvedAsPath?: string\n distDir?: string\n locale?: string\n locales?: string[]\n defaultLocale?: string\n domainLocales?: DomainLocales\n}\n\nexport type RenderOpts = LoadComponentsReturnType & RenderOptsPartial\n\nfunction renderDocument(\n Document: DocumentType,\n {\n buildManifest,\n docComponentsRendered,\n props,\n docProps,\n pathname,\n query,\n buildId,\n canonicalBase,\n assetPrefix,\n runtimeConfig,\n nextExport,\n autoExport,\n isFallback,\n dynamicImportsIds,\n dangerousAsPath,\n err,\n dev,\n ampPath,\n ampState,\n inAmpMode,\n hybridAmp,\n dynamicImports,\n headTags,\n gsp,\n gssp,\n customServer,\n gip,\n appGip,\n unstable_runtimeJS,\n unstable_JsPreload,\n devOnlyCacheBusterQueryString,\n scriptLoader,\n locale,\n locales,\n defaultLocale,\n domainLocales,\n }: RenderOpts & {\n props: any\n docComponentsRendered: DocumentProps['docComponentsRendered']\n docProps: DocumentInitialProps\n pathname: string\n query: ParsedUrlQuery\n dangerousAsPath: string\n ampState: any\n ampPath: string\n inAmpMode: boolean\n hybridAmp: boolean\n dynamicImportsIds: string[]\n dynamicImports: ManifestItem[]\n headTags: any\n isFallback?: boolean\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n devOnlyCacheBusterQueryString: string\n scriptLoader: any\n }\n): string {\n return (\n '' +\n renderToStaticMarkup(\n \n {Document.renderDocument(Document, {\n __NEXT_DATA__: {\n props, // The result of getInitialProps\n page: pathname, // The rendered page\n query, // querystring parsed / passed by the user\n buildId, // buildId is used to facilitate caching of page bundles, we send it to the client so that pageloader knows where to load bundles\n assetPrefix: assetPrefix === '' ? undefined : assetPrefix, // send assetPrefix to the client side when configured, otherwise don't sent in the resulting HTML\n runtimeConfig, // runtimeConfig if provided, otherwise don't sent in the resulting HTML\n nextExport, // If this is a page exported by `next export`\n autoExport, // If this is an auto exported page\n isFallback,\n dynamicIds:\n dynamicImportsIds.length === 0 ? undefined : dynamicImportsIds,\n err: err ? serializeError(dev, err) : undefined, // Error if one happened, otherwise don't sent in the resulting HTML\n gsp, // whether the page is getStaticProps\n gssp, // whether the page is getServerSideProps\n customServer, // whether the user is using a custom server\n gip, // whether the page has getInitialProps\n appGip, // whether the _app has getInitialProps\n locale,\n locales,\n defaultLocale,\n domainLocales,\n },\n buildManifest,\n docComponentsRendered,\n dangerousAsPath,\n canonicalBase,\n ampPath,\n inAmpMode,\n isDevelopment: !!dev,\n hybridAmp,\n dynamicImports,\n assetPrefix,\n headTags,\n unstable_runtimeJS,\n unstable_JsPreload,\n devOnlyCacheBusterQueryString,\n scriptLoader,\n locale,\n ...docProps,\n })}\n \n )\n )\n}\n\nconst invalidKeysMsg = (methodName: string, invalidKeys: string[]) => {\n return (\n `Additional keys were returned from \\`${methodName}\\`. Properties intended for your component must be nested under the \\`props\\` key, e.g.:` +\n `\\n\\n\\treturn { props: { title: 'My Title', content: '...' } }` +\n `\\n\\nKeys that need to be moved: ${invalidKeys.join(', ')}.` +\n `\\nRead more: https://err.sh/next.js/invalid-getstaticprops-value`\n )\n}\n\nfunction checkRedirectValues(\n redirect: Redirect,\n req: IncomingMessage,\n method: 'getStaticProps' | 'getServerSideProps'\n) {\n const { destination, permanent, statusCode, basePath } = redirect\n let errors: string[] = []\n\n const hasStatusCode = typeof statusCode !== 'undefined'\n const hasPermanent = typeof permanent !== 'undefined'\n\n if (hasPermanent && hasStatusCode) {\n errors.push(`\\`permanent\\` and \\`statusCode\\` can not both be provided`)\n } else if (hasPermanent && typeof permanent !== 'boolean') {\n errors.push(`\\`permanent\\` must be \\`true\\` or \\`false\\``)\n } else if (hasStatusCode && !allowedStatusCodes.has(statusCode!)) {\n errors.push(\n `\\`statusCode\\` must undefined or one of ${[...allowedStatusCodes].join(\n ', '\n )}`\n )\n }\n const destinationType = typeof destination\n\n if (destinationType !== 'string') {\n errors.push(\n `\\`destination\\` should be string but received ${destinationType}`\n )\n }\n\n const basePathType = typeof basePath\n\n if (basePathType !== 'undefined' && basePathType !== 'boolean') {\n errors.push(\n `\\`basePath\\` should be undefined or a false, received ${basePathType}`\n )\n }\n\n if (errors.length > 0) {\n throw new Error(\n `Invalid redirect object returned from ${method} for ${req.url}\\n` +\n errors.join(' and ') +\n '\\n' +\n `See more info here: https://err.sh/vercel/next.js/invalid-redirect-gssp`\n )\n }\n}\n\nexport async function renderToHTML(\n req: IncomingMessage,\n res: ServerResponse,\n pathname: string,\n query: ParsedUrlQuery,\n renderOpts: RenderOpts\n): Promise {\n // In dev we invalidate the cache by appending a timestamp to the resource URL.\n // This is a workaround to fix https://github.com/vercel/next.js/issues/5860\n // TODO: remove this workaround when https://bugs.webkit.org/show_bug.cgi?id=187726 is fixed.\n renderOpts.devOnlyCacheBusterQueryString = renderOpts.dev\n ? renderOpts.devOnlyCacheBusterQueryString || `?ts=${Date.now()}`\n : ''\n\n // don't modify original query object\n query = Object.assign({}, query)\n\n const {\n err,\n dev = false,\n ampPath = '',\n App,\n Document,\n pageConfig = {},\n Component,\n buildManifest,\n fontManifest,\n reactLoadableManifest,\n ErrorDebug,\n getStaticProps,\n getStaticPaths,\n getServerSideProps,\n isDataReq,\n params,\n previewProps,\n basePath,\n devOnlyCacheBusterQueryString,\n } = renderOpts\n\n const getFontDefinition = (url: string): string => {\n if (fontManifest) {\n return getFontDefinitionFromManifest(url, fontManifest)\n }\n return ''\n }\n\n const callMiddleware = async (method: string, args: any[], props = false) => {\n let results: any = props ? {} : []\n\n if ((Document as any)[`${method}Middleware`]) {\n let middlewareFunc = await (Document as any)[`${method}Middleware`]\n middlewareFunc = middlewareFunc.default || middlewareFunc\n\n const curResults = await middlewareFunc(...args)\n if (props) {\n for (const result of curResults) {\n results = {\n ...results,\n ...result,\n }\n }\n } else {\n results = curResults\n }\n }\n return results\n }\n\n const headTags = (...args: any) => callMiddleware('headTags', args)\n\n const isFallback = !!query.__nextFallback\n delete query.__nextFallback\n delete query.__nextLocale\n delete query.__nextDefaultLocale\n\n const isSSG = !!getStaticProps\n const isBuildTimeSSG = isSSG && renderOpts.nextExport\n const defaultAppGetInitialProps =\n App.getInitialProps === (App as any).origGetInitialProps\n\n const hasPageGetInitialProps = !!(Component as any).getInitialProps\n\n const pageIsDynamic = isDynamicRoute(pathname)\n\n const isAutoExport =\n !hasPageGetInitialProps &&\n defaultAppGetInitialProps &&\n !isSSG &&\n !getServerSideProps\n\n for (const methodName of [\n 'getStaticProps',\n 'getServerSideProps',\n 'getStaticPaths',\n ]) {\n if ((Component as any)[methodName]) {\n throw new Error(\n `page ${pathname} ${methodName} ${GSSP_COMPONENT_MEMBER_ERROR}`\n )\n }\n }\n\n if (hasPageGetInitialProps && isSSG) {\n throw new Error(SSG_GET_INITIAL_PROPS_CONFLICT + ` ${pathname}`)\n }\n\n if (hasPageGetInitialProps && getServerSideProps) {\n throw new Error(SERVER_PROPS_GET_INIT_PROPS_CONFLICT + ` ${pathname}`)\n }\n\n if (getServerSideProps && isSSG) {\n throw new Error(SERVER_PROPS_SSG_CONFLICT + ` ${pathname}`)\n }\n\n if (!!getStaticPaths && !isSSG) {\n throw new Error(\n `getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`\n )\n }\n\n if (isSSG && pageIsDynamic && !getStaticPaths) {\n throw new Error(\n `getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.` +\n `\\nRead more: https://err.sh/next.js/invalid-getstaticpaths-value`\n )\n }\n\n if (dev) {\n const { isValidElementType } = require('react-is')\n if (!isValidElementType(Component)) {\n throw new Error(\n `The default export is not a React Component in page: \"${pathname}\"`\n )\n }\n\n if (!isValidElementType(App)) {\n throw new Error(\n `The default export is not a React Component in page: \"/_app\"`\n )\n }\n\n if (!isValidElementType(Document)) {\n throw new Error(\n `The default export is not a React Component in page: \"/_document\"`\n )\n }\n\n if (isAutoExport || isFallback) {\n // remove query values except ones that will be set during export\n query = {\n ...(query.amp\n ? {\n amp: query.amp,\n }\n : {}),\n }\n renderOpts.resolvedAsPath = `${pathname}${\n // ensure trailing slash is present for non-dynamic auto-export pages\n req.url!.endsWith('/') && pathname !== '/' && !pageIsDynamic ? '/' : ''\n }`\n req.url = pathname\n renderOpts.nextExport = true\n }\n\n if (pathname === '/404' && (hasPageGetInitialProps || getServerSideProps)) {\n throw new Error(PAGES_404_GET_INITIAL_PROPS_ERROR)\n }\n }\n if (isAutoExport) renderOpts.autoExport = true\n if (isSSG) renderOpts.nextExport = false\n\n await Loadable.preloadAll() // Make sure all dynamic imports are loaded\n\n // url will always be set\n const asPath: string = renderOpts.resolvedAsPath || (req.url as string)\n const routerIsReady = !!(getServerSideProps || hasPageGetInitialProps)\n const router = new ServerRouter(\n pathname,\n query,\n asPath,\n {\n isFallback: isFallback,\n },\n routerIsReady,\n basePath,\n renderOpts.locale,\n renderOpts.locales,\n renderOpts.defaultLocale,\n renderOpts.domainLocales,\n (req as any).__nextIsLocaleDomain\n )\n const ctx = {\n err,\n req: isAutoExport ? undefined : req,\n res: isAutoExport ? undefined : res,\n pathname,\n query,\n asPath,\n AppTree: (props: any) => {\n return (\n \n \n \n )\n },\n }\n let props: any\n\n const ampState = {\n ampFirst: pageConfig.amp === true,\n hasQuery: Boolean(query.amp),\n hybrid: pageConfig.amp === 'hybrid',\n }\n\n const inAmpMode = isInAmpMode(ampState)\n\n const reactLoadableModules: string[] = []\n\n let head: JSX.Element[] = defaultHead(inAmpMode)\n\n let scriptLoader: any = {}\n\n const AppContainer = ({ children }: any) => (\n \n \n {\n head = state\n },\n updateScripts: (scripts) => {\n scriptLoader = scripts\n },\n scripts: {},\n mountedInstances: new Set(),\n }}\n >\n reactLoadableModules.push(moduleName)}\n >\n {children}\n \n \n \n \n )\n\n try {\n props = await loadGetInitialProps(App, {\n AppTree: ctx.AppTree,\n Component,\n router,\n ctx,\n })\n\n if (isSSG) {\n props[STATIC_PROPS_ID] = true\n }\n\n let previewData: string | false | object | undefined\n\n if ((isSSG || getServerSideProps) && !isFallback) {\n // Reads of this are cached on the `req` object, so this should resolve\n // instantly. There's no need to pass this data down from a previous\n // invoke, where we'd have to consider server & serverless.\n previewData = tryGetPreviewData(req, res, previewProps)\n }\n\n if (isSSG && !isFallback) {\n let data: UnwrapPromise>\n\n try {\n data = await getStaticProps!({\n ...(pageIsDynamic ? { params: query as ParsedUrlQuery } : undefined),\n ...(previewData !== false\n ? { preview: true, previewData: previewData }\n : undefined),\n locales: renderOpts.locales,\n locale: renderOpts.locale,\n defaultLocale: renderOpts.defaultLocale,\n })\n } catch (staticPropsError) {\n // remove not found error code to prevent triggering legacy\n // 404 rendering\n if (staticPropsError.code === 'ENOENT') {\n delete staticPropsError.code\n }\n throw staticPropsError\n }\n\n if (data == null) {\n throw new Error(GSP_NO_RETURNED_VALUE)\n }\n\n const invalidKeys = Object.keys(data).filter(\n (key) =>\n key !== 'revalidate' &&\n key !== 'props' &&\n key !== 'redirect' &&\n key !== 'notFound'\n )\n\n if (invalidKeys.includes('unstable_revalidate')) {\n throw new Error(UNSTABLE_REVALIDATE_RENAME_ERROR)\n }\n\n if (invalidKeys.length) {\n throw new Error(invalidKeysMsg('getStaticProps', invalidKeys))\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (\n typeof (data as any).notFound !== 'undefined' &&\n typeof (data as any).redirect !== 'undefined'\n ) {\n throw new Error(\n `\\`redirect\\` and \\`notFound\\` can not both be returned from ${\n isSSG ? 'getStaticProps' : 'getServerSideProps'\n } at the same time. Page: ${pathname}\\nSee more info here: https://err.sh/next.js/gssp-mixed-not-found-redirect`\n )\n }\n }\n\n if ('notFound' in data && data.notFound) {\n if (pathname === '/404') {\n throw new Error(\n `The /404 page can not return notFound in \"getStaticProps\", please remove it to continue!`\n )\n }\n\n ;(renderOpts as any).isNotFound = true\n }\n\n if (\n 'redirect' in data &&\n data.redirect &&\n typeof data.redirect === 'object'\n ) {\n checkRedirectValues(data.redirect as Redirect, req, 'getStaticProps')\n\n if (isBuildTimeSSG) {\n throw new Error(\n `\\`redirect\\` can not be returned from getStaticProps during prerendering (${req.url})\\n` +\n `See more info here: https://err.sh/next.js/gsp-redirect-during-prerender`\n )\n }\n\n ;(data as any).props = {\n __N_REDIRECT: data.redirect.destination,\n __N_REDIRECT_STATUS: getRedirectStatus(data.redirect),\n }\n if (typeof data.redirect.basePath !== 'undefined') {\n ;(data as any).props.__N_REDIRECT_BASE_PATH = data.redirect.basePath\n }\n ;(renderOpts as any).isRedirect = true\n }\n\n if (\n (dev || isBuildTimeSSG) &&\n !(renderOpts as any).isNotFound &&\n !isSerializableProps(pathname, 'getStaticProps', (data as any).props)\n ) {\n // this fn should throw an error instead of ever returning `false`\n throw new Error(\n 'invariant: getStaticProps did not return valid props. Please report this.'\n )\n }\n\n if ('revalidate' in data) {\n if (typeof data.revalidate === 'number') {\n if (!Number.isInteger(data.revalidate)) {\n throw new Error(\n `A page's revalidate option must be seconds expressed as a natural number for ${req.url}. Mixed numbers, such as '${data.revalidate}', cannot be used.` +\n `\\nTry changing the value to '${Math.ceil(\n data.revalidate\n )}' or using \\`Math.ceil()\\` if you're computing the value.`\n )\n } else if (data.revalidate <= 0) {\n throw new Error(\n `A page's revalidate option can not be less than or equal to zero for ${req.url}. A revalidate option of zero means to revalidate after _every_ request, and implies stale data cannot be tolerated.` +\n `\\n\\nTo never revalidate, you can set revalidate to \\`false\\` (only ran once at build-time).` +\n `\\nTo revalidate as soon as possible, you can set the value to \\`1\\`.`\n )\n } else if (data.revalidate > 31536000) {\n // if it's greater than a year for some reason error\n console.warn(\n `Warning: A page's revalidate option was set to more than a year for ${req.url}. This may have been done in error.` +\n `\\nTo only run getStaticProps at build-time and not revalidate at runtime, you can set \\`revalidate\\` to \\`false\\`!`\n )\n }\n } else if (data.revalidate === true) {\n // When enabled, revalidate after 1 second. This value is optimal for\n // the most up-to-date page possible, but without a 1-to-1\n // request-refresh ratio.\n data.revalidate = 1\n } else if (\n data.revalidate === false ||\n typeof data.revalidate === 'undefined'\n ) {\n // By default, we never revalidate.\n data.revalidate = false\n } else {\n throw new Error(\n `A page's revalidate option must be seconds expressed as a natural number. Mixed numbers and strings cannot be used. Received '${JSON.stringify(\n data.revalidate\n )}' for ${req.url}`\n )\n }\n } else {\n // By default, we never revalidate.\n ;(data as any).revalidate = false\n }\n\n // this must come after revalidate is attached\n if ((renderOpts as any).isNotFound) {\n return null\n }\n\n props.pageProps = Object.assign(\n {},\n props.pageProps,\n 'props' in data ? data.props : undefined\n )\n // pass up revalidate and props for export\n // TODO: change this to a different passing mechanism\n ;(renderOpts as any).revalidate =\n 'revalidate' in data ? data.revalidate : undefined\n ;(renderOpts as any).pageData = props\n }\n\n if (getServerSideProps) {\n props[SERVER_PROPS_ID] = true\n }\n\n if (getServerSideProps && !isFallback) {\n let data: UnwrapPromise>\n\n try {\n data = await getServerSideProps({\n req: req as IncomingMessage & {\n cookies: NextApiRequestCookies\n },\n res,\n query,\n resolvedUrl: renderOpts.resolvedUrl as string,\n ...(pageIsDynamic ? { params: params as ParsedUrlQuery } : undefined),\n ...(previewData !== false\n ? { preview: true, previewData: previewData }\n : undefined),\n locales: renderOpts.locales,\n locale: renderOpts.locale,\n defaultLocale: renderOpts.defaultLocale,\n })\n } catch (serverSidePropsError) {\n // remove not found error code to prevent triggering legacy\n // 404 rendering\n if (serverSidePropsError.code === 'ENOENT') {\n delete serverSidePropsError.code\n }\n throw serverSidePropsError\n }\n\n if (data == null) {\n throw new Error(GSSP_NO_RETURNED_VALUE)\n }\n\n const invalidKeys = Object.keys(data).filter(\n (key) => key !== 'props' && key !== 'redirect' && key !== 'notFound'\n )\n\n if ((data as any).unstable_notFound) {\n throw new Error(\n `unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}`\n )\n }\n if ((data as any).unstable_redirect) {\n throw new Error(\n `unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname}`\n )\n }\n\n if (invalidKeys.length) {\n throw new Error(invalidKeysMsg('getServerSideProps', invalidKeys))\n }\n\n if ('notFound' in data && data.notFound) {\n if (pathname === '/404') {\n throw new Error(\n `The /404 page can not return notFound in \"getStaticProps\", please remove it to continue!`\n )\n }\n\n ;(renderOpts as any).isNotFound = true\n return null\n }\n\n if ('redirect' in data && typeof data.redirect === 'object') {\n checkRedirectValues(\n data.redirect as Redirect,\n req,\n 'getServerSideProps'\n )\n ;(data as any).props = {\n __N_REDIRECT: data.redirect.destination,\n __N_REDIRECT_STATUS: getRedirectStatus(data.redirect),\n }\n if (typeof data.redirect.basePath !== 'undefined') {\n ;(data as any).props.__N_REDIRECT_BASE_PATH = data.redirect.basePath\n }\n ;(renderOpts as any).isRedirect = true\n }\n\n if (\n (dev || isBuildTimeSSG) &&\n !isSerializableProps(\n pathname,\n 'getServerSideProps',\n (data as any).props\n )\n ) {\n // this fn should throw an error instead of ever returning `false`\n throw new Error(\n 'invariant: getServerSideProps did not return valid props. Please report this.'\n )\n }\n\n props.pageProps = Object.assign({}, props.pageProps, (data as any).props)\n ;(renderOpts as any).pageData = props\n }\n } catch (dataFetchError) {\n if (isDataReq || !dev || !dataFetchError) throw dataFetchError\n ctx.err = dataFetchError\n renderOpts.err = dataFetchError\n console.error(dataFetchError)\n }\n\n if (\n !isSSG && // we only show this warning for legacy pages\n !getServerSideProps &&\n process.env.NODE_ENV !== 'production' &&\n Object.keys(props?.pageProps || {}).includes('url')\n ) {\n console.warn(\n `The prop \\`url\\` is a reserved prop in Next.js for legacy reasons and will be overridden on page ${pathname}\\n` +\n `See more info here: https://err.sh/vercel/next.js/reserved-page-prop`\n )\n }\n\n // Avoid rendering page un-necessarily for getServerSideProps data request\n // and getServerSideProps/getStaticProps redirects\n if ((isDataReq && !isSSG) || (renderOpts as any).isRedirect) {\n return props\n }\n\n // We don't call getStaticProps or getServerSideProps while generating\n // the fallback so make sure to set pageProps to an empty object\n if (isFallback) {\n props.pageProps = {}\n }\n\n // the response might be finished on the getInitialProps call\n if (isResSent(res) && !isSSG) return null\n\n // we preload the buildManifest for auto-export dynamic pages\n // to speed up hydrating query values\n let filteredBuildManifest = buildManifest\n if (isAutoExport && pageIsDynamic) {\n const page = denormalizePagePath(normalizePagePath(pathname))\n // This code would be much cleaner using `immer` and directly pushing into\n // the result from `getPageFiles`, we could maybe consider that in the\n // future.\n if (page in filteredBuildManifest.pages) {\n filteredBuildManifest = {\n ...filteredBuildManifest,\n pages: {\n ...filteredBuildManifest.pages,\n [page]: [\n ...filteredBuildManifest.pages[page],\n ...filteredBuildManifest.lowPriorityFiles.filter((f) =>\n f.includes('_buildManifest')\n ),\n ],\n },\n lowPriorityFiles: filteredBuildManifest.lowPriorityFiles.filter(\n (f) => !f.includes('_buildManifest')\n ),\n }\n }\n }\n\n const renderPage: RenderPage = (\n options: ComponentsEnhancer = {}\n ): { html: string; head: any } => {\n if (ctx.err && ErrorDebug) {\n return { html: renderToString(), head }\n }\n\n if (dev && (props.router || props.Component)) {\n throw new Error(\n `'router' and 'Component' can not be returned in getInitialProps from _app.js https://err.sh/vercel/next.js/cant-override-next-props`\n )\n }\n\n const {\n App: EnhancedApp,\n Component: EnhancedComponent,\n } = enhanceComponents(options, App, Component)\n\n const html = renderToString(\n \n \n \n )\n\n return { html, head }\n }\n const documentCtx = { ...ctx, renderPage }\n const docProps: DocumentInitialProps = await loadGetInitialProps(\n Document,\n documentCtx\n )\n // the response might be finished on the getInitialProps call\n if (isResSent(res) && !isSSG) return null\n\n if (!docProps || typeof docProps.html !== 'string') {\n const message = `\"${getDisplayName(\n Document\n )}.getInitialProps()\" should resolve to an object with a \"html\" prop set with a valid html string`\n throw new Error(message)\n }\n\n const dynamicImportIdsSet = new Set()\n const dynamicImports: ManifestItem[] = []\n\n for (const mod of reactLoadableModules) {\n const manifestItem: ManifestItem[] = reactLoadableManifest[mod]\n\n if (manifestItem) {\n manifestItem.forEach((item) => {\n dynamicImports.push(item)\n dynamicImportIdsSet.add(item.id as string)\n })\n }\n }\n\n const dynamicImportsIds = [...dynamicImportIdsSet]\n const hybridAmp = ampState.hybrid\n\n // update renderOpts so export knows current state\n renderOpts.inAmpMode = inAmpMode\n renderOpts.hybridAmp = hybridAmp\n\n const docComponentsRendered: DocumentProps['docComponentsRendered'] = {}\n\n let html = renderDocument(Document, {\n ...renderOpts,\n canonicalBase:\n !renderOpts.ampPath && (req as any).__nextStrippedLocale\n ? `${renderOpts.canonicalBase || ''}/${renderOpts.locale}`\n : renderOpts.canonicalBase,\n docComponentsRendered,\n buildManifest: filteredBuildManifest,\n // Only enabled in production as development mode has features relying on HMR (style injection for example)\n unstable_runtimeJS:\n process.env.NODE_ENV === 'production'\n ? pageConfig.unstable_runtimeJS\n : undefined,\n unstable_JsPreload: pageConfig.unstable_JsPreload,\n dangerousAsPath: router.asPath,\n ampState,\n props,\n headTags: await headTags(documentCtx),\n isFallback,\n docProps,\n pathname,\n ampPath,\n query,\n inAmpMode,\n hybridAmp,\n dynamicImportsIds,\n dynamicImports,\n gsp: !!getStaticProps ? true : undefined,\n gssp: !!getServerSideProps ? true : undefined,\n gip: hasPageGetInitialProps ? true : undefined,\n appGip: !defaultAppGetInitialProps ? true : undefined,\n devOnlyCacheBusterQueryString,\n scriptLoader,\n })\n\n if (process.env.NODE_ENV !== 'production') {\n const nonRenderedComponents = []\n const expectedDocComponents = ['Main', 'Head', 'NextScript', 'Html']\n\n for (const comp of expectedDocComponents) {\n if (!(docComponentsRendered as any)[comp]) {\n nonRenderedComponents.push(comp)\n }\n }\n const plural = nonRenderedComponents.length !== 1 ? 's' : ''\n\n if (nonRenderedComponents.length) {\n const missingComponentList = nonRenderedComponents\n .map((e) => `<${e} />`)\n .join(', ')\n warn(\n `Your custom Document (pages/_document) did not render all the required subcomponent${plural}.\\n` +\n `Missing component${plural}: ${missingComponentList}\\n` +\n 'Read how to fix here: https://err.sh/next.js/missing-document-component'\n )\n }\n }\n\n if (inAmpMode && html) {\n // inject HTML to AMP_RENDER_TARGET to allow rendering\n // directly to body in AMP mode\n const ampRenderIndex = html.indexOf(AMP_RENDER_TARGET)\n html =\n html.substring(0, ampRenderIndex) +\n `${docProps.html}` +\n html.substring(ampRenderIndex + AMP_RENDER_TARGET.length)\n html = await optimizeAmp(html, renderOpts.ampOptimizerConfig)\n\n if (!renderOpts.ampSkipValidation && renderOpts.ampValidator) {\n await renderOpts.ampValidator(html, pathname)\n }\n }\n\n // Avoid postProcess if both flags are false\n if (process.env.__NEXT_OPTIMIZE_FONTS || process.env.__NEXT_OPTIMIZE_IMAGES) {\n html = await postProcess(\n html,\n { getFontDefinition },\n {\n optimizeFonts: renderOpts.optimizeFonts,\n optimizeImages: renderOpts.optimizeImages,\n }\n )\n }\n\n if (renderOpts.optimizeCss) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const Critters = require('critters')\n const cssOptimizer = new Critters({\n ssrMode: true,\n reduceInlineStyles: false,\n path: renderOpts.distDir,\n publicPath: '/_next/',\n preload: 'media',\n fonts: false,\n ...renderOpts.optimizeCss,\n })\n\n html = await cssOptimizer.process(html)\n }\n\n if (inAmpMode || hybridAmp) {\n // fix & being escaped for amphtml rel link\n html = html.replace(/&amp=1/g, '&=1')\n }\n\n return html\n}\n\nfunction errorToJSON(err: Error): Error {\n const { name, message, stack } = err\n return { name, message, stack }\n}\n\nfunction serializeError(\n dev: boolean | undefined,\n err: Error\n): Error & { statusCode?: number } {\n if (dev) {\n return errorToJSON(err)\n }\n\n return {\n name: 'Internal Server Error.',\n message: '500 - Internal Server Error.',\n statusCode: 500,\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/require.d.ts b/ninjalist/node_modules/next/dist/next-server/server/require.d.ts new file mode 100644 index 00000000..8f212462 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/require.d.ts @@ -0,0 +1,4 @@ +export declare function pageNotFoundError(page: string): Error; +export declare function getPagePath(page: string, distDir: string, serverless: boolean, dev?: boolean): string; +export declare function requirePage(page: string, distDir: string, serverless: boolean): any; +export declare function requireFontManifest(distDir: string, serverless: boolean): any; diff --git a/ninjalist/node_modules/next/dist/next-server/server/require.js b/ninjalist/node_modules/next/dist/next-server/server/require.js new file mode 100644 index 00000000..dcd9f5cc --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/require.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.pageNotFoundError=pageNotFoundError;exports.getPagePath=getPagePath;exports.requirePage=requirePage;exports.requireFontManifest=requireFontManifest;var _fs=require("fs");var _path=require("path");var _constants=require("../lib/constants");var _normalizePagePath=require("./normalize-page-path");function pageNotFoundError(page){const err=new Error(`Cannot find module for page: ${page}`);err.code='ENOENT';return err;}function getPagePath(page,distDir,serverless,dev){const serverBuildPath=(0,_path.join)(distDir,serverless&&!dev?_constants.SERVERLESS_DIRECTORY:_constants.SERVER_DIRECTORY);const pagesManifest=require((0,_path.join)(serverBuildPath,_constants.PAGES_MANIFEST));try{page=(0,_normalizePagePath.denormalizePagePath)((0,_normalizePagePath.normalizePagePath)(page));}catch(err){console.error(err);throw pageNotFoundError(page);}if(!pagesManifest[page]){throw pageNotFoundError(page);}return(0,_path.join)(serverBuildPath,pagesManifest[page]);}function requirePage(page,distDir,serverless){const pagePath=getPagePath(page,distDir,serverless);if(pagePath.endsWith('.html')){return _fs.promises.readFile(pagePath,'utf8');}return require(pagePath);}function requireFontManifest(distDir,serverless){const serverBuildPath=(0,_path.join)(distDir,serverless?_constants.SERVERLESS_DIRECTORY:_constants.SERVER_DIRECTORY);const fontManifest=require((0,_path.join)(serverBuildPath,_constants.FONT_MANIFEST));return fontManifest;} +//# sourceMappingURL=require.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/require.js.map b/ninjalist/node_modules/next/dist/next-server/server/require.js.map new file mode 100644 index 00000000..3d58413e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/require.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/require.ts"],"names":["pageNotFoundError","page","err","Error","code","getPagePath","distDir","serverless","dev","serverBuildPath","SERVERLESS_DIRECTORY","SERVER_DIRECTORY","pagesManifest","require","PAGES_MANIFEST","console","error","requirePage","pagePath","endsWith","promises","readFile","requireFontManifest","fontManifest","FONT_MANIFEST"],"mappings":"iMAAA,sBACA,0BACA,2CAMA,wDAGO,QAASA,CAAAA,iBAAT,CAA2BC,IAA3B,CAAgD,CACrD,KAAMC,CAAAA,GAAQ,CAAG,GAAIC,CAAAA,KAAJ,CAAW,gCAA+BF,IAAK,EAA/C,CAAjB,CACAC,GAAG,CAACE,IAAJ,CAAW,QAAX,CACA,MAAOF,CAAAA,GAAP,CACD,CAEM,QAASG,CAAAA,WAAT,CACLJ,IADK,CAELK,OAFK,CAGLC,UAHK,CAILC,GAJK,CAKG,CACR,KAAMC,CAAAA,eAAe,CAAG,eACtBH,OADsB,CAEtBC,UAAU,EAAI,CAACC,GAAf,CAAqBE,+BAArB,CAA4CC,2BAFtB,CAAxB,CAIA,KAAMC,CAAAA,aAAa,CAAGC,OAAO,CAAC,eAC5BJ,eAD4B,CAE5BK,yBAF4B,CAAD,CAA7B,CAKA,GAAI,CACFb,IAAI,CAAG,2CAAoB,yCAAkBA,IAAlB,CAApB,CAAP,CACD,CAAC,MAAOC,GAAP,CAAY,CACZa,OAAO,CAACC,KAAR,CAAcd,GAAd,EACA,KAAMF,CAAAA,iBAAiB,CAACC,IAAD,CAAvB,CACD,CAED,GAAI,CAACW,aAAa,CAACX,IAAD,CAAlB,CAA0B,CACxB,KAAMD,CAAAA,iBAAiB,CAACC,IAAD,CAAvB,CACD,CACD,MAAO,eAAKQ,eAAL,CAAsBG,aAAa,CAACX,IAAD,CAAnC,CAAP,CACD,CAEM,QAASgB,CAAAA,WAAT,CACLhB,IADK,CAELK,OAFK,CAGLC,UAHK,CAIA,CACL,KAAMW,CAAAA,QAAQ,CAAGb,WAAW,CAACJ,IAAD,CAAOK,OAAP,CAAgBC,UAAhB,CAA5B,CACA,GAAIW,QAAQ,CAACC,QAAT,CAAkB,OAAlB,CAAJ,CAAgC,CAC9B,MAAOC,cAASC,QAAT,CAAkBH,QAAlB,CAA4B,MAA5B,CAAP,CACD,CACD,MAAOL,CAAAA,OAAO,CAACK,QAAD,CAAd,CACD,CAEM,QAASI,CAAAA,mBAAT,CAA6BhB,OAA7B,CAA8CC,UAA9C,CAAmE,CACxE,KAAME,CAAAA,eAAe,CAAG,eACtBH,OADsB,CAEtBC,UAAU,CAAGG,+BAAH,CAA0BC,2BAFd,CAAxB,CAIA,KAAMY,CAAAA,YAAY,CAAGV,OAAO,CAAC,eAAKJ,eAAL,CAAsBe,wBAAtB,CAAD,CAA5B,CACA,MAAOD,CAAAA,YAAP,CACD","sourcesContent":["import { promises } from 'fs'\nimport { join } from 'path'\nimport {\n PAGES_MANIFEST,\n SERVER_DIRECTORY,\n SERVERLESS_DIRECTORY,\n FONT_MANIFEST,\n} from '../lib/constants'\nimport { normalizePagePath, denormalizePagePath } from './normalize-page-path'\nimport { PagesManifest } from '../../build/webpack/plugins/pages-manifest-plugin'\n\nexport function pageNotFoundError(page: string): Error {\n const err: any = new Error(`Cannot find module for page: ${page}`)\n err.code = 'ENOENT'\n return err\n}\n\nexport function getPagePath(\n page: string,\n distDir: string,\n serverless: boolean,\n dev?: boolean\n): string {\n const serverBuildPath = join(\n distDir,\n serverless && !dev ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY\n )\n const pagesManifest = require(join(\n serverBuildPath,\n PAGES_MANIFEST\n )) as PagesManifest\n\n try {\n page = denormalizePagePath(normalizePagePath(page))\n } catch (err) {\n console.error(err)\n throw pageNotFoundError(page)\n }\n\n if (!pagesManifest[page]) {\n throw pageNotFoundError(page)\n }\n return join(serverBuildPath, pagesManifest[page])\n}\n\nexport function requirePage(\n page: string,\n distDir: string,\n serverless: boolean\n): any {\n const pagePath = getPagePath(page, distDir, serverless)\n if (pagePath.endsWith('.html')) {\n return promises.readFile(pagePath, 'utf8')\n }\n return require(pagePath)\n}\n\nexport function requireFontManifest(distDir: string, serverless: boolean) {\n const serverBuildPath = join(\n distDir,\n serverless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY\n )\n const fontManifest = require(join(serverBuildPath, FONT_MANIFEST))\n return fontManifest\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/router.d.ts b/ninjalist/node_modules/next/dist/next-server/server/router.d.ts new file mode 100644 index 00000000..2f6bc84b --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/router.d.ts @@ -0,0 +1,58 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +import { UrlWithParsedQuery } from 'url'; +export declare const route: (path: string) => (pathname: string | null | undefined, params?: any) => any; +export declare type Params = { + [param: string]: any; +}; +export declare type RouteMatch = (pathname: string | null | undefined) => false | Params; +declare type RouteResult = { + finished: boolean; + pathname?: string; + query?: { + [k: string]: string; + }; +}; +export declare type Route = { + match: RouteMatch; + type: string; + check?: boolean; + statusCode?: number; + name: string; + requireBasePath?: false; + internal?: true; + fn: (req: IncomingMessage, res: ServerResponse, params: Params, parsedUrl: UrlWithParsedQuery) => Promise | RouteResult; +}; +export declare type DynamicRoutes = Array<{ + page: string; + match: RouteMatch; +}>; +export declare type PageChecker = (pathname: string) => Promise; +export default class Router { + basePath: string; + headers: Route[]; + fsRoutes: Route[]; + rewrites: Route[]; + redirects: Route[]; + catchAllRoute: Route; + pageChecker: PageChecker; + dynamicRoutes: DynamicRoutes; + useFileSystemPublicRoutes: boolean; + locales: string[]; + constructor({ basePath, headers, fsRoutes, rewrites, redirects, catchAllRoute, dynamicRoutes, pageChecker, useFileSystemPublicRoutes, locales, }: { + basePath: string; + headers: Route[]; + fsRoutes: Route[]; + rewrites: Route[]; + redirects: Route[]; + catchAllRoute: Route; + dynamicRoutes: DynamicRoutes | undefined; + pageChecker: PageChecker; + useFileSystemPublicRoutes: boolean; + locales: string[]; + }); + setDynamicRoutes(routes?: DynamicRoutes): void; + addFsRoute(fsRoute: Route): void; + execute(req: IncomingMessage, res: ServerResponse, parsedUrl: UrlWithParsedQuery): Promise; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/router.js b/ninjalist/node_modules/next/dist/next-server/server/router.js new file mode 100644 index 00000000..d3d48839 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/router.js @@ -0,0 +1,30 @@ +"use strict";exports.__esModule=true;exports.default=exports.route=void 0;var _pathMatch=_interopRequireDefault(require("../lib/router/utils/path-match"));var _normalizeTrailingSlash=require("../../client/normalize-trailing-slash");var _normalizeLocalePath=require("../lib/i18n/normalize-locale-path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const route=(0,_pathMatch.default)();exports.route=route;const customRouteTypes=new Set(['rewrite','redirect','header']);function replaceBasePath(basePath,pathname){// If replace ends up replacing the full url it'll be `undefined`, meaning we have to default it to `/` +return pathname.replace(basePath,'')||'/';}class Router{constructor({basePath='',headers=[],fsRoutes=[],rewrites=[],redirects=[],catchAllRoute,dynamicRoutes=[],pageChecker,useFileSystemPublicRoutes,locales=[]}){this.basePath=void 0;this.headers=void 0;this.fsRoutes=void 0;this.rewrites=void 0;this.redirects=void 0;this.catchAllRoute=void 0;this.pageChecker=void 0;this.dynamicRoutes=void 0;this.useFileSystemPublicRoutes=void 0;this.locales=void 0;this.basePath=basePath;this.headers=headers;this.fsRoutes=fsRoutes;this.rewrites=rewrites;this.redirects=redirects;this.pageChecker=pageChecker;this.catchAllRoute=catchAllRoute;this.dynamicRoutes=dynamicRoutes;this.useFileSystemPublicRoutes=useFileSystemPublicRoutes;this.locales=locales;}setDynamicRoutes(routes=[]){this.dynamicRoutes=routes;}addFsRoute(fsRoute){this.fsRoutes.unshift(fsRoute);}async execute(req,res,parsedUrl){// memoize page check calls so we don't duplicate checks for pages +const pageChecks={};const memoizedPageChecker=async p=>{p=(0,_normalizeLocalePath.normalizeLocalePath)(p,this.locales).pathname;if(pageChecks[p]){return pageChecks[p];}const result=this.pageChecker(p);pageChecks[p]=result;return result;};let parsedUrlUpdated=parsedUrl;/* + Desired routes order + - headers + - redirects + - Check filesystem (including pages), if nothing found continue + - User rewrites (checking filesystem and pages each match) + */const allRoutes=[...this.headers,...this.redirects,...this.fsRoutes,// We only check the catch-all route if public page routes hasn't been +// disabled +...(this.useFileSystemPublicRoutes?[{type:'route',name:'page checker',requireBasePath:false,match:route('/:path*'),fn:async(checkerReq,checkerRes,params,parsedCheckerUrl)=>{let{pathname}=parsedCheckerUrl;pathname=(0,_normalizeTrailingSlash.removePathTrailingSlash)(pathname||'/');if(!pathname){return{finished:false};}if(await memoizedPageChecker(pathname)){return this.catchAllRoute.fn(checkerReq,checkerRes,params,parsedCheckerUrl);}return{finished:false};}}]:[]),...this.rewrites,// We only check the catch-all route if public page routes hasn't been +// disabled +...(this.useFileSystemPublicRoutes?[this.catchAllRoute]:[])];const originallyHadBasePath=!this.basePath||req._nextHadBasePath;for(const testRoute of allRoutes){// if basePath is being used, the basePath will still be included +// in the pathname here to allow custom-routes to require containing +// it or not, filesystem routes and pages must always include the basePath +// if it is set +let currentPathname=parsedUrlUpdated.pathname;const originalPathname=currentPathname;const requireBasePath=testRoute.requireBasePath!==false;const isCustomRoute=customRouteTypes.has(testRoute.type);const isPublicFolderCatchall=testRoute.name==='public folder catchall';const keepBasePath=isCustomRoute||isPublicFolderCatchall;const keepLocale=isCustomRoute;const currentPathnameNoBasePath=replaceBasePath(this.basePath,currentPathname);if(!keepBasePath){currentPathname=currentPathnameNoBasePath;}const localePathResult=(0,_normalizeLocalePath.normalizeLocalePath)(currentPathnameNoBasePath,this.locales);const activeBasePath=keepBasePath?this.basePath:'';if(keepLocale){if(!testRoute.internal&&parsedUrl.query.__nextLocale&&!localePathResult.detectedLocale){currentPathname=`${activeBasePath}/${parsedUrl.query.__nextLocale}${currentPathnameNoBasePath==='/'?'':currentPathnameNoBasePath}`;}if(req.__nextHadTrailingSlash&&!currentPathname.endsWith('/')){currentPathname+='/';}}else{currentPathname=`${req._nextHadBasePath?activeBasePath:''}${activeBasePath&&localePathResult.pathname==='/'?'':localePathResult.pathname}`;}const newParams=testRoute.match(currentPathname);// Check if the match function matched +if(newParams){// since we require basePath be present for non-custom-routes we +// 404 here when we matched an fs route +if(!keepBasePath){if(!originallyHadBasePath&&!req._nextDidRewrite){if(requireBasePath){// consider this a non-match so the 404 renders +return false;}// page checker occurs before rewrites so we need to continue +// to check those since they don't always require basePath +continue;}parsedUrlUpdated.pathname=currentPathname;}const result=await testRoute.fn(req,res,newParams,parsedUrlUpdated);// The response was handled +if(result.finished){return true;}// since the fs route didn't match we need to re-add the basePath +// to continue checking rewrites with the basePath present +if(!keepBasePath){parsedUrlUpdated.pathname=originalPathname;}if(result.pathname){parsedUrlUpdated.pathname=result.pathname;}if(result.query){parsedUrlUpdated.query={...parsedUrlUpdated.query,...result.query};}// check filesystem +if(testRoute.check===true){const originalFsPathname=parsedUrlUpdated.pathname;const fsPathname=replaceBasePath(this.basePath,originalFsPathname);for(const fsRoute of this.fsRoutes){const fsParams=fsRoute.match(fsPathname);if(fsParams){parsedUrlUpdated.pathname=fsPathname;const fsResult=await fsRoute.fn(req,res,fsParams,parsedUrlUpdated);if(fsResult.finished){return true;}parsedUrlUpdated.pathname=originalFsPathname;}}let matchedPage=await memoizedPageChecker(fsPathname);// If we didn't match a page check dynamic routes +if(!matchedPage){for(const dynamicRoute of this.dynamicRoutes){if(dynamicRoute.match(fsPathname)){matchedPage=true;}}}// Matched a page or dynamic route so render it using catchAllRoute +if(matchedPage){parsedUrlUpdated.pathname=fsPathname;const pageParams=this.catchAllRoute.match(parsedUrlUpdated.pathname);await this.catchAllRoute.fn(req,res,pageParams,parsedUrlUpdated);return true;}}}}return false;}}exports.default=Router; +//# sourceMappingURL=router.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/router.js.map b/ninjalist/node_modules/next/dist/next-server/server/router.js.map new file mode 100644 index 00000000..64e777ff --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/router.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/router.ts"],"names":["route","customRouteTypes","Set","replaceBasePath","basePath","pathname","replace","Router","constructor","headers","fsRoutes","rewrites","redirects","catchAllRoute","dynamicRoutes","pageChecker","useFileSystemPublicRoutes","locales","setDynamicRoutes","routes","addFsRoute","fsRoute","unshift","execute","req","res","parsedUrl","pageChecks","memoizedPageChecker","p","result","parsedUrlUpdated","allRoutes","type","name","requireBasePath","match","fn","checkerReq","checkerRes","params","parsedCheckerUrl","finished","originallyHadBasePath","_nextHadBasePath","testRoute","currentPathname","originalPathname","isCustomRoute","has","isPublicFolderCatchall","keepBasePath","keepLocale","currentPathnameNoBasePath","localePathResult","activeBasePath","internal","query","__nextLocale","detectedLocale","__nextHadTrailingSlash","endsWith","newParams","_nextDidRewrite","check","originalFsPathname","fsPathname","fsParams","fsResult","matchedPage","dynamicRoute","pageParams"],"mappings":"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","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { UrlWithParsedQuery } from 'url'\n\nimport pathMatch from '../lib/router/utils/path-match'\nimport { removePathTrailingSlash } from '../../client/normalize-trailing-slash'\nimport { normalizeLocalePath } from '../lib/i18n/normalize-locale-path'\n\nexport const route = pathMatch()\n\nexport type Params = { [param: string]: any }\n\nexport type RouteMatch = (pathname: string | null | undefined) => false | Params\n\ntype RouteResult = {\n finished: boolean\n pathname?: string\n query?: { [k: string]: string }\n}\n\nexport type Route = {\n match: RouteMatch\n type: string\n check?: boolean\n statusCode?: number\n name: string\n requireBasePath?: false\n internal?: true\n fn: (\n req: IncomingMessage,\n res: ServerResponse,\n params: Params,\n parsedUrl: UrlWithParsedQuery\n ) => Promise | RouteResult\n}\n\nexport type DynamicRoutes = Array<{ page: string; match: RouteMatch }>\n\nexport type PageChecker = (pathname: string) => Promise\n\nconst customRouteTypes = new Set(['rewrite', 'redirect', 'header'])\n\nfunction replaceBasePath(basePath: string, pathname: string) {\n // If replace ends up replacing the full url it'll be `undefined`, meaning we have to default it to `/`\n return pathname!.replace(basePath, '') || '/'\n}\n\nexport default class Router {\n basePath: string\n headers: Route[]\n fsRoutes: Route[]\n rewrites: Route[]\n redirects: Route[]\n catchAllRoute: Route\n pageChecker: PageChecker\n dynamicRoutes: DynamicRoutes\n useFileSystemPublicRoutes: boolean\n locales: string[]\n\n constructor({\n basePath = '',\n headers = [],\n fsRoutes = [],\n rewrites = [],\n redirects = [],\n catchAllRoute,\n dynamicRoutes = [],\n pageChecker,\n useFileSystemPublicRoutes,\n locales = [],\n }: {\n basePath: string\n headers: Route[]\n fsRoutes: Route[]\n rewrites: Route[]\n redirects: Route[]\n catchAllRoute: Route\n dynamicRoutes: DynamicRoutes | undefined\n pageChecker: PageChecker\n useFileSystemPublicRoutes: boolean\n locales: string[]\n }) {\n this.basePath = basePath\n this.headers = headers\n this.fsRoutes = fsRoutes\n this.rewrites = rewrites\n this.redirects = redirects\n this.pageChecker = pageChecker\n this.catchAllRoute = catchAllRoute\n this.dynamicRoutes = dynamicRoutes\n this.useFileSystemPublicRoutes = useFileSystemPublicRoutes\n this.locales = locales\n }\n\n setDynamicRoutes(routes: DynamicRoutes = []) {\n this.dynamicRoutes = routes\n }\n\n addFsRoute(fsRoute: Route) {\n this.fsRoutes.unshift(fsRoute)\n }\n\n async execute(\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl: UrlWithParsedQuery\n ): Promise {\n // memoize page check calls so we don't duplicate checks for pages\n const pageChecks: { [name: string]: Promise } = {}\n const memoizedPageChecker = async (p: string): Promise => {\n p = normalizeLocalePath(p, this.locales).pathname\n\n if (pageChecks[p]) {\n return pageChecks[p]\n }\n const result = this.pageChecker(p)\n pageChecks[p] = result\n return result\n }\n\n let parsedUrlUpdated = parsedUrl\n\n /*\n Desired routes order\n - headers\n - redirects\n - Check filesystem (including pages), if nothing found continue\n - User rewrites (checking filesystem and pages each match)\n */\n\n const allRoutes = [\n ...this.headers,\n ...this.redirects,\n ...this.fsRoutes,\n // We only check the catch-all route if public page routes hasn't been\n // disabled\n ...(this.useFileSystemPublicRoutes\n ? [\n {\n type: 'route',\n name: 'page checker',\n requireBasePath: false,\n match: route('/:path*'),\n fn: async (checkerReq, checkerRes, params, parsedCheckerUrl) => {\n let { pathname } = parsedCheckerUrl\n pathname = removePathTrailingSlash(pathname || '/')\n\n if (!pathname) {\n return { finished: false }\n }\n\n if (await memoizedPageChecker(pathname)) {\n return this.catchAllRoute.fn(\n checkerReq,\n checkerRes,\n params,\n parsedCheckerUrl\n )\n }\n return { finished: false }\n },\n } as Route,\n ]\n : []),\n ...this.rewrites,\n // We only check the catch-all route if public page routes hasn't been\n // disabled\n ...(this.useFileSystemPublicRoutes ? [this.catchAllRoute] : []),\n ]\n const originallyHadBasePath =\n !this.basePath || (req as any)._nextHadBasePath\n\n for (const testRoute of allRoutes) {\n // if basePath is being used, the basePath will still be included\n // in the pathname here to allow custom-routes to require containing\n // it or not, filesystem routes and pages must always include the basePath\n // if it is set\n let currentPathname = parsedUrlUpdated.pathname as string\n const originalPathname = currentPathname\n const requireBasePath = testRoute.requireBasePath !== false\n const isCustomRoute = customRouteTypes.has(testRoute.type)\n const isPublicFolderCatchall = testRoute.name === 'public folder catchall'\n const keepBasePath = isCustomRoute || isPublicFolderCatchall\n const keepLocale = isCustomRoute\n\n const currentPathnameNoBasePath = replaceBasePath(\n this.basePath,\n currentPathname\n )\n\n if (!keepBasePath) {\n currentPathname = currentPathnameNoBasePath\n }\n\n const localePathResult = normalizeLocalePath(\n currentPathnameNoBasePath,\n this.locales\n )\n const activeBasePath = keepBasePath ? this.basePath : ''\n\n if (keepLocale) {\n if (\n !testRoute.internal &&\n parsedUrl.query.__nextLocale &&\n !localePathResult.detectedLocale\n ) {\n currentPathname = `${activeBasePath}/${parsedUrl.query.__nextLocale}${\n currentPathnameNoBasePath === '/' ? '' : currentPathnameNoBasePath\n }`\n }\n\n if (\n (req as any).__nextHadTrailingSlash &&\n !currentPathname.endsWith('/')\n ) {\n currentPathname += '/'\n }\n } else {\n currentPathname = `${\n (req as any)._nextHadBasePath ? activeBasePath : ''\n }${\n activeBasePath && localePathResult.pathname === '/'\n ? ''\n : localePathResult.pathname\n }`\n }\n\n const newParams = testRoute.match(currentPathname)\n\n // Check if the match function matched\n if (newParams) {\n // since we require basePath be present for non-custom-routes we\n // 404 here when we matched an fs route\n if (!keepBasePath) {\n if (!originallyHadBasePath && !(req as any)._nextDidRewrite) {\n if (requireBasePath) {\n // consider this a non-match so the 404 renders\n return false\n }\n // page checker occurs before rewrites so we need to continue\n // to check those since they don't always require basePath\n continue\n }\n\n parsedUrlUpdated.pathname = currentPathname\n }\n\n const result = await testRoute.fn(req, res, newParams, parsedUrlUpdated)\n\n // The response was handled\n if (result.finished) {\n return true\n }\n\n // since the fs route didn't match we need to re-add the basePath\n // to continue checking rewrites with the basePath present\n if (!keepBasePath) {\n parsedUrlUpdated.pathname = originalPathname\n }\n\n if (result.pathname) {\n parsedUrlUpdated.pathname = result.pathname\n }\n\n if (result.query) {\n parsedUrlUpdated.query = {\n ...parsedUrlUpdated.query,\n ...result.query,\n }\n }\n\n // check filesystem\n if (testRoute.check === true) {\n const originalFsPathname = parsedUrlUpdated.pathname\n const fsPathname = replaceBasePath(this.basePath, originalFsPathname!)\n\n for (const fsRoute of this.fsRoutes) {\n const fsParams = fsRoute.match(fsPathname)\n\n if (fsParams) {\n parsedUrlUpdated.pathname = fsPathname\n\n const fsResult = await fsRoute.fn(\n req,\n res,\n fsParams,\n parsedUrlUpdated\n )\n\n if (fsResult.finished) {\n return true\n }\n\n parsedUrlUpdated.pathname = originalFsPathname\n }\n }\n\n let matchedPage = await memoizedPageChecker(fsPathname)\n\n // If we didn't match a page check dynamic routes\n if (!matchedPage) {\n for (const dynamicRoute of this.dynamicRoutes) {\n if (dynamicRoute.match(fsPathname)) {\n matchedPage = true\n }\n }\n }\n\n // Matched a page or dynamic route so render it using catchAllRoute\n if (matchedPage) {\n parsedUrlUpdated.pathname = fsPathname\n\n const pageParams = this.catchAllRoute.match(\n parsedUrlUpdated.pathname\n )\n\n await this.catchAllRoute.fn(\n req,\n res,\n pageParams as Params,\n parsedUrlUpdated\n )\n return true\n }\n }\n }\n }\n return false\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/send-payload.d.ts b/ninjalist/node_modules/next/dist/next-server/server/send-payload.d.ts new file mode 100644 index 00000000..f82dbebd --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/send-payload.d.ts @@ -0,0 +1,19 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +declare type PayloadOptions = { + private: true; +} | { + private: boolean; + stateful: true; +} | { + private: boolean; + stateful: false; + revalidate: number | false; +}; +export declare function setRevalidateHeaders(res: ServerResponse, options: PayloadOptions): void; +export declare function sendPayload(req: IncomingMessage, res: ServerResponse, payload: any, type: 'html' | 'json', { generateEtags, poweredByHeader, }: { + generateEtags: boolean; + poweredByHeader: boolean; +}, options?: PayloadOptions): void; +export declare function sendEtagResponse(req: IncomingMessage, res: ServerResponse, etag: string | undefined): boolean; +export {}; diff --git a/ninjalist/node_modules/next/dist/next-server/server/send-payload.js b/ninjalist/node_modules/next/dist/next-server/server/send-payload.js new file mode 100644 index 00000000..c20d7d37 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/send-payload.js @@ -0,0 +1,7 @@ +"use strict";exports.__esModule=true;exports.setRevalidateHeaders=setRevalidateHeaders;exports.sendPayload=sendPayload;exports.sendEtagResponse=sendEtagResponse;var _utils=require("../lib/utils");var _etag=_interopRequireDefault(require("etag"));var _fresh=_interopRequireDefault(require("next/dist/compiled/fresh"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function setRevalidateHeaders(res,options){if(options.private||options.stateful){if(options.private||!res.hasHeader('Cache-Control')){res.setHeader('Cache-Control',`private, no-cache, no-store, max-age=0, must-revalidate`);}}else if(typeof options.revalidate==='number'){if(options.revalidate<1){throw new Error(`invariant: invalid Cache-Control duration provided: ${options.revalidate} < 1`);}res.setHeader('Cache-Control',`s-maxage=${options.revalidate}, stale-while-revalidate`);}else if(options.revalidate===false){res.setHeader('Cache-Control',`s-maxage=31536000, stale-while-revalidate`);}}function sendPayload(req,res,payload,type,{generateEtags,poweredByHeader},options){if((0,_utils.isResSent)(res)){return;}if(poweredByHeader&&type==='html'){res.setHeader('X-Powered-By','Next.js');}const etag=generateEtags?(0,_etag.default)(payload):undefined;if(sendEtagResponse(req,res,etag)){return;}if(!res.getHeader('Content-Type')){res.setHeader('Content-Type',type==='json'?'application/json':'text/html; charset=utf-8');}res.setHeader('Content-Length',Buffer.byteLength(payload));if(options!=null){setRevalidateHeaders(res,options);}res.end(req.method==='HEAD'?null:payload);}function sendEtagResponse(req,res,etag){if(etag){/** + * The server generating a 304 response MUST generate any of the + * following header fields that would have been sent in a 200 (OK) + * response to the same request: Cache-Control, Content-Location, Date, + * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1 + */res.setHeader('ETag',etag);}if((0,_fresh.default)(req.headers,{etag})){res.statusCode=304;res.end();return true;}return false;} +//# sourceMappingURL=send-payload.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/send-payload.js.map b/ninjalist/node_modules/next/dist/next-server/server/send-payload.js.map new file mode 100644 index 00000000..508ecdae --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/send-payload.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/send-payload.ts"],"names":["setRevalidateHeaders","res","options","private","stateful","hasHeader","setHeader","revalidate","Error","sendPayload","req","payload","type","generateEtags","poweredByHeader","etag","undefined","sendEtagResponse","getHeader","Buffer","byteLength","end","method","headers","statusCode"],"mappings":"iKACA,mCACA,kDACA,uE,mFAOO,QAASA,CAAAA,oBAAT,CACLC,GADK,CAELC,OAFK,CAGL,CACA,GAAIA,OAAO,CAACC,OAAR,EAAmBD,OAAO,CAACE,QAA/B,CAAyC,CACvC,GAAIF,OAAO,CAACC,OAAR,EAAmB,CAACF,GAAG,CAACI,SAAJ,CAAc,eAAd,CAAxB,CAAwD,CACtDJ,GAAG,CAACK,SAAJ,CACE,eADF,CAEG,yDAFH,EAID,CACF,CAPD,IAOO,IAAI,MAAOJ,CAAAA,OAAO,CAACK,UAAf,GAA8B,QAAlC,CAA4C,CACjD,GAAIL,OAAO,CAACK,UAAR,CAAqB,CAAzB,CAA4B,CAC1B,KAAM,IAAIC,CAAAA,KAAJ,CACH,uDAAsDN,OAAO,CAACK,UAAW,MADtE,CAAN,CAGD,CAEDN,GAAG,CAACK,SAAJ,CACE,eADF,CAEG,YAAWJ,OAAO,CAACK,UAAW,0BAFjC,EAID,CAXM,IAWA,IAAIL,OAAO,CAACK,UAAR,GAAuB,KAA3B,CAAkC,CACvCN,GAAG,CAACK,SAAJ,CAAc,eAAd,CAAgC,2CAAhC,EACD,CACF,CAEM,QAASG,CAAAA,WAAT,CACLC,GADK,CAELT,GAFK,CAGLU,OAHK,CAILC,IAJK,CAKL,CACEC,aADF,CAEEC,eAFF,CALK,CASLZ,OATK,CAUC,CACN,GAAI,qBAAUD,GAAV,CAAJ,CAAoB,CAClB,OACD,CAED,GAAIa,eAAe,EAAIF,IAAI,GAAK,MAAhC,CAAwC,CACtCX,GAAG,CAACK,SAAJ,CAAc,cAAd,CAA8B,SAA9B,EACD,CAED,KAAMS,CAAAA,IAAI,CAAGF,aAAa,CAAG,kBAAaF,OAAb,CAAH,CAA2BK,SAArD,CACA,GAAIC,gBAAgB,CAACP,GAAD,CAAMT,GAAN,CAAWc,IAAX,CAApB,CAAsC,CACpC,OACD,CAED,GAAI,CAACd,GAAG,CAACiB,SAAJ,CAAc,cAAd,CAAL,CAAoC,CAClCjB,GAAG,CAACK,SAAJ,CACE,cADF,CAEEM,IAAI,GAAK,MAAT,CAAkB,kBAAlB,CAAuC,0BAFzC,EAID,CACDX,GAAG,CAACK,SAAJ,CAAc,gBAAd,CAAgCa,MAAM,CAACC,UAAP,CAAkBT,OAAlB,CAAhC,EACA,GAAIT,OAAO,EAAI,IAAf,CAAqB,CACnBF,oBAAoB,CAACC,GAAD,CAAMC,OAAN,CAApB,CACD,CACDD,GAAG,CAACoB,GAAJ,CAAQX,GAAG,CAACY,MAAJ,GAAe,MAAf,CAAwB,IAAxB,CAA+BX,OAAvC,EACD,CAEM,QAASM,CAAAA,gBAAT,CACLP,GADK,CAELT,GAFK,CAGLc,IAHK,CAII,CACT,GAAIA,IAAJ,CAAU,CACR;AACJ;AACA;AACA;AACA;AACA,OACId,GAAG,CAACK,SAAJ,CAAc,MAAd,CAAsBS,IAAtB,EACD,CAED,GAAI,mBAAML,GAAG,CAACa,OAAV,CAAmB,CAAER,IAAF,CAAnB,CAAJ,CAAkC,CAChCd,GAAG,CAACuB,UAAJ,CAAiB,GAAjB,CACAvB,GAAG,CAACoB,GAAJ,GACA,MAAO,KAAP,CACD,CAED,MAAO,MAAP,CACD","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport { isResSent } from '../lib/utils'\nimport generateETag from 'etag'\nimport fresh from 'next/dist/compiled/fresh'\n\ntype PayloadOptions =\n | { private: true }\n | { private: boolean; stateful: true }\n | { private: boolean; stateful: false; revalidate: number | false }\n\nexport function setRevalidateHeaders(\n res: ServerResponse,\n options: PayloadOptions\n) {\n if (options.private || options.stateful) {\n if (options.private || !res.hasHeader('Cache-Control')) {\n res.setHeader(\n 'Cache-Control',\n `private, no-cache, no-store, max-age=0, must-revalidate`\n )\n }\n } else if (typeof options.revalidate === 'number') {\n if (options.revalidate < 1) {\n throw new Error(\n `invariant: invalid Cache-Control duration provided: ${options.revalidate} < 1`\n )\n }\n\n res.setHeader(\n 'Cache-Control',\n `s-maxage=${options.revalidate}, stale-while-revalidate`\n )\n } else if (options.revalidate === false) {\n res.setHeader('Cache-Control', `s-maxage=31536000, stale-while-revalidate`)\n }\n}\n\nexport function sendPayload(\n req: IncomingMessage,\n res: ServerResponse,\n payload: any,\n type: 'html' | 'json',\n {\n generateEtags,\n poweredByHeader,\n }: { generateEtags: boolean; poweredByHeader: boolean },\n options?: PayloadOptions\n): void {\n if (isResSent(res)) {\n return\n }\n\n if (poweredByHeader && type === 'html') {\n res.setHeader('X-Powered-By', 'Next.js')\n }\n\n const etag = generateEtags ? generateETag(payload) : undefined\n if (sendEtagResponse(req, res, etag)) {\n return\n }\n\n if (!res.getHeader('Content-Type')) {\n res.setHeader(\n 'Content-Type',\n type === 'json' ? 'application/json' : 'text/html; charset=utf-8'\n )\n }\n res.setHeader('Content-Length', Buffer.byteLength(payload))\n if (options != null) {\n setRevalidateHeaders(res, options)\n }\n res.end(req.method === 'HEAD' ? null : payload)\n}\n\nexport function sendEtagResponse(\n req: IncomingMessage,\n res: ServerResponse,\n etag: string | undefined\n): boolean {\n if (etag) {\n /**\n * The server generating a 304 response MUST generate any of the\n * following header fields that would have been sent in a 200 (OK)\n * response to the same request: Cache-Control, Content-Location, Date,\n * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1\n */\n res.setHeader('ETag', etag)\n }\n\n if (fresh(req.headers, { etag })) {\n res.statusCode = 304\n res.end()\n return true\n }\n\n return false\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/serve-static.d.ts b/ninjalist/node_modules/next/dist/next-server/server/serve-static.d.ts new file mode 100644 index 00000000..1aeef595 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/serve-static.d.ts @@ -0,0 +1,5 @@ +/// +import { IncomingMessage, ServerResponse } from 'http'; +export declare function serveStatic(req: IncomingMessage, res: ServerResponse, path: string): Promise; +export declare function getContentType(extWithoutDot: string): string | null; +export declare function getExtension(contentType: string): string | null; diff --git a/ninjalist/node_modules/next/dist/next-server/server/serve-static.js b/ninjalist/node_modules/next/dist/next-server/server/serve-static.js new file mode 100644 index 00000000..33d1e08a --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/serve-static.js @@ -0,0 +1,7 @@ +"use strict";exports.__esModule=true;exports.serveStatic=serveStatic;exports.getContentType=getContentType;exports.getExtension=getExtension;var _send=_interopRequireDefault(require("next/dist/compiled/send"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function serveStatic(req,res,path){return new Promise((resolve,reject)=>{(0,_send.default)(req,path).on('directory',()=>{// We don't allow directories to be read. +const err=new Error('No directory access');err.code='ENOENT';reject(err);}).on('error',reject).pipe(res).on('finish',resolve);});}function getContentType(extWithoutDot){const{mime}=_send.default;if('getType'in mime){// 2.0 +return mime.getType(extWithoutDot);}// 1.0 +return mime.lookup(extWithoutDot);}function getExtension(contentType){const{mime}=_send.default;if('getExtension'in mime){// 2.0 +return mime.getExtension(contentType);}// 1.0 +return mime.extension(contentType);} +//# sourceMappingURL=serve-static.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/serve-static.js.map b/ninjalist/node_modules/next/dist/next-server/server/serve-static.js.map new file mode 100644 index 00000000..148c1fe6 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/serve-static.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/serve-static.ts"],"names":["serveStatic","req","res","path","Promise","resolve","reject","on","err","Error","code","pipe","getContentType","extWithoutDot","mime","send","getType","lookup","getExtension","contentType","extension"],"mappings":"6IACA,qE,mFAEO,QAASA,CAAAA,WAAT,CACLC,GADK,CAELC,GAFK,CAGLC,IAHK,CAIU,CACf,MAAO,IAAIC,CAAAA,OAAJ,CAAY,CAACC,OAAD,CAAUC,MAAV,GAAqB,CACtC,kBAAKL,GAAL,CAAUE,IAAV,EACGI,EADH,CACM,WADN,CACmB,IAAM,CACrB;AACA,KAAMC,CAAAA,GAAQ,CAAG,GAAIC,CAAAA,KAAJ,CAAU,qBAAV,CAAjB,CACAD,GAAG,CAACE,IAAJ,CAAW,QAAX,CACAJ,MAAM,CAACE,GAAD,CAAN,CACD,CANH,EAOGD,EAPH,CAOM,OAPN,CAOeD,MAPf,EAQGK,IARH,CAQQT,GARR,EASGK,EATH,CASM,QATN,CASgBF,OAThB,EAUD,CAXM,CAAP,CAYD,CAEM,QAASO,CAAAA,cAAT,CAAwBC,aAAxB,CAA8D,CACnE,KAAM,CAAEC,IAAF,EAAWC,aAAjB,CACA,GAAI,WAAaD,CAAAA,IAAjB,CAAuB,CACrB;AACA,MAAOA,CAAAA,IAAI,CAACE,OAAL,CAAaH,aAAb,CAAP,CACD,CACD;AACA,MAAQC,CAAAA,IAAD,CAAcG,MAAd,CAAqBJ,aAArB,CAAP,CACD,CAEM,QAASK,CAAAA,YAAT,CAAsBC,WAAtB,CAA0D,CAC/D,KAAM,CAAEL,IAAF,EAAWC,aAAjB,CACA,GAAI,gBAAkBD,CAAAA,IAAtB,CAA4B,CAC1B;AACA,MAAOA,CAAAA,IAAI,CAACI,YAAL,CAAkBC,WAAlB,CAAP,CACD,CACD;AACA,MAAQL,CAAAA,IAAD,CAAcM,SAAd,CAAwBD,WAAxB,CAAP,CACD","sourcesContent":["import { IncomingMessage, ServerResponse } from 'http'\nimport send from 'next/dist/compiled/send'\n\nexport function serveStatic(\n req: IncomingMessage,\n res: ServerResponse,\n path: string\n): Promise {\n return new Promise((resolve, reject) => {\n send(req, path)\n .on('directory', () => {\n // We don't allow directories to be read.\n const err: any = new Error('No directory access')\n err.code = 'ENOENT'\n reject(err)\n })\n .on('error', reject)\n .pipe(res)\n .on('finish', resolve)\n })\n}\n\nexport function getContentType(extWithoutDot: string): string | null {\n const { mime } = send\n if ('getType' in mime) {\n // 2.0\n return mime.getType(extWithoutDot)\n }\n // 1.0\n return (mime as any).lookup(extWithoutDot)\n}\n\nexport function getExtension(contentType: string): string | null {\n const { mime } = send\n if ('getExtension' in mime) {\n // 2.0\n return mime.getExtension(contentType)\n }\n // 1.0\n return (mime as any).extension(contentType)\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/utils.d.ts b/ninjalist/node_modules/next/dist/next-server/server/utils.d.ts new file mode 100644 index 00000000..0ae7317e --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/utils.d.ts @@ -0,0 +1,2 @@ +export declare function isBlockedPage(pathname: string): boolean; +export declare function cleanAmpPath(pathname: string): string; diff --git a/ninjalist/node_modules/next/dist/next-server/server/utils.js b/ninjalist/node_modules/next/dist/next-server/server/utils.js new file mode 100644 index 00000000..49cdd7b1 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/utils.js @@ -0,0 +1,2 @@ +"use strict";exports.__esModule=true;exports.isBlockedPage=isBlockedPage;exports.cleanAmpPath=cleanAmpPath;var _constants=require("../lib/constants");function isBlockedPage(pathname){return _constants.BLOCKED_PAGES.includes(pathname);}function cleanAmpPath(pathname){if(pathname.match(/\?amp=(y|yes|true|1)/)){pathname=pathname.replace(/\?amp=(y|yes|true|1)&?/,'?');}if(pathname.match(/&=(y|yes|true|1)/)){pathname=pathname.replace(/&=(y|yes|true|1)/,'');}pathname=pathname.replace(/\?$/,'');return pathname;} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/next-server/server/utils.js.map b/ninjalist/node_modules/next/dist/next-server/server/utils.js.map new file mode 100644 index 00000000..cb5c2c52 --- /dev/null +++ b/ninjalist/node_modules/next/dist/next-server/server/utils.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../next-server/server/utils.ts"],"names":["isBlockedPage","pathname","BLOCKED_PAGES","includes","cleanAmpPath","match","replace"],"mappings":"2GAAA,2CAEO,QAASA,CAAAA,aAAT,CAAuBC,QAAvB,CAAkD,CACvD,MAAOC,0BAAcC,QAAd,CAAuBF,QAAvB,CAAP,CACD,CAEM,QAASG,CAAAA,YAAT,CAAsBH,QAAtB,CAAgD,CACrD,GAAIA,QAAQ,CAACI,KAAT,CAAe,sBAAf,CAAJ,CAA4C,CAC1CJ,QAAQ,CAAGA,QAAQ,CAACK,OAAT,CAAiB,wBAAjB,CAA2C,GAA3C,CAAX,CACD,CACD,GAAIL,QAAQ,CAACI,KAAT,CAAe,qBAAf,CAAJ,CAA2C,CACzCJ,QAAQ,CAAGA,QAAQ,CAACK,OAAT,CAAiB,qBAAjB,CAAwC,EAAxC,CAAX,CACD,CACDL,QAAQ,CAAGA,QAAQ,CAACK,OAAT,CAAiB,KAAjB,CAAwB,EAAxB,CAAX,CACA,MAAOL,CAAAA,QAAP,CACD","sourcesContent":["import { BLOCKED_PAGES } from '../lib/constants'\n\nexport function isBlockedPage(pathname: string): boolean {\n return BLOCKED_PAGES.includes(pathname)\n}\n\nexport function cleanAmpPath(pathname: string): string {\n if (pathname.match(/\\?amp=(y|yes|true|1)/)) {\n pathname = pathname.replace(/\\?amp=(y|yes|true|1)&?/, '?')\n }\n if (pathname.match(/&=(y|yes|true|1)/)) {\n pathname = pathname.replace(/&=(y|yes|true|1)/, '')\n }\n pathname = pathname.replace(/\\?$/, '')\n return pathname\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_app.d.ts b/ninjalist/node_modules/next/dist/pages/_app.d.ts new file mode 100644 index 00000000..03d491a0 --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_app.d.ts @@ -0,0 +1,30 @@ +/// +import React, { ErrorInfo } from 'react'; +import { AppContextType, AppInitialProps, AppPropsType, NextWebVitalsMetric } from '../next-server/lib/utils'; +import { Router } from '../client/router'; +export { AppInitialProps }; +export { NextWebVitalsMetric }; +export declare type AppContext = AppContextType; +export declare type AppProps

= AppPropsType; +/** + * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization. + * This allows for keeping state between navigation, custom error handling, injecting additional data. + */ +declare function appGetInitialProps({ Component, ctx, }: AppContext): Promise; +export default class App

extends React.Component

, S> { + static origGetInitialProps: typeof appGetInitialProps; + static getInitialProps: typeof appGetInitialProps; + componentDidCatch(error: Error, _errorInfo: ErrorInfo): void; + render(): JSX.Element; +} +export declare function Container(p: any): any; +export declare function createUrl(router: Router): { + readonly query: import("querystring").ParsedUrlQuery; + readonly pathname: string; + readonly asPath: string; + back: () => void; + push: (url: string, as?: string | undefined) => Promise; + pushTo: (href: string, as?: string | undefined) => Promise; + replace: (url: string, as?: string | undefined) => Promise; + replaceTo: (href: string, as?: string | undefined) => Promise; +}; diff --git a/ninjalist/node_modules/next/dist/pages/_app.js b/ninjalist/node_modules/next/dist/pages/_app.js new file mode 100644 index 00000000..e6a10592 --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_app.js @@ -0,0 +1,12 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.Container=Container;exports.createUrl=createUrl;exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _utils=require("../next-server/lib/utils");exports.AppInitialProps=_utils.AppInitialProps;exports.NextWebVitalsMetric=_utils.NextWebVitalsMetric;/** + * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization. + * This allows for keeping state between navigation, custom error handling, injecting additional data. + */async function appGetInitialProps({Component,ctx}){const pageProps=await(0,_utils.loadGetInitialProps)(Component,ctx);return{pageProps};}class App extends _react.default.Component{// Kept here for backwards compatibility. +// When someone ended App they could call `super.componentDidCatch`. +// @deprecated This method is no longer needed. Errors are caught at the top level +componentDidCatch(error,_errorInfo){throw error;}render(){const{router,Component,pageProps,__N_SSG,__N_SSP}=this.props;return/*#__PURE__*/_react.default.createElement(Component,Object.assign({},pageProps,// we don't add the legacy URL prop if it's using non-legacy +// methods like getStaticProps and getServerSideProps +!(__N_SSG||__N_SSP)?{url:createUrl(router)}:{}));}}exports.default=App;App.origGetInitialProps=appGetInitialProps;App.getInitialProps=appGetInitialProps;let warnContainer;let warnUrl;if(process.env.NODE_ENV!=='production'){warnContainer=(0,_utils.execOnce)(()=>{console.warn(`Warning: the \`Container\` in \`_app\` has been deprecated and should be removed. https://err.sh/vercel/next.js/app-container-deprecated`);});warnUrl=(0,_utils.execOnce)(()=>{console.error(`Warning: the 'url' property is deprecated. https://err.sh/vercel/next.js/url-deprecated`);});}// @deprecated noop for now until removal +function Container(p){if(process.env.NODE_ENV!=='production')warnContainer();return p.children;}function createUrl(router){// This is to make sure we don't references the router object at call time +const{pathname,asPath,query}=router;return{get query(){if(process.env.NODE_ENV!=='production')warnUrl();return query;},get pathname(){if(process.env.NODE_ENV!=='production')warnUrl();return pathname;},get asPath(){if(process.env.NODE_ENV!=='production')warnUrl();return asPath;},back:()=>{if(process.env.NODE_ENV!=='production')warnUrl();router.back();},push:(url,as)=>{if(process.env.NODE_ENV!=='production')warnUrl();return router.push(url,as);},pushTo:(href,as)=>{if(process.env.NODE_ENV!=='production')warnUrl();const pushRoute=as?href:'';const pushUrl=as||href;return router.push(pushRoute,pushUrl);},replace:(url,as)=>{if(process.env.NODE_ENV!=='production')warnUrl();return router.replace(url,as);},replaceTo:(href,as)=>{if(process.env.NODE_ENV!=='production')warnUrl();const replaceRoute=as?href:'';const replaceUrl=as||href;return router.replace(replaceRoute,replaceUrl);}};} +//# sourceMappingURL=_app.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_app.js.map b/ninjalist/node_modules/next/dist/pages/_app.js.map new file mode 100644 index 00000000..94198716 --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_app.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../pages/_app.tsx"],"names":["appGetInitialProps","Component","ctx","pageProps","App","React","componentDidCatch","error","_errorInfo","render","router","__N_SSG","__N_SSP","props","url","createUrl","origGetInitialProps","getInitialProps","warnContainer","warnUrl","process","env","NODE_ENV","console","warn","Container","p","children","pathname","asPath","query","back","push","as","pushTo","href","pushRoute","pushUrl","replace","replaceTo","replaceRoute","replaceUrl"],"mappings":"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","sourcesContent":["import React, { ErrorInfo } from 'react'\nimport {\n execOnce,\n loadGetInitialProps,\n AppContextType,\n AppInitialProps,\n AppPropsType,\n NextWebVitalsMetric,\n} from '../next-server/lib/utils'\nimport { Router } from '../client/router'\n\nexport { AppInitialProps }\n\nexport { NextWebVitalsMetric }\n\nexport type AppContext = AppContextType\n\nexport type AppProps

= AppPropsType\n\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */\nasync function appGetInitialProps({\n Component,\n ctx,\n}: AppContext): Promise {\n const pageProps = await loadGetInitialProps(Component, ctx)\n return { pageProps }\n}\n\nexport default class App

extends React.Component<\n P & AppProps,\n S\n> {\n static origGetInitialProps = appGetInitialProps\n static getInitialProps = appGetInitialProps\n\n // Kept here for backwards compatibility.\n // When someone ended App they could call `super.componentDidCatch`.\n // @deprecated This method is no longer needed. Errors are caught at the top level\n componentDidCatch(error: Error, _errorInfo: ErrorInfo): void {\n throw error\n }\n\n render() {\n const { router, Component, pageProps, __N_SSG, __N_SSP } = this\n .props as AppProps\n\n return (\n \n )\n }\n}\n\nlet warnContainer: () => void\nlet warnUrl: () => void\n\nif (process.env.NODE_ENV !== 'production') {\n warnContainer = execOnce(() => {\n console.warn(\n `Warning: the \\`Container\\` in \\`_app\\` has been deprecated and should be removed. https://err.sh/vercel/next.js/app-container-deprecated`\n )\n })\n\n warnUrl = execOnce(() => {\n console.error(\n `Warning: the 'url' property is deprecated. https://err.sh/vercel/next.js/url-deprecated`\n )\n })\n}\n\n// @deprecated noop for now until removal\nexport function Container(p: any) {\n if (process.env.NODE_ENV !== 'production') warnContainer()\n return p.children\n}\n\nexport function createUrl(router: Router) {\n // This is to make sure we don't references the router object at call time\n const { pathname, asPath, query } = router\n return {\n get query() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return query\n },\n get pathname() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return pathname\n },\n get asPath() {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return asPath\n },\n back: () => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n router.back()\n },\n push: (url: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return router.push(url, as)\n },\n pushTo: (href: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n const pushRoute = as ? href : ''\n const pushUrl = as || href\n\n return router.push(pushRoute, pushUrl)\n },\n replace: (url: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n return router.replace(url, as)\n },\n replaceTo: (href: string, as?: string) => {\n if (process.env.NODE_ENV !== 'production') warnUrl()\n const replaceRoute = as ? href : ''\n const replaceUrl = as || href\n\n return router.replace(replaceRoute, replaceUrl)\n },\n }\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_document.d.ts b/ninjalist/node_modules/next/dist/pages/_document.d.ts new file mode 100644 index 00000000..11aa2d90 --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_document.d.ts @@ -0,0 +1,58 @@ +import PropTypes from 'prop-types'; +import React, { Component, ReactNode } from 'react'; +import { DocumentContext as DocumentComponentContext } from '../next-server/lib/document-context'; +import { DocumentContext, DocumentInitialProps, DocumentProps } from '../next-server/lib/utils'; +export { DocumentContext, DocumentInitialProps, DocumentProps }; +export declare type OriginProps = { + nonce?: string; + crossOrigin?: string; +}; +declare type DocumentFiles = { + sharedFiles: readonly string[]; + pageFiles: readonly string[]; + allFiles: readonly string[]; +}; +/** + * `Document` component handles the initial `document` markup and renders only on the server side. + * Commonly used for implementing server side rendering for `css-in-js` libraries. + */ +export default class Document

extends Component { + static headTagsMiddleware: Promise | (() => never[]); + /** + * `getInitialProps` hook returns the context object with the addition of `renderPage`. + * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers + */ + static getInitialProps(ctx: DocumentContext): Promise; + static renderDocument

(DocumentComponent: new () => Document

, props: DocumentProps & P): React.ReactElement; + render(): JSX.Element; +} +export declare function Html(props: React.DetailedHTMLProps, HTMLHtmlElement>): JSX.Element; +export declare class Head extends Component, HTMLHeadElement>> { + static contextType: React.Context; + static propTypes: { + nonce: PropTypes.Requireable; + crossOrigin: PropTypes.Requireable; + }; + context: React.ContextType; + getCssLinks(files: DocumentFiles): JSX.Element[] | null; + getPreloadDynamicChunks(): (JSX.Element | null)[]; + getPreloadMainLinks(files: DocumentFiles): JSX.Element[] | null; + makeStylesheetInert(node: ReactNode): ReactNode[]; + render(): JSX.Element; +} +export declare function Main(): JSX.Element; +export declare class NextScript extends Component { + static contextType: React.Context; + static propTypes: { + nonce: PropTypes.Requireable; + crossOrigin: PropTypes.Requireable; + }; + context: React.ContextType; + static safariNomoduleFix: string; + getDynamicChunks(files: DocumentFiles): (JSX.Element | null)[]; + getPreNextScripts(): JSX.Element[]; + getScripts(files: DocumentFiles): JSX.Element[]; + getPolyfillScripts(): JSX.Element[]; + static getInlineScriptSource(documentProps: Readonly): string; + render(): JSX.Element | null; +} diff --git a/ninjalist/node_modules/next/dist/pages/_document.js b/ninjalist/node_modules/next/dist/pages/_document.js new file mode 100644 index 00000000..5810330d --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_document.js @@ -0,0 +1,27 @@ +"use strict";exports.__esModule=true;exports.Html=Html;exports.Main=Main;exports.NextScript=exports.Head=exports.default=void 0;var _propTypes=_interopRequireDefault(require("prop-types"));var _react=_interopRequireWildcard(require("react"));var _server=_interopRequireDefault(require("styled-jsx/server"));var _constants=require("../next-server/lib/constants");var _documentContext=require("../next-server/lib/document-context");var _utils=require("../next-server/lib/utils");exports.DocumentContext=_utils.DocumentContext;exports.DocumentInitialProps=_utils.DocumentInitialProps;exports.DocumentProps=_utils.DocumentProps;var _getPageFiles=require("../next-server/server/get-page-files");var _utils2=require("../next-server/server/utils");var _htmlescape=require("../server/htmlescape");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function dedupe(bundles){const files=new Set();const kept=[];for(const bundle of bundles){if(files.has(bundle.file))continue;files.add(bundle.file);kept.push(bundle);}return kept;}function getDocumentFiles(buildManifest,pathname,inAmpMode){const sharedFiles=(0,_getPageFiles.getPageFiles)(buildManifest,'/_app');const pageFiles=inAmpMode?[]:(0,_getPageFiles.getPageFiles)(buildManifest,pathname);return{sharedFiles,pageFiles,allFiles:[...new Set([...sharedFiles,...pageFiles])]};}/** + * `Document` component handles the initial `document` markup and renders only on the server side. + * Commonly used for implementing server side rendering for `css-in-js` libraries. + */class Document extends _react.Component{/** + * `getInitialProps` hook returns the context object with the addition of `renderPage`. + * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers + */static async getInitialProps(ctx){const enhanceApp=App=>{return props=>/*#__PURE__*/_react.default.createElement(App,props);};const{html,head}=await ctx.renderPage({enhanceApp});const styles=[...(0,_server.default)()];return{html,head,styles};}static renderDocument(DocumentComponent,props){return/*#__PURE__*/_react.default.createElement(_documentContext.DocumentContext.Provider,{value:props},/*#__PURE__*/_react.default.createElement(DocumentComponent,props));}render(){return/*#__PURE__*/_react.default.createElement(Html,null,/*#__PURE__*/_react.default.createElement(Head,null),/*#__PURE__*/_react.default.createElement("body",null,/*#__PURE__*/_react.default.createElement(Main,null),/*#__PURE__*/_react.default.createElement(NextScript,null)));}}exports.default=Document;Document.headTagsMiddleware=process.env.__NEXT_PLUGINS?Promise.resolve().then(()=>_interopRequireWildcard(require('next-plugin-loader?middleware=document-head-tags-server!'))):()=>[];function Html(props){const{inAmpMode,docComponentsRendered,locale}=(0,_react.useContext)(_documentContext.DocumentContext);docComponentsRendered.Html=true;return/*#__PURE__*/_react.default.createElement("html",Object.assign({},props,{lang:props.lang||locale||undefined,amp:inAmpMode?'':undefined,"data-ampdevmode":inAmpMode&&process.env.NODE_ENV!=='production'?'':undefined}));}class Head extends _react.Component{constructor(...args){super(...args);this.context=void 0;}getCssLinks(files){const{assetPrefix,devOnlyCacheBusterQueryString,dynamicImports}=this.context;const cssFiles=files.allFiles.filter(f=>f.endsWith('.css'));const sharedFiles=new Set(files.sharedFiles);// Unmanaged files are CSS files that will be handled directly by the +// webpack runtime (`mini-css-extract-plugin`). +let unmangedFiles=new Set([]);let dynamicCssFiles=dedupe(dynamicImports.filter(f=>f.file.endsWith('.css'))).map(f=>f.file);if(dynamicCssFiles.length){const existing=new Set(cssFiles);dynamicCssFiles=dynamicCssFiles.filter(f=>!(existing.has(f)||sharedFiles.has(f)));unmangedFiles=new Set(dynamicCssFiles);cssFiles.push(...dynamicCssFiles);}let cssLinkElements=[];cssFiles.forEach(file=>{const isSharedFile=sharedFiles.has(file);if(!process.env.__NEXT_OPTIMIZE_CSS){cssLinkElements.push(/*#__PURE__*/_react.default.createElement("link",{key:`${file}-preload`,nonce:this.props.nonce,rel:"preload",href:`${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,as:"style",crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN}));}const isUnmanagedFile=unmangedFiles.has(file);cssLinkElements.push(/*#__PURE__*/_react.default.createElement("link",{key:file,nonce:this.props.nonce,rel:"stylesheet",href:`${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN,"data-n-g":isUnmanagedFile?undefined:isSharedFile?'':undefined,"data-n-p":isUnmanagedFile?undefined:isSharedFile?undefined:''}));});if(process.env.NODE_ENV!=='development'&&process.env.__NEXT_OPTIMIZE_FONTS){cssLinkElements=this.makeStylesheetInert(cssLinkElements);}return cssLinkElements.length===0?null:cssLinkElements;}getPreloadDynamicChunks(){const{dynamicImports,assetPrefix,devOnlyCacheBusterQueryString}=this.context;return dedupe(dynamicImports).map(bundle=>{if(!bundle.file.endsWith('.js')){return null;}return/*#__PURE__*/_react.default.createElement("link",{rel:"preload",key:bundle.file,href:`${assetPrefix}/_next/${encodeURI(bundle.file)}${devOnlyCacheBusterQueryString}`,as:"script",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN});})// Filter out nulled scripts +.filter(Boolean);}getPreloadMainLinks(files){const{assetPrefix,devOnlyCacheBusterQueryString,scriptLoader}=this.context;const preloadFiles=files.allFiles.filter(file=>{return file.endsWith('.js');});return[...(scriptLoader.eager||[]).map(file=>/*#__PURE__*/_react.default.createElement("link",{key:file.src,nonce:this.props.nonce,rel:"preload",href:file.src,as:"script",crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN})),...preloadFiles.map(file=>/*#__PURE__*/_react.default.createElement("link",{key:file,nonce:this.props.nonce,rel:"preload",href:`${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,as:"script",crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN})),...(scriptLoader.defer||[]).map(file=>/*#__PURE__*/_react.default.createElement("link",{key:file,nonce:this.props.nonce,rel:"preload",href:file,as:"script",crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN}))];}makeStylesheetInert(node){return _react.default.Children.map(node,c=>{if(c.type==='link'&&c.props['href']&&_constants.OPTIMIZED_FONT_PROVIDERS.some(url=>c.props['href'].startsWith(url))){const newProps={...(c.props||{})};newProps['data-href']=newProps['href'];newProps['href']=undefined;return/*#__PURE__*/_react.default.cloneElement(c,newProps);}else if(c.props&&c.props['children']){c.props['children']=this.makeStylesheetInert(c.props['children']);}return c;});}render(){var _this$props$nonce,_this$props$nonce2;const{styles,ampPath,inAmpMode,hybridAmp,canonicalBase,__NEXT_DATA__,dangerousAsPath,headTags,unstable_runtimeJS,unstable_JsPreload}=this.context;const disableRuntimeJS=unstable_runtimeJS===false;const disableJsPreload=unstable_JsPreload===false;this.context.docComponentsRendered.Head=true;let{head}=this.context;let cssPreloads=[];let otherHeadElements=[];if(head){head.forEach(c=>{if(c&&c.type==='link'&&c.props['rel']==='preload'&&c.props['as']==='style'){cssPreloads.push(c);}else{c&&otherHeadElements.push(c);}});head=cssPreloads.concat(otherHeadElements);}let children=this.props.children;// show a warning if Head contains (only in development) +if(process.env.NODE_ENV!=='production'){children=_react.default.Children.map(children,child=>{var _child$props;const isReactHelmet=child==null?void 0:(_child$props=child.props)==null?void 0:_child$props['data-react-helmet'];if(!isReactHelmet){var _child$props2;if((child==null?void 0:child.type)==='title'){console.warn("Warning: <title> should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-title");}else if((child==null?void 0:child.type)==='meta'&&(child==null?void 0:(_child$props2=child.props)==null?void 0:_child$props2.name)==='viewport'){console.warn("Warning: viewport meta tags should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-viewport-meta");}}return child;});if(this.props.crossOrigin)console.warn('Warning: `Head` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');}if(process.env.NODE_ENV!=='development'&&process.env.__NEXT_OPTIMIZE_FONTS&&!inAmpMode){children=this.makeStylesheetInert(children);}let hasAmphtmlRel=false;let hasCanonicalRel=false;// show warning and remove conflicting amp head tags +head=_react.default.Children.map(head||[],child=>{if(!child)return child;const{type,props}=child;if(inAmpMode){let badProp='';if(type==='meta'&&props.name==='viewport'){badProp='name="viewport"';}else if(type==='link'&&props.rel==='canonical'){hasCanonicalRel=true;}else if(type==='script'){// only block if +// 1. it has a src and isn't pointing to ampproject's CDN +// 2. it is using dangerouslySetInnerHTML without a type or +// a type of text/javascript +if(props.src&&props.src.indexOf('ampproject')<-1||props.dangerouslySetInnerHTML&&(!props.type||props.type==='text/javascript')){badProp='<script';Object.keys(props).forEach(prop=>{badProp+=` ${prop}="${props[prop]}"`;});badProp+='/>';}}if(badProp){console.warn(`Found conflicting amp tag "${child.type}" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://err.sh/next.js/conflicting-amp-tag`);return null;}}else{// non-amp mode +if(type==='link'&&props.rel==='amphtml'){hasAmphtmlRel=true;}}return child;});// try to parse styles from fragment for backwards compat +const curStyles=Array.isArray(styles)?styles:[];if(inAmpMode&&styles&&// @ts-ignore Property 'props' does not exist on type ReactElement +styles.props&&// @ts-ignore Property 'props' does not exist on type ReactElement +Array.isArray(styles.props.children)){const hasStyles=el=>{var _el$props,_el$props$dangerously;return el==null?void 0:(_el$props=el.props)==null?void 0:(_el$props$dangerously=_el$props.dangerouslySetInnerHTML)==null?void 0:_el$props$dangerously.__html;};// @ts-ignore Property 'props' does not exist on type ReactElement +styles.props.children.forEach(child=>{if(Array.isArray(child)){child.forEach(el=>hasStyles(el)&&curStyles.push(el));}else if(hasStyles(child)){curStyles.push(child);}});}const files=getDocumentFiles(this.context.buildManifest,this.context.__NEXT_DATA__.page,inAmpMode);return/*#__PURE__*/_react.default.createElement("head",this.props,this.context.isDevelopment&&/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,/*#__PURE__*/_react.default.createElement("style",{"data-next-hide-fouc":true,"data-ampdevmode":inAmpMode?'true':undefined,dangerouslySetInnerHTML:{__html:`body{display:none}`}}),/*#__PURE__*/_react.default.createElement("noscript",{"data-next-hide-fouc":true,"data-ampdevmode":inAmpMode?'true':undefined},/*#__PURE__*/_react.default.createElement("style",{dangerouslySetInnerHTML:{__html:`body{display:block}`}}))),children,head,/*#__PURE__*/_react.default.createElement("meta",{name:"next-head-count",content:_react.default.Children.count(head||[]).toString()}),inAmpMode&&/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,/*#__PURE__*/_react.default.createElement("meta",{name:"viewport",content:"width=device-width,minimum-scale=1,initial-scale=1"}),!hasCanonicalRel&&/*#__PURE__*/_react.default.createElement("link",{rel:"canonical",href:canonicalBase+(0,_utils2.cleanAmpPath)(dangerousAsPath)}),/*#__PURE__*/_react.default.createElement("link",{rel:"preload",as:"script",href:"https://cdn.ampproject.org/v0.js"}),styles&&/*#__PURE__*/_react.default.createElement("style",{"amp-custom":"",dangerouslySetInnerHTML:{__html:curStyles.map(style=>style.props.dangerouslySetInnerHTML.__html).join('').replace(/\/\*# sourceMappingURL=.*\*\//g,'').replace(/\/\*@ sourceURL=.*?\*\//g,'')}}),/*#__PURE__*/_react.default.createElement("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:`body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`}}),/*#__PURE__*/_react.default.createElement("noscript",null,/*#__PURE__*/_react.default.createElement("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:`body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`}})),/*#__PURE__*/_react.default.createElement("script",{async:true,src:"https://cdn.ampproject.org/v0.js"})),!inAmpMode&&/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,!hasAmphtmlRel&&hybridAmp&&/*#__PURE__*/_react.default.createElement("link",{rel:"amphtml",href:canonicalBase+getAmpPath(ampPath,dangerousAsPath)}),!process.env.__NEXT_OPTIMIZE_CSS&&this.getCssLinks(files),!process.env.__NEXT_OPTIMIZE_CSS&&/*#__PURE__*/_react.default.createElement("noscript",{"data-n-css":(_this$props$nonce=this.props.nonce)!=null?_this$props$nonce:''}),!disableRuntimeJS&&!disableJsPreload&&this.getPreloadDynamicChunks(),!disableRuntimeJS&&!disableJsPreload&&this.getPreloadMainLinks(files),process.env.__NEXT_OPTIMIZE_CSS&&this.getCssLinks(files),process.env.__NEXT_OPTIMIZE_CSS&&/*#__PURE__*/_react.default.createElement("noscript",{"data-n-css":(_this$props$nonce2=this.props.nonce)!=null?_this$props$nonce2:''}),this.context.isDevelopment&&/*#__PURE__*/ // this element is used to mount development styles so the +// ordering matches production +// (by default, style-loader injects at the bottom of <head />) +_react.default.createElement("noscript",{id:"__next_css__DO_NOT_USE__"}),styles||null),/*#__PURE__*/_react.default.createElement(_react.default.Fragment,{},...(headTags||[])));}}exports.Head=Head;Head.contextType=_documentContext.DocumentContext;Head.propTypes={nonce:_propTypes.default.string,crossOrigin:_propTypes.default.string};function Main(){const{inAmpMode,html,docComponentsRendered}=(0,_react.useContext)(_documentContext.DocumentContext);docComponentsRendered.Main=true;if(inAmpMode)return/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,_constants.AMP_RENDER_TARGET);return/*#__PURE__*/_react.default.createElement("div",{id:"__next",dangerouslySetInnerHTML:{__html:html}});}class NextScript extends _react.Component{constructor(...args){super(...args);this.context=void 0;}getDynamicChunks(files){const{dynamicImports,assetPrefix,isDevelopment,devOnlyCacheBusterQueryString}=this.context;return dedupe(dynamicImports).map(bundle=>{if(!bundle.file.endsWith('.js')||files.allFiles.includes(bundle.file))return null;return/*#__PURE__*/_react.default.createElement("script",{async:!isDevelopment,key:bundle.file,src:`${assetPrefix}/_next/${encodeURI(bundle.file)}${devOnlyCacheBusterQueryString}`,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN});});}getPreNextScripts(){const{scriptLoader}=this.context;return(scriptLoader.eager||[]).map(file=>{return/*#__PURE__*/_react.default.createElement("script",Object.assign({},file,{nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN}));});}getScripts(files){var _buildManifest$lowPri;const{assetPrefix,buildManifest,isDevelopment,devOnlyCacheBusterQueryString}=this.context;const normalScripts=files.allFiles.filter(file=>file.endsWith('.js'));const lowPriorityScripts=(_buildManifest$lowPri=buildManifest.lowPriorityFiles)==null?void 0:_buildManifest$lowPri.filter(file=>file.endsWith('.js'));return[...normalScripts,...lowPriorityScripts].map(file=>{return/*#__PURE__*/_react.default.createElement("script",{key:file,src:`${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,nonce:this.props.nonce,async:!isDevelopment,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN});});}getPolyfillScripts(){// polyfills.js has to be rendered as nomodule without async +// It also has to be the first script to load +const{assetPrefix,buildManifest,devOnlyCacheBusterQueryString}=this.context;return buildManifest.polyfillFiles.filter(polyfill=>polyfill.endsWith('.js')&&!polyfill.endsWith('.module.js')).map(polyfill=>/*#__PURE__*/_react.default.createElement("script",{key:polyfill,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN,noModule:true,src:`${assetPrefix}/_next/${polyfill}${devOnlyCacheBusterQueryString}`}));}static getInlineScriptSource(documentProps){const{__NEXT_DATA__}=documentProps;try{const data=JSON.stringify(__NEXT_DATA__);return(0,_htmlescape.htmlEscapeJsonString)(data);}catch(err){if(err.message.indexOf('circular structure')){throw new Error(`Circular structure in "getInitialProps" result of page "${__NEXT_DATA__.page}". https://err.sh/vercel/next.js/circular-structure`);}throw err;}}render(){const{assetPrefix,inAmpMode,buildManifest,unstable_runtimeJS,docComponentsRendered,devOnlyCacheBusterQueryString}=this.context;const disableRuntimeJS=unstable_runtimeJS===false;docComponentsRendered.NextScript=true;if(inAmpMode){if(process.env.NODE_ENV==='production'){return null;}const ampDevFiles=[...buildManifest.devFiles,...buildManifest.polyfillFiles,...buildManifest.ampDevFiles];return/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,disableRuntimeJS?null:/*#__PURE__*/_react.default.createElement("script",{id:"__NEXT_DATA__",type:"application/json",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN,dangerouslySetInnerHTML:{__html:NextScript.getInlineScriptSource(this.context)},"data-ampdevmode":true}),ampDevFiles.map(file=>/*#__PURE__*/_react.default.createElement("script",{key:file,src:`${assetPrefix}/_next/${file}${devOnlyCacheBusterQueryString}`,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN,"data-ampdevmode":true})));}if(process.env.NODE_ENV!=='production'){if(this.props.crossOrigin)console.warn('Warning: `NextScript` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');}const files=getDocumentFiles(this.context.buildManifest,this.context.__NEXT_DATA__.page,inAmpMode);return/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,!disableRuntimeJS&&buildManifest.devFiles?buildManifest.devFiles.map(file=>/*#__PURE__*/_react.default.createElement("script",{key:file,src:`${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN})):null,disableRuntimeJS?null:/*#__PURE__*/_react.default.createElement("script",{id:"__NEXT_DATA__",type:"application/json",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||process.env.__NEXT_CROSS_ORIGIN,dangerouslySetInnerHTML:{__html:NextScript.getInlineScriptSource(this.context)}}),!disableRuntimeJS&&this.getPolyfillScripts(),!disableRuntimeJS&&this.getPreNextScripts(),disableRuntimeJS?null:this.getDynamicChunks(files),disableRuntimeJS?null:this.getScripts(files));}}exports.NextScript=NextScript;NextScript.contextType=_documentContext.DocumentContext;NextScript.propTypes={nonce:_propTypes.default.string,crossOrigin:_propTypes.default.string};NextScript.safariNomoduleFix='!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();';function getAmpPath(ampPath,asPath){return ampPath||`${asPath}${asPath.includes('?')?'&':'?'}amp=1`;} +//# sourceMappingURL=_document.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_document.js.map b/ninjalist/node_modules/next/dist/pages/_document.js.map new file mode 100644 index 00000000..1d77d0de --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_document.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../pages/_document.tsx"],"names":["dedupe","bundles","files","Set","kept","bundle","has","file","add","push","getDocumentFiles","buildManifest","pathname","inAmpMode","sharedFiles","pageFiles","allFiles","Document","Component","getInitialProps","ctx","enhanceApp","App","props","html","head","renderPage","styles","renderDocument","DocumentComponent","render","headTagsMiddleware","process","env","__NEXT_PLUGINS","Html","docComponentsRendered","locale","DocumentComponentContext","lang","undefined","NODE_ENV","Head","context","getCssLinks","assetPrefix","devOnlyCacheBusterQueryString","dynamicImports","cssFiles","filter","f","endsWith","unmangedFiles","dynamicCssFiles","map","length","existing","cssLinkElements","forEach","isSharedFile","__NEXT_OPTIMIZE_CSS","nonce","encodeURI","crossOrigin","__NEXT_CROSS_ORIGIN","isUnmanagedFile","__NEXT_OPTIMIZE_FONTS","makeStylesheetInert","getPreloadDynamicChunks","Boolean","getPreloadMainLinks","scriptLoader","preloadFiles","eager","src","defer","node","React","Children","c","type","OPTIMIZED_FONT_PROVIDERS","some","url","startsWith","newProps","cloneElement","ampPath","hybridAmp","canonicalBase","__NEXT_DATA__","dangerousAsPath","headTags","unstable_runtimeJS","unstable_JsPreload","disableRuntimeJS","disableJsPreload","cssPreloads","otherHeadElements","concat","children","child","isReactHelmet","console","warn","name","hasAmphtmlRel","hasCanonicalRel","badProp","rel","indexOf","dangerouslySetInnerHTML","Object","keys","prop","page","curStyles","Array","isArray","hasStyles","el","__html","isDevelopment","count","toString","style","join","replace","getAmpPath","createElement","Fragment","contextType","propTypes","PropTypes","string","Main","AMP_RENDER_TARGET","NextScript","getDynamicChunks","includes","getPreNextScripts","getScripts","normalScripts","lowPriorityScripts","lowPriorityFiles","getPolyfillScripts","polyfillFiles","polyfill","getInlineScriptSource","documentProps","data","JSON","stringify","err","message","Error","ampDevFiles","devFiles","safariNomoduleFix","asPath"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types'\nimport React, { Component, ReactElement, ReactNode, useContext } from 'react'\nimport flush from 'styled-jsx/server'\nimport {\n AMP_RENDER_TARGET,\n OPTIMIZED_FONT_PROVIDERS,\n} from '../next-server/lib/constants'\nimport { DocumentContext as DocumentComponentContext } from '../next-server/lib/document-context'\nimport {\n DocumentContext,\n DocumentInitialProps,\n DocumentProps,\n} from '../next-server/lib/utils'\nimport {\n BuildManifest,\n getPageFiles,\n} from '../next-server/server/get-page-files'\nimport { cleanAmpPath } from '../next-server/server/utils'\nimport { htmlEscapeJsonString } from '../server/htmlescape'\n\nexport { DocumentContext, DocumentInitialProps, DocumentProps }\n\nexport type OriginProps = {\n nonce?: string\n crossOrigin?: string\n}\n\nfunction dedupe<T extends { file: string }>(bundles: T[]): T[] {\n const files = new Set<string>()\n const kept: T[] = []\n\n for (const bundle of bundles) {\n if (files.has(bundle.file)) continue\n files.add(bundle.file)\n kept.push(bundle)\n }\n return kept\n}\n\ntype DocumentFiles = {\n sharedFiles: readonly string[]\n pageFiles: readonly string[]\n allFiles: readonly string[]\n}\n\nfunction getDocumentFiles(\n buildManifest: BuildManifest,\n pathname: string,\n inAmpMode: boolean\n): DocumentFiles {\n const sharedFiles: readonly string[] = getPageFiles(buildManifest, '/_app')\n const pageFiles: readonly string[] = inAmpMode\n ? []\n : getPageFiles(buildManifest, pathname)\n\n return {\n sharedFiles,\n pageFiles,\n allFiles: [...new Set([...sharedFiles, ...pageFiles])],\n }\n}\n\n/**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */\nexport default class Document<P = {}> extends Component<DocumentProps & P> {\n static headTagsMiddleware = process.env.__NEXT_PLUGINS\n ? import(\n // @ts-ignore loader syntax\n 'next-plugin-loader?middleware=document-head-tags-server!'\n )\n : () => []\n\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */\n static async getInitialProps(\n ctx: DocumentContext\n ): Promise<DocumentInitialProps> {\n const enhanceApp = (App: any) => {\n return (props: any) => <App {...props} />\n }\n\n const { html, head } = await ctx.renderPage({ enhanceApp })\n const styles = [...flush()]\n return { html, head, styles }\n }\n\n static renderDocument<P>(\n DocumentComponent: new () => Document<P>,\n props: DocumentProps & P\n ): React.ReactElement {\n return (\n <DocumentComponentContext.Provider value={props}>\n <DocumentComponent {...props} />\n </DocumentComponentContext.Provider>\n )\n }\n\n render() {\n return (\n <Html>\n <Head />\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n\nexport function Html(\n props: React.DetailedHTMLProps<\n React.HtmlHTMLAttributes<HTMLHtmlElement>,\n HTMLHtmlElement\n >\n) {\n const { inAmpMode, docComponentsRendered, locale } = useContext(\n DocumentComponentContext\n )\n\n docComponentsRendered.Html = true\n\n return (\n <html\n {...props}\n lang={props.lang || locale || undefined}\n amp={inAmpMode ? '' : undefined}\n data-ampdevmode={\n inAmpMode && process.env.NODE_ENV !== 'production' ? '' : undefined\n }\n />\n )\n}\n\nexport class Head extends Component<\n OriginProps &\n React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLHeadElement>,\n HTMLHeadElement\n >\n> {\n static contextType = DocumentComponentContext\n\n static propTypes = {\n nonce: PropTypes.string,\n crossOrigin: PropTypes.string,\n }\n\n context!: React.ContextType<typeof DocumentComponentContext>\n\n getCssLinks(files: DocumentFiles): JSX.Element[] | null {\n const {\n assetPrefix,\n devOnlyCacheBusterQueryString,\n dynamicImports,\n } = this.context\n const cssFiles = files.allFiles.filter((f) => f.endsWith('.css'))\n const sharedFiles: Set<string> = new Set(files.sharedFiles)\n\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles: Set<string> = new Set([])\n let dynamicCssFiles = dedupe(\n dynamicImports.filter((f) => f.file.endsWith('.css'))\n ).map((f) => f.file)\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles)\n dynamicCssFiles = dynamicCssFiles.filter(\n (f) => !(existing.has(f) || sharedFiles.has(f))\n )\n unmangedFiles = new Set(dynamicCssFiles)\n cssFiles.push(...dynamicCssFiles)\n }\n\n let cssLinkElements: JSX.Element[] = []\n cssFiles.forEach((file) => {\n const isSharedFile = sharedFiles.has(file)\n\n if (!process.env.__NEXT_OPTIMIZE_CSS) {\n cssLinkElements.push(\n <link\n key={`${file}-preload`}\n nonce={this.props.nonce}\n rel=\"preload\"\n href={`${assetPrefix}/_next/${encodeURI(\n file\n )}${devOnlyCacheBusterQueryString}`}\n as=\"style\"\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )\n }\n\n const isUnmanagedFile = unmangedFiles.has(file)\n cssLinkElements.push(\n <link\n key={file}\n nonce={this.props.nonce}\n rel=\"stylesheet\"\n href={`${assetPrefix}/_next/${encodeURI(\n file\n )}${devOnlyCacheBusterQueryString}`}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n data-n-g={isUnmanagedFile ? undefined : isSharedFile ? '' : undefined}\n data-n-p={isUnmanagedFile ? undefined : isSharedFile ? undefined : ''}\n />\n )\n })\n\n if (\n process.env.NODE_ENV !== 'development' &&\n process.env.__NEXT_OPTIMIZE_FONTS\n ) {\n cssLinkElements = this.makeStylesheetInert(\n cssLinkElements\n ) as ReactElement[]\n }\n\n return cssLinkElements.length === 0 ? null : cssLinkElements\n }\n\n getPreloadDynamicChunks() {\n const {\n dynamicImports,\n assetPrefix,\n devOnlyCacheBusterQueryString,\n } = this.context\n\n return (\n dedupe(dynamicImports)\n .map((bundle) => {\n if (!bundle.file.endsWith('.js')) {\n return null\n }\n\n return (\n <link\n rel=\"preload\"\n key={bundle.file}\n href={`${assetPrefix}/_next/${encodeURI(\n bundle.file\n )}${devOnlyCacheBusterQueryString}`}\n as=\"script\"\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )\n })\n // Filter out nulled scripts\n .filter(Boolean)\n )\n }\n\n getPreloadMainLinks(files: DocumentFiles): JSX.Element[] | null {\n const {\n assetPrefix,\n devOnlyCacheBusterQueryString,\n scriptLoader,\n } = this.context\n const preloadFiles = files.allFiles.filter((file: string) => {\n return file.endsWith('.js')\n })\n\n return [\n ...(scriptLoader.eager || []).map((file) => (\n <link\n key={file.src}\n nonce={this.props.nonce}\n rel=\"preload\"\n href={file.src}\n as=\"script\"\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )),\n ...preloadFiles.map((file: string) => (\n <link\n key={file}\n nonce={this.props.nonce}\n rel=\"preload\"\n href={`${assetPrefix}/_next/${encodeURI(\n file\n )}${devOnlyCacheBusterQueryString}`}\n as=\"script\"\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )),\n ...(scriptLoader.defer || []).map((file: string) => (\n <link\n key={file}\n nonce={this.props.nonce}\n rel=\"preload\"\n href={file}\n as=\"script\"\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )),\n ]\n }\n\n makeStylesheetInert(node: ReactNode): ReactNode[] {\n return React.Children.map(node, (c: any) => {\n if (\n c.type === 'link' &&\n c.props['href'] &&\n OPTIMIZED_FONT_PROVIDERS.some((url) => c.props['href'].startsWith(url))\n ) {\n const newProps = { ...(c.props || {}) }\n newProps['data-href'] = newProps['href']\n newProps['href'] = undefined\n return React.cloneElement(c, newProps)\n } else if (c.props && c.props['children']) {\n c.props['children'] = this.makeStylesheetInert(c.props['children'])\n }\n return c\n })\n }\n\n render() {\n const {\n styles,\n ampPath,\n inAmpMode,\n hybridAmp,\n canonicalBase,\n __NEXT_DATA__,\n dangerousAsPath,\n headTags,\n unstable_runtimeJS,\n unstable_JsPreload,\n } = this.context\n const disableRuntimeJS = unstable_runtimeJS === false\n const disableJsPreload = unstable_JsPreload === false\n\n this.context.docComponentsRendered.Head = true\n\n let { head } = this.context\n let cssPreloads: Array<JSX.Element> = []\n let otherHeadElements: Array<JSX.Element> = []\n if (head) {\n head.forEach((c) => {\n if (\n c &&\n c.type === 'link' &&\n c.props['rel'] === 'preload' &&\n c.props['as'] === 'style'\n ) {\n cssPreloads.push(c)\n } else {\n c && otherHeadElements.push(c)\n }\n })\n head = cssPreloads.concat(otherHeadElements)\n }\n let children = this.props.children\n // show a warning if Head contains <title> (only in development)\n if (process.env.NODE_ENV !== 'production') {\n children = React.Children.map(children, (child: any) => {\n const isReactHelmet = child?.props?.['data-react-helmet']\n if (!isReactHelmet) {\n if (child?.type === 'title') {\n console.warn(\n \"Warning: <title> should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-title\"\n )\n } else if (\n child?.type === 'meta' &&\n child?.props?.name === 'viewport'\n ) {\n console.warn(\n \"Warning: viewport meta tags should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-viewport-meta\"\n )\n }\n }\n return child\n })\n if (this.props.crossOrigin)\n console.warn(\n 'Warning: `Head` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated'\n )\n }\n\n if (\n process.env.NODE_ENV !== 'development' &&\n process.env.__NEXT_OPTIMIZE_FONTS &&\n !inAmpMode\n ) {\n children = this.makeStylesheetInert(children)\n }\n\n let hasAmphtmlRel = false\n let hasCanonicalRel = false\n\n // show warning and remove conflicting amp head tags\n head = React.Children.map(head || [], (child) => {\n if (!child) return child\n const { type, props } = child\n if (inAmpMode) {\n let badProp: string = ''\n\n if (type === 'meta' && props.name === 'viewport') {\n badProp = 'name=\"viewport\"'\n } else if (type === 'link' && props.rel === 'canonical') {\n hasCanonicalRel = true\n } else if (type === 'script') {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (\n (props.src && props.src.indexOf('ampproject') < -1) ||\n (props.dangerouslySetInnerHTML &&\n (!props.type || props.type === 'text/javascript'))\n ) {\n badProp = '<script'\n Object.keys(props).forEach((prop) => {\n badProp += ` ${prop}=\"${props[prop]}\"`\n })\n badProp += '/>'\n }\n }\n\n if (badProp) {\n console.warn(\n `Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://err.sh/next.js/conflicting-amp-tag`\n )\n return null\n }\n } else {\n // non-amp mode\n if (type === 'link' && props.rel === 'amphtml') {\n hasAmphtmlRel = true\n }\n }\n return child\n })\n\n // try to parse styles from fragment for backwards compat\n const curStyles: React.ReactElement[] = Array.isArray(styles)\n ? (styles as React.ReactElement[])\n : []\n if (\n inAmpMode &&\n styles &&\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props &&\n // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)\n ) {\n const hasStyles = (el: React.ReactElement) =>\n el?.props?.dangerouslySetInnerHTML?.__html\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child: React.ReactElement) => {\n if (Array.isArray(child)) {\n child.forEach((el) => hasStyles(el) && curStyles.push(el))\n } else if (hasStyles(child)) {\n curStyles.push(child)\n }\n })\n }\n\n const files: DocumentFiles = getDocumentFiles(\n this.context.buildManifest,\n this.context.__NEXT_DATA__.page,\n inAmpMode\n )\n\n return (\n <head {...this.props}>\n {this.context.isDevelopment && (\n <>\n <style\n data-next-hide-fouc\n data-ampdevmode={inAmpMode ? 'true' : undefined}\n dangerouslySetInnerHTML={{\n __html: `body{display:none}`,\n }}\n />\n <noscript\n data-next-hide-fouc\n data-ampdevmode={inAmpMode ? 'true' : undefined}\n >\n <style\n dangerouslySetInnerHTML={{\n __html: `body{display:block}`,\n }}\n />\n </noscript>\n </>\n )}\n {children}\n {head}\n <meta\n name=\"next-head-count\"\n content={React.Children.count(head || []).toString()}\n />\n {inAmpMode && (\n <>\n <meta\n name=\"viewport\"\n content=\"width=device-width,minimum-scale=1,initial-scale=1\"\n />\n {!hasCanonicalRel && (\n <link\n rel=\"canonical\"\n href={canonicalBase + cleanAmpPath(dangerousAsPath)}\n />\n )}\n {/* https://www.ampproject.org/docs/fundamentals/optimize_amp#optimize-the-amp-runtime-loading */}\n <link\n rel=\"preload\"\n as=\"script\"\n href=\"https://cdn.ampproject.org/v0.js\"\n />\n {/* Add custom styles before AMP styles to prevent accidental overrides */}\n {styles && (\n <style\n amp-custom=\"\"\n dangerouslySetInnerHTML={{\n __html: curStyles\n .map((style) => style.props.dangerouslySetInnerHTML.__html)\n .join('')\n .replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, '')\n .replace(/\\/\\*@ sourceURL=.*?\\*\\//g, ''),\n }}\n />\n )}\n <style\n amp-boilerplate=\"\"\n dangerouslySetInnerHTML={{\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`,\n }}\n />\n <noscript>\n <style\n amp-boilerplate=\"\"\n dangerouslySetInnerHTML={{\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`,\n }}\n />\n </noscript>\n <script async src=\"https://cdn.ampproject.org/v0.js\" />\n </>\n )}\n {!inAmpMode && (\n <>\n {!hasAmphtmlRel && hybridAmp && (\n <link\n rel=\"amphtml\"\n href={canonicalBase + getAmpPath(ampPath, dangerousAsPath)}\n />\n )}\n {!process.env.__NEXT_OPTIMIZE_CSS && this.getCssLinks(files)}\n {!process.env.__NEXT_OPTIMIZE_CSS && (\n <noscript data-n-css={this.props.nonce ?? ''} />\n )}\n {!disableRuntimeJS &&\n !disableJsPreload &&\n this.getPreloadDynamicChunks()}\n {!disableRuntimeJS &&\n !disableJsPreload &&\n this.getPreloadMainLinks(files)}\n {process.env.__NEXT_OPTIMIZE_CSS && this.getCssLinks(files)}\n {process.env.__NEXT_OPTIMIZE_CSS && (\n <noscript data-n-css={this.props.nonce ?? ''} />\n )}\n {this.context.isDevelopment && (\n // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n <noscript id=\"__next_css__DO_NOT_USE__\" />\n )}\n {styles || null}\n </>\n )}\n {React.createElement(React.Fragment, {}, ...(headTags || []))}\n </head>\n )\n }\n}\n\nexport function Main() {\n const { inAmpMode, html, docComponentsRendered } = useContext(\n DocumentComponentContext\n )\n\n docComponentsRendered.Main = true\n\n if (inAmpMode) return <>{AMP_RENDER_TARGET}</>\n return <div id=\"__next\" dangerouslySetInnerHTML={{ __html: html }} />\n}\n\nexport class NextScript extends Component<OriginProps> {\n static contextType = DocumentComponentContext\n\n static propTypes = {\n nonce: PropTypes.string,\n crossOrigin: PropTypes.string,\n }\n\n context!: React.ContextType<typeof DocumentComponentContext>\n\n // Source: https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc\n static safariNomoduleFix =\n '!function(){var e=document,t=e.createElement(\"script\");if(!(\"noModule\"in t)&&\"onbeforeload\"in t){var n=!1;e.addEventListener(\"beforeload\",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute(\"nomodule\")||!n)return;e.preventDefault()},!0),t.type=\"module\",t.src=\".\",e.head.appendChild(t),t.remove()}}();'\n\n getDynamicChunks(files: DocumentFiles) {\n const {\n dynamicImports,\n assetPrefix,\n isDevelopment,\n devOnlyCacheBusterQueryString,\n } = this.context\n\n return dedupe(dynamicImports).map((bundle) => {\n if (!bundle.file.endsWith('.js') || files.allFiles.includes(bundle.file))\n return null\n\n return (\n <script\n async={!isDevelopment}\n key={bundle.file}\n src={`${assetPrefix}/_next/${encodeURI(\n bundle.file\n )}${devOnlyCacheBusterQueryString}`}\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )\n })\n }\n\n getPreNextScripts() {\n const { scriptLoader } = this.context\n\n return (scriptLoader.eager || []).map((file: string) => {\n return (\n <script\n {...file}\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )\n })\n }\n\n getScripts(files: DocumentFiles) {\n const {\n assetPrefix,\n buildManifest,\n isDevelopment,\n devOnlyCacheBusterQueryString,\n } = this.context\n\n const normalScripts = files.allFiles.filter((file) => file.endsWith('.js'))\n const lowPriorityScripts = buildManifest.lowPriorityFiles?.filter((file) =>\n file.endsWith('.js')\n )\n\n return [...normalScripts, ...lowPriorityScripts].map((file) => {\n return (\n <script\n key={file}\n src={`${assetPrefix}/_next/${encodeURI(\n file\n )}${devOnlyCacheBusterQueryString}`}\n nonce={this.props.nonce}\n async={!isDevelopment}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n )\n })\n }\n\n getPolyfillScripts() {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const {\n assetPrefix,\n buildManifest,\n devOnlyCacheBusterQueryString,\n } = this.context\n\n return buildManifest.polyfillFiles\n .filter(\n (polyfill) =>\n polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')\n )\n .map((polyfill) => (\n <script\n key={polyfill}\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n noModule={true}\n src={`${assetPrefix}/_next/${polyfill}${devOnlyCacheBusterQueryString}`}\n />\n ))\n }\n\n static getInlineScriptSource(documentProps: Readonly<DocumentProps>): string {\n const { __NEXT_DATA__ } = documentProps\n try {\n const data = JSON.stringify(__NEXT_DATA__)\n return htmlEscapeJsonString(data)\n } catch (err) {\n if (err.message.indexOf('circular structure')) {\n throw new Error(\n `Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://err.sh/vercel/next.js/circular-structure`\n )\n }\n throw err\n }\n }\n\n render() {\n const {\n assetPrefix,\n inAmpMode,\n buildManifest,\n unstable_runtimeJS,\n docComponentsRendered,\n devOnlyCacheBusterQueryString,\n } = this.context\n const disableRuntimeJS = unstable_runtimeJS === false\n\n docComponentsRendered.NextScript = true\n\n if (inAmpMode) {\n if (process.env.NODE_ENV === 'production') {\n return null\n }\n\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles,\n ]\n\n return (\n <>\n {disableRuntimeJS ? null : (\n <script\n id=\"__NEXT_DATA__\"\n type=\"application/json\"\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n dangerouslySetInnerHTML={{\n __html: NextScript.getInlineScriptSource(this.context),\n }}\n data-ampdevmode\n />\n )}\n {ampDevFiles.map((file) => (\n <script\n key={file}\n src={`${assetPrefix}/_next/${file}${devOnlyCacheBusterQueryString}`}\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n data-ampdevmode\n />\n ))}\n </>\n )\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.crossOrigin)\n console.warn(\n 'Warning: `NextScript` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated'\n )\n }\n\n const files: DocumentFiles = getDocumentFiles(\n this.context.buildManifest,\n this.context.__NEXT_DATA__.page,\n inAmpMode\n )\n\n return (\n <>\n {!disableRuntimeJS && buildManifest.devFiles\n ? buildManifest.devFiles.map((file: string) => (\n <script\n key={file}\n src={`${assetPrefix}/_next/${encodeURI(\n file\n )}${devOnlyCacheBusterQueryString}`}\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n />\n ))\n : null}\n {disableRuntimeJS ? null : (\n <script\n id=\"__NEXT_DATA__\"\n type=\"application/json\"\n nonce={this.props.nonce}\n crossOrigin={\n this.props.crossOrigin || process.env.__NEXT_CROSS_ORIGIN\n }\n dangerouslySetInnerHTML={{\n __html: NextScript.getInlineScriptSource(this.context),\n }}\n />\n )}\n {!disableRuntimeJS && this.getPolyfillScripts()}\n {!disableRuntimeJS && this.getPreNextScripts()}\n {disableRuntimeJS ? null : this.getDynamicChunks(files)}\n {disableRuntimeJS ? null : this.getScripts(files)}\n </>\n )\n }\n}\n\nfunction getAmpPath(ampPath: string, asPath: string): string {\n return ampPath || `${asPath}${asPath.includes('?') ? '&' : '?'}amp=1`\n}\n"]} \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_error.d.ts b/ninjalist/node_modules/next/dist/pages/_error.d.ts new file mode 100644 index 00000000..3d6a879b --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_error.d.ts @@ -0,0 +1,17 @@ +import React from 'react'; +import { NextPageContext } from '../next-server/lib/utils'; +export declare type ErrorProps = { + statusCode: number; + title?: string; +}; +declare function _getInitialProps({ res, err, }: NextPageContext): Promise<ErrorProps> | ErrorProps; +/** + * `Error` component used for handling errors. + */ +export default class Error<P = {}> extends React.Component<P & ErrorProps> { + static displayName: string; + static getInitialProps: typeof _getInitialProps; + static origGetInitialProps: typeof _getInitialProps; + render(): JSX.Element; +} +export {}; diff --git a/ninjalist/node_modules/next/dist/pages/_error.js b/ninjalist/node_modules/next/dist/pages/_error.js new file mode 100644 index 00000000..0676f940 --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_error.js @@ -0,0 +1,4 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _head=_interopRequireDefault(require("../next-server/lib/head"));const statusCodes={400:'Bad Request',404:'This page could not be found',405:'Method Not Allowed',500:'Internal Server Error'};function _getInitialProps({res,err}){const statusCode=res&&res.statusCode?res.statusCode:err?err.statusCode:404;return{statusCode};}/** + * `Error` component used for handling errors. + */class Error extends _react.default.Component{render(){const{statusCode}=this.props;const title=this.props.title||statusCodes[statusCode]||'An unexpected error has occurred';return/*#__PURE__*/_react.default.createElement("div",{style:styles.error},/*#__PURE__*/_react.default.createElement(_head.default,null,/*#__PURE__*/_react.default.createElement("title",null,statusCode,": ",title)),/*#__PURE__*/_react.default.createElement("div",null,/*#__PURE__*/_react.default.createElement("style",{dangerouslySetInnerHTML:{__html:'body { margin: 0 }'}}),statusCode?/*#__PURE__*/_react.default.createElement("h1",{style:styles.h1},statusCode):null,/*#__PURE__*/_react.default.createElement("div",{style:styles.desc},/*#__PURE__*/_react.default.createElement("h2",{style:styles.h2},title,"."))));}}exports.default=Error;Error.displayName='ErrorPage';Error.getInitialProps=_getInitialProps;Error.origGetInitialProps=_getInitialProps;const styles={error:{color:'#000',background:'#fff',fontFamily:'-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',height:'100vh',textAlign:'center',display:'flex',flexDirection:'column',alignItems:'center',justifyContent:'center'},desc:{display:'inline-block',textAlign:'left',lineHeight:'49px',height:'49px',verticalAlign:'middle'},h1:{display:'inline-block',borderRight:'1px solid rgba(0, 0, 0,.3)',margin:0,marginRight:'20px',padding:'10px 23px 10px 0',fontSize:'24px',fontWeight:500,verticalAlign:'top'},h2:{fontSize:'14px',fontWeight:'normal',lineHeight:'inherit',margin:0,padding:0}}; +//# sourceMappingURL=_error.js.map \ No newline at end of file diff --git a/ninjalist/node_modules/next/dist/pages/_error.js.map b/ninjalist/node_modules/next/dist/pages/_error.js.map new file mode 100644 index 00000000..af1345ae --- /dev/null +++ b/ninjalist/node_modules/next/dist/pages/_error.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../pages/_error.tsx"],"names":["statusCodes","_getInitialProps","res","err","statusCode","Error","React","Component","render","props","title","styles","error","__html","h1","desc","h2","displayName","getInitialProps","origGetInitialProps","color","background","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","lineHeight","verticalAlign","borderRight","margin","marginRight","padding","fontSize","fontWeight"],"mappings":"+IAAA,oDACA,qEAGA,KAAMA,CAAAA,WAAuC,CAAG,CAC9C,IAAK,aADyC,CAE9C,IAAK,8BAFyC,CAG9C,IAAK,oBAHyC,CAI9C,IAAK,uBAJyC,CAAhD,CAYA,QAASC,CAAAA,gBAAT,CAA0B,CACxBC,GADwB,CAExBC,GAFwB,CAA1B,CAGsD,CACpD,KAAMC,CAAAA,UAAU,CACdF,GAAG,EAAIA,GAAG,CAACE,UAAX,CAAwBF,GAAG,CAACE,UAA5B,CAAyCD,GAAG,CAAGA,GAAG,CAACC,UAAP,CAAqB,GADnE,CAEA,MAAO,CAAEA,UAAF,CAAP,CACD,CAED;AACA;AACA,GACe,KAAMC,CAAAA,KAAN,QAA4BC,gBAAMC,SAA0B,CAMzEC,MAAM,EAAG,CACP,KAAM,CAAEJ,UAAF,EAAiB,KAAKK,KAA5B,CACA,KAAMC,CAAAA,KAAK,CACT,KAAKD,KAAL,CAAWC,KAAX,EACAV,WAAW,CAACI,UAAD,CADX,EAEA,kCAHF,CAKA,mBACE,oCAAK,KAAK,CAAEO,MAAM,CAACC,KAAnB,eACE,6BAAC,aAAD,mBACE,0CACGR,UADH,MACiBM,KADjB,CADF,CADF,cAME,qDACE,sCAAO,uBAAuB,CAAE,CAAEG,MAAM,CAAE,oBAAV,CAAhC,EADF,CAEGT,UAAU,cAAG,mCAAI,KAAK,CAAEO,MAAM,CAACG,EAAlB,EAAuBV,UAAvB,CAAH,CAA6C,IAF1D,cAGE,oCAAK,KAAK,CAAEO,MAAM,CAACI,IAAnB,eACE,mCAAI,KAAK,CAAEJ,MAAM,CAACK,EAAlB,EAAuBN,KAAvB,KADF,CAHF,CANF,CADF,CAgBD,CA7BwE,C,sBAAtDL,K,CACZY,W,CAAc,W,CADFZ,K,CAGZa,e,CAAkBjB,gB,CAHNI,K,CAIZc,mB,CAAsBlB,gB,CA4B/B,KAAMU,CAAAA,MAA4C,CAAG,CACnDC,KAAK,CAAE,CACLQ,KAAK,CAAE,MADF,CAELC,UAAU,CAAE,MAFP,CAGLC,UAAU,CACR,2HAJG,CAKLC,MAAM,CAAE,OALH,CAMLC,SAAS,CAAE,QANN,CAOLC,OAAO,CAAE,MAPJ,CAQLC,aAAa,CAAE,QARV,CASLC,UAAU,CAAE,QATP,CAULC,cAAc,CAAE,QAVX,CAD4C,CAcnDb,IAAI,CAAE,CACJU,OAAO,CAAE,cADL,CAEJD,SAAS,CAAE,MAFP,CAGJK,UAAU,CAAE,MAHR,CAIJN,MAAM,CAAE,MAJJ,CAKJO,aAAa,CAAE,QALX,CAd6C,CAsBnDhB,EAAE,CAAE,CACFW,OAAO,CAAE,cADP,CAEFM,WAAW,CAAE,4BAFX,CAGFC,MAAM,CAAE,CAHN,CAIFC,WAAW,CAAE,MAJX,CAKFC,OAAO,CAAE,kBALP,CAMFC,QAAQ,CAAE,MANR,CAOFC,UAAU,CAAE,GAPV,CAQFN,aAAa,CAAE,KARb,CAtB+C,CAiCnDd,EAAE,CAAE,CACFmB,QAAQ,CAAE,MADR,CAEFC,UAAU,CAAE,QAFV,CAGFP,UAAU,CAAE,SAHV,CAIFG,MAAM,CAAE,CAJN,CAKFE,OAAO,CAAE,CALP,CAjC+C,CAArD","sourcesContent":["import React from 'react'\nimport Head from '../next-server/lib/head'\nimport { NextPageContext } from '../next-server/lib/utils'\n\nconst statusCodes: { [code: number]: string } = {\n 400: 'Bad Request',\n 404: 'This page could not be found',\n 405: 'Method Not Allowed',\n 500: 'Internal Server Error',\n}\n\nexport type ErrorProps = {\n statusCode: number\n title?: string\n}\n\nfunction _getInitialProps({\n res,\n err,\n}: NextPageContext): Promise<ErrorProps> | ErrorProps {\n const statusCode =\n res && res.statusCode ? res.statusCode : err ? err.statusCode! : 404\n return { statusCode }\n}\n\n/**\n * `Error` component used for handling errors.\n */\nexport default class Error<P = {}> extends React.Component<P & ErrorProps> {\n static displayName = 'ErrorPage'\n\n static getInitialProps = _getInitialProps\n static origGetInitialProps = _getInitialProps\n\n render() {\n const { statusCode } = this.props\n const title =\n this.props.title ||\n statusCodes[statusCode] ||\n 'An unexpected error has occurred'\n\n return (\n <div style={styles.error}>\n <Head>\n <title>\n {statusCode}: {title}\n \n \n

\n ... + const closeMarkup = ``; + const index = (() => { + if (options.lowerCaseTagName) { + return data.toLocaleLowerCase().indexOf(closeMarkup, kMarkupPattern.lastIndex); + } + return data.indexOf(closeMarkup, kMarkupPattern.lastIndex); + })(); + if (element_should_be_ignore(match[2])) { + let text; + if (index === -1) { + // there is no matching ending for the text element. + text = data.substr(kMarkupPattern.lastIndex); + } + else { + text = data.substring(kMarkupPattern.lastIndex, index); + } + if (text.length > 0) { + currentParent.appendChild(new TextNode(text)); + } + } + if (index === -1) { + lastTextPos = kMarkupPattern.lastIndex = data.length + 1; + } + else { + lastTextPos = kMarkupPattern.lastIndex = index + closeMarkup.length; + match[1] = 'true'; + } + } + } + if (match[1] || match[4] || kSelfClosingElements[match[2]]) { + // or
etc. + while (true) { + if (currentParent.rawTagName === match[2]) { + stack.pop(); + currentParent = arr_back(stack); + break; + } + else { + const tagName = currentParent.tagName; + // Trying to close current tag, and move on + if (kElementsClosedByClosing[tagName]) { + if (kElementsClosedByClosing[tagName][match[2]]) { + stack.pop(); + currentParent = arr_back(stack); + continue; + } + } + // Use aggressive strategy to handle unmatching markups. + break; + } + } + } + } + const valid = Boolean(stack.length === 1); + if (!options.noFix) { + const response = root; + response.valid = valid; + while (stack.length > 1) { + // Handle each error elements. + const last = stack.pop(); + const oneBefore = arr_back(stack); + if (last.parentNode && last.parentNode.parentNode) { + if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) { + // Pair error case

handle : Fixes to

+ oneBefore.removeChild(last); + last.childNodes.forEach((child) => { + oneBefore.parentNode.appendChild(child); + }); + stack.pop(); + } + else { + // Single error

handle: Just removes

+ oneBefore.removeChild(last); + last.childNodes.forEach((child) => { + oneBefore.appendChild(child); + }); + } + } + else { + // If it's final element just skip. + } + } + response.childNodes.forEach((node) => { + if (node instanceof HTMLElement) { + node.parentNode = null; + } + }); + return response; + } + const response = new TextNode(data); + response.valid = valid; + return response; +} diff --git a/ninjalist/node_modules/node-html-parser/dist/esm/nodes/node.js b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/node.js new file mode 100644 index 00000000..55309bed --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/node.js @@ -0,0 +1,11 @@ +/** + * Node Class as base class for TextNode and HTMLElement. + */ +export default class Node { + constructor() { + this.childNodes = []; + } + get innerText() { + return this.rawText; + } +} diff --git a/ninjalist/node_modules/node-html-parser/dist/esm/nodes/text.js b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/text.js new file mode 100644 index 00000000..953e554c --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/text.js @@ -0,0 +1,34 @@ +import NodeType from './type'; +import Node from './node'; +/** + * TextNode to contain a text element in DOM tree. + * @param {string} value [description] + */ +export default class TextNode extends Node { + constructor(rawText) { + super(); + this.rawText = rawText; + /** + * Node Type declaration. + * @type {Number} + */ + this.nodeType = NodeType.TEXT_NODE; + } + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get text() { + return this.rawText; + } + /** + * Detect if the node contains only white space. + * @return {bool} + */ + get isWhitespace() { + return /^(\s| )*$/.test(this.rawText); + } + toString() { + return this.text; + } +} diff --git a/ninjalist/node_modules/node-html-parser/dist/esm/nodes/type.js b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/type.js new file mode 100644 index 00000000..92296014 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/esm/nodes/type.js @@ -0,0 +1,7 @@ +var NodeType; +(function (NodeType) { + NodeType[NodeType["ELEMENT_NODE"] = 1] = "ELEMENT_NODE"; + NodeType[NodeType["TEXT_NODE"] = 3] = "TEXT_NODE"; + NodeType[NodeType["COMMENT_NODE"] = 8] = "COMMENT_NODE"; +})(NodeType || (NodeType = {})); +export default NodeType; diff --git a/ninjalist/node_modules/node-html-parser/dist/index.d.ts b/ninjalist/node_modules/node-html-parser/dist/index.d.ts new file mode 100644 index 00000000..07895bbb --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/index.d.ts @@ -0,0 +1,5 @@ +export { default as CommentNode } from './nodes/comment'; +export { default as HTMLElement, parse, parse as default, Options } from './nodes/html'; +export { default as Node } from './nodes/node'; +export { default as TextNode } from './nodes/text'; +export { default as NodeType } from './nodes/type'; diff --git a/ninjalist/node_modules/node-html-parser/dist/index.js b/ninjalist/node_modules/node-html-parser/dist/index.js new file mode 100644 index 00000000..b879bb32 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NodeType = exports.TextNode = exports.Node = exports.default = exports.parse = exports.HTMLElement = exports.CommentNode = void 0; +var comment_1 = require("./nodes/comment"); +Object.defineProperty(exports, "CommentNode", { enumerable: true, get: function () { return __importDefault(comment_1).default; } }); +var html_1 = require("./nodes/html"); +Object.defineProperty(exports, "HTMLElement", { enumerable: true, get: function () { return __importDefault(html_1).default; } }); +Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return html_1.parse; } }); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return html_1.parse; } }); +var node_1 = require("./nodes/node"); +Object.defineProperty(exports, "Node", { enumerable: true, get: function () { return __importDefault(node_1).default; } }); +var text_1 = require("./nodes/text"); +Object.defineProperty(exports, "TextNode", { enumerable: true, get: function () { return __importDefault(text_1).default; } }); +var type_1 = require("./nodes/type"); +Object.defineProperty(exports, "NodeType", { enumerable: true, get: function () { return __importDefault(type_1).default; } }); diff --git a/ninjalist/node_modules/node-html-parser/dist/main.js b/ninjalist/node_modules/node-html-parser/dist/main.js new file mode 100644 index 00000000..97b1c31a --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/main.js @@ -0,0 +1,1325 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +define("back", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function arr_back(arr) { + return arr[arr.length - 1]; + } + exports.default = arr_back; +}); +define("nodes/type", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var NodeType; + (function (NodeType) { + NodeType[NodeType["ELEMENT_NODE"] = 1] = "ELEMENT_NODE"; + NodeType[NodeType["TEXT_NODE"] = 3] = "TEXT_NODE"; + NodeType[NodeType["COMMENT_NODE"] = 8] = "COMMENT_NODE"; + })(NodeType || (NodeType = {})); + exports.default = NodeType; +}); +define("nodes/node", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + /** + * Node Class as base class for TextNode and HTMLElement. + */ + var Node = /** @class */ (function () { + function Node() { + this.childNodes = []; + } + Object.defineProperty(Node.prototype, "innerText", { + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + return Node; + }()); + exports.default = Node; +}); +define("nodes/comment", ["require", "exports", "nodes/node", "nodes/type"], function (require, exports, node_1, type_1) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + node_1 = __importDefault(node_1); + type_1 = __importDefault(type_1); + var CommentNode = /** @class */ (function (_super) { + __extends(CommentNode, _super); + function CommentNode(rawText) { + var _this = _super.call(this) || this; + _this.rawText = rawText; + /** + * Node Type declaration. + * @type {Number} + */ + _this.nodeType = type_1.default.COMMENT_NODE; + return _this; + } + Object.defineProperty(CommentNode.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + CommentNode.prototype.toString = function () { + return ""; + }; + return CommentNode; + }(node_1.default)); + exports.default = CommentNode; +}); +define("nodes/text", ["require", "exports", "nodes/type", "nodes/node"], function (require, exports, type_2, node_2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + type_2 = __importDefault(type_2); + node_2 = __importDefault(node_2); + /** + * TextNode to contain a text element in DOM tree. + * @param {string} value [description] + */ + var TextNode = /** @class */ (function (_super) { + __extends(TextNode, _super); + function TextNode(rawText) { + var _this = _super.call(this) || this; + _this.rawText = rawText; + /** + * Node Type declaration. + * @type {Number} + */ + _this.nodeType = type_2.default.TEXT_NODE; + return _this; + } + Object.defineProperty(TextNode.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(TextNode.prototype, "isWhitespace", { + /** + * Detect if the node contains only white space. + * @return {bool} + */ + get: function () { + return /^(\s| )*$/.test(this.rawText); + }, + enumerable: false, + configurable: true + }); + TextNode.prototype.toString = function () { + return this.text; + }; + return TextNode; + }(node_2.default)); + exports.default = TextNode; +}); +define("matcher", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + /** + * Cache to store generated match functions + * @type {Object} + */ + var pMatchFunctionCache = {}; + function compare_tagname(tag1, tag2) { + if (!tag1) { + return !tag2; + } + if (!tag2) { + return !tag1; + } + return tag1.toLowerCase() === tag2.toLowerCase(); + } + /** + * Function cache + */ + var functionCache = { + f145: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + if (el.id !== tagName.substr(1)) { + return false; + } + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f45: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f15: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + if (el.id !== tagName.substr(1)) { + return false; + } + return true; + }, + f1: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + if (el.id !== tagName.substr(1)) { + return false; + } + }, + f5: function () { + 'use strict'; + return true; + }, + f55: function (el, tagName, classes, attr_key) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = attr_key || ''; + var attrs = el.attributes; + return attrs.hasOwnProperty(attr_key); + }, + f245: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + // for (let cls = classes, i = 0; i < cls.length; i++) {if (el.classNames.indexOf(cls[i]) === -1){ return false;}} + // return true; + }, + f25: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + // return true; + }, + f2: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + }, + f345: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + if (!compare_tagname(el.tagName, tagName)) { + return false; + } + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f35: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + return compare_tagname(el.tagName, tagName); + }, + f3: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + // if (el.tagName !== tagName) { + // return false; + // } + return compare_tagname(el.tagName, tagName); + } + }; + /** + * Matcher class to make CSS match + * + * @class Matcher + */ + var Matcher = /** @class */ (function () { + /** + * Creates an instance of Matcher. + * @param {string} selector + * + * @memberof Matcher + */ + function Matcher(selector) { + this.nextMatch = 0; + this.matchers = selector.split(' ').map(function (matcher) { + if (pMatchFunctionCache[matcher]) { + return pMatchFunctionCache[matcher]; + } + var parts = matcher.split('.'); + var tagName = parts[0]; + var classes = parts.slice(1).sort(); + // let source = '"use strict";'; + var function_name = 'f'; + var attr_key = ''; + var value = ''; + if (tagName && tagName !== '*') { + if (tagName.startsWith('#')) { + // source += 'if (el.id != ' + JSON.stringify(tagName.substr(1)) + ') return false;';// 1 + function_name += '1'; + } + else { + // https://github.com/taoqf/node-html-parser/issues/86 + // const reg = /\[\s*([\w-]+)(\s*=\s*(((?'|")\s*(.*)(\k))|(\S*)))?\s*\]/.exec(tagName); + // `[a-b]`,`[ a-b ]`,`[a-b=c]`, `[a-b=c'd]`,`[a-b='c\' d"e ']`,`[ a-b = 'c\' d"e ' ]`,`[a-b="c' d\"e " ]`,`[ a-b = "c' d\"e " ]` + var reg = /\[\s*([\w-]+)(\s*=\s*(('\s*(.*)'|"\s*(.*)")|(\S*)))?\s*\]/.exec(tagName); + if (reg) { + attr_key = reg[1]; + value = reg[5] || reg[6] || reg[7]; + // source += `let attrs = el.attributes;for (let key in attrs){const val = attrs[key]; if (key == "${attr_key}" && val == "${value}"){return true;}} return false;`;// 2 + function_name += '2'; + } + else { + // source += 'if (el.tagName != ' + JSON.stringify(tagName) + ') return false;';// 3 + function_name += '3'; + } + } + } + if (classes.length > 0) { + // source += 'for (let cls = ' + JSON.stringify(classes) + ', i = 0; i < cls.length; i++) if (el.classNames.indexOf(cls[i]) === -1) return false;';// 4 + function_name += '4'; + } + // source += 'return true;';// 5 + function_name += '5'; + var obj = { + func: functionCache[function_name], + tagName: tagName || '', + classes: classes || '', + attr_key: attr_key || '', + value: value || '' + }; + // source = source || ''; + return (pMatchFunctionCache[matcher] = obj); + }); + } + /** + * Trying to advance match pointer + * @param {HTMLElement} el element to make the match + * @return {bool} true when pointer advanced. + */ + Matcher.prototype.advance = function (el) { + if (this.nextMatch < this.matchers.length && + this.matchers[this.nextMatch].func(el, this.matchers[this.nextMatch].tagName, this.matchers[this.nextMatch].classes, this.matchers[this.nextMatch].attr_key, this.matchers[this.nextMatch].value)) { + this.nextMatch++; + return true; + } + return false; + }; + /** + * Rewind the match pointer + */ + Matcher.prototype.rewind = function () { + this.nextMatch--; + }; + Object.defineProperty(Matcher.prototype, "matched", { + /** + * Trying to determine if match made. + * @return {bool} true when the match is made + */ + get: function () { + return this.nextMatch === this.matchers.length; + }, + enumerable: false, + configurable: true + }); + /** + * Rest match pointer. + * @return {[type]} [description] + */ + Matcher.prototype.reset = function () { + this.nextMatch = 0; + }; + /** + * flush cache to free memory + */ + Matcher.prototype.flushCache = function () { + pMatchFunctionCache = {}; + }; + return Matcher; + }()); + exports.default = Matcher; +}); +define("nodes/html", ["require", "exports", "he", "nodes/node", "nodes/type", "nodes/text", "matcher", "back", "nodes/comment"], function (require, exports, he_1, node_3, type_3, text_1, matcher_1, back_1, comment_1) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parse = void 0; + node_3 = __importDefault(node_3); + type_3 = __importDefault(type_3); + text_1 = __importDefault(text_1); + matcher_1 = __importDefault(matcher_1); + back_1 = __importDefault(back_1); + comment_1 = __importDefault(comment_1); + var kBlockElements = new Map(); + kBlockElements.set('DIV', true); + kBlockElements.set('div', true); + kBlockElements.set('P', true); + kBlockElements.set('p', true); + // ul: true, + // ol: true, + kBlockElements.set('LI', true); + kBlockElements.set('li', true); + // table: true, + // tr: true, + kBlockElements.set('TD', true); + kBlockElements.set('td', true); + kBlockElements.set('SECTION', true); + kBlockElements.set('section', true); + kBlockElements.set('BR', true); + kBlockElements.set('br', true); + /** + * HTMLElement, which contains a set of children. + * + * Note: this is a minimalist implementation, no complete tree + * structure provided (no parentNode, nextSibling, + * previousSibling etc). + * @class HTMLElement + * @extends {Node} + */ + var HTMLElement = /** @class */ (function (_super) { + __extends(HTMLElement, _super); + /** + * Creates an instance of HTMLElement. + * @param keyAttrs id and class attribute + * @param [rawAttrs] attributes in string + * + * @memberof HTMLElement + */ + function HTMLElement(tagName, keyAttrs, rawAttrs, parentNode) { + if (rawAttrs === void 0) { rawAttrs = ''; } + if (parentNode === void 0) { parentNode = null; } + var _this = _super.call(this) || this; + _this.rawAttrs = rawAttrs; + _this.parentNode = parentNode; + _this.classNames = []; + /** + * Node Type declaration. + */ + _this.nodeType = type_3.default.ELEMENT_NODE; + _this.rawTagName = tagName; + _this.rawAttrs = rawAttrs || ''; + _this.parentNode = parentNode || null; + _this.childNodes = []; + if (keyAttrs.id) { + _this.id = keyAttrs.id; + if (!rawAttrs) { + _this.rawAttrs = "id=\"" + keyAttrs.id + "\""; + } + } + if (keyAttrs.class) { + _this.classNames = keyAttrs.class.split(/\s+/); + if (!rawAttrs) { + var cls = "class=\"" + _this.classNames.join(' ') + "\""; + if (_this.rawAttrs) { + _this.rawAttrs += " " + cls; + } + else { + _this.rawAttrs = cls; + } + } + } + return _this; + } + /** + * Remove current element + */ + HTMLElement.prototype.remove = function () { + var _this = this; + if (this.parentNode) { + var children = this.parentNode.childNodes; + this.parentNode.childNodes = children.filter(function (child) { + return _this !== child; + }); + } + }; + /** + * Remove Child element from childNodes array + * @param {HTMLElement} node node to remove + */ + HTMLElement.prototype.removeChild = function (node) { + this.childNodes = this.childNodes.filter(function (child) { + return (child !== node); + }); + }; + /** + * Exchanges given child with new child + * @param {HTMLElement} oldNode node to exchange + * @param {HTMLElement} newNode new node + */ + HTMLElement.prototype.exchangeChild = function (oldNode, newNode) { + var children = this.childNodes; + this.childNodes = children.map(function (child) { + if (child === oldNode) { + return newNode; + } + return child; + }); + }; + Object.defineProperty(HTMLElement.prototype, "tagName", { + get: function () { + return this.rawTagName ? this.rawTagName.toUpperCase() : this.rawTagName; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "rawText", { + /** + * Get escpaed (as-it) text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.childNodes.reduce(function (pre, cur) { + return (pre += cur.rawText); + }, ''); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return he_1.decode(this.rawText); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "structuredText", { + /** + * Get structured Text (with '\n' etc.) + * @return {string} structured text + */ + get: function () { + var currentBlock = []; + var blocks = [currentBlock]; + function dfs(node) { + if (node.nodeType === type_3.default.ELEMENT_NODE) { + if (kBlockElements.get(node.rawTagName)) { + if (currentBlock.length > 0) { + blocks.push(currentBlock = []); + } + node.childNodes.forEach(dfs); + if (currentBlock.length > 0) { + blocks.push(currentBlock = []); + } + } + else { + node.childNodes.forEach(dfs); + } + } + else if (node.nodeType === type_3.default.TEXT_NODE) { + if (node.isWhitespace) { + // Whitespace node, postponed output + currentBlock.prependWhitespace = true; + } + else { + var text = node.text; + if (currentBlock.prependWhitespace) { + text = " " + text; + currentBlock.prependWhitespace = false; + } + currentBlock.push(text); + } + } + } + dfs(this); + return blocks.map(function (block) { + // Normalize each line's whitespace + return block.join('').trim().replace(/\s{2,}/g, ' '); + }) + .join('\n').replace(/\s+$/, ''); // trimRight; + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.toString = function () { + var tag = this.rawTagName; + if (tag) { + var is_void = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/i.test(tag); + var attrs = this.rawAttrs ? " " + this.rawAttrs : ''; + if (is_void) { + return "<" + tag + attrs + ">"; + } + return "<" + tag + attrs + ">" + this.innerHTML + ""; + } + return this.innerHTML; + }; + Object.defineProperty(HTMLElement.prototype, "innerHTML", { + get: function () { + return this.childNodes.map(function (child) { + return child.toString(); + }).join(''); + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.set_content = function (content, options) { + if (options === void 0) { options = {}; } + if (content instanceof node_3.default) { + content = [content]; + } + else if (typeof content == 'string') { + var r = parse(content, options); + content = r.childNodes.length ? r.childNodes : [new text_1.default(content)]; + } + this.childNodes = content; + }; + Object.defineProperty(HTMLElement.prototype, "outerHTML", { + get: function () { + return this.toString(); + }, + enumerable: false, + configurable: true + }); + /** + * Trim element from right (in block) after seeing pattern in a TextNode. + * @param {RegExp} pattern pattern to find + * @return {HTMLElement} reference to current node + */ + HTMLElement.prototype.trimRight = function (pattern) { + for (var i = 0; i < this.childNodes.length; i++) { + var childNode = this.childNodes[i]; + if (childNode.nodeType === type_3.default.ELEMENT_NODE) { + childNode.trimRight(pattern); + } + else { + var index = childNode.rawText.search(pattern); + if (index > -1) { + childNode.rawText = childNode.rawText.substr(0, index); + // trim all following nodes. + this.childNodes.length = i + 1; + } + } + } + return this; + }; + Object.defineProperty(HTMLElement.prototype, "structure", { + /** + * Get DOM structure + * @return {string} strucutre + */ + get: function () { + var res = []; + var indention = 0; + function write(str) { + res.push(' '.repeat(indention) + str); + } + function dfs(node) { + var idStr = node.id ? ("#" + node.id) : ''; + var classStr = node.classNames.length ? ("." + node.classNames.join('.')) : ''; + write(node.rawTagName + idStr + classStr); + indention++; + node.childNodes.forEach(function (childNode) { + if (childNode.nodeType === type_3.default.ELEMENT_NODE) { + dfs(childNode); + } + else if (childNode.nodeType === type_3.default.TEXT_NODE) { + if (!childNode.isWhitespace) { + write('#text'); + } + } + }); + indention--; + } + dfs(this); + return res.join('\n'); + }, + enumerable: false, + configurable: true + }); + /** + * Remove whitespaces in this sub tree. + * @return {HTMLElement} pointer to this + */ + HTMLElement.prototype.removeWhitespace = function () { + var _this = this; + var o = 0; + this.childNodes.forEach(function (node) { + if (node.nodeType === type_3.default.TEXT_NODE) { + if (node.isWhitespace) { + return; + } + node.rawText = node.rawText.trim(); + } + else if (node.nodeType === type_3.default.ELEMENT_NODE) { + node.removeWhitespace(); + } + _this.childNodes[o++] = node; + }); + this.childNodes.length = o; + return this; + }; + /** + * Query CSS selector to find matching nodes. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement[]} matching elements + */ + HTMLElement.prototype.querySelectorAll = function (selector) { + var _this = this; + var matcher; + if (selector instanceof matcher_1.default) { + matcher = selector; + matcher.reset(); + } + else { + if (selector.includes(',')) { + var selectors = selector.split(','); + return Array.from(selectors.reduce(function (pre, cur) { + var result = _this.querySelectorAll(cur.trim()); + return result.reduce(function (p, c) { + return p.add(c); + }, pre); + }, new Set())); + } + matcher = new matcher_1.default(selector); + } + var stack = []; + return this.childNodes.reduce(function (res, cur) { + stack.push([cur, 0, false]); + while (stack.length) { + var state = back_1.default(stack); // get last element + var el = state[0]; + if (state[1] === 0) { + // Seen for first time. + if (el.nodeType !== type_3.default.ELEMENT_NODE) { + stack.pop(); + continue; + } + var html_el = el; + state[2] = matcher.advance(html_el); + if (state[2]) { + if (matcher.matched) { + res.push(html_el); + res.push.apply(res, (html_el.querySelectorAll(selector))); + // no need to go further. + matcher.rewind(); + stack.pop(); + continue; + } + } + } + if (state[1] < el.childNodes.length) { + stack.push([el.childNodes[state[1]++], 0, false]); + } + else { + if (state[2]) { + matcher.rewind(); + } + stack.pop(); + } + } + return res; + }, []); + }; + /** + * Query CSS Selector to find matching node. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement} matching node + */ + HTMLElement.prototype.querySelector = function (selector) { + var matcher; + if (selector instanceof matcher_1.default) { + matcher = selector; + matcher.reset(); + } + else { + matcher = new matcher_1.default(selector); + } + var stack = []; + for (var _i = 0, _a = this.childNodes; _i < _a.length; _i++) { + var node = _a[_i]; + stack.push([node, 0, false]); + while (stack.length) { + var state = back_1.default(stack); + var el = state[0]; + if (state[1] === 0) { + // Seen for first time. + if (el.nodeType !== type_3.default.ELEMENT_NODE) { + stack.pop(); + continue; + } + state[2] = matcher.advance(el); + if (state[2]) { + if (matcher.matched) { + return el; + } + } + } + if (state[1] < el.childNodes.length) { + stack.push([el.childNodes[state[1]++], 0, false]); + } + else { + if (state[2]) { + matcher.rewind(); + } + stack.pop(); + } + } + } + return null; + }; + /** + * Append a child node to childNodes + * @param {Node} node node to append + * @return {Node} node appended + */ + HTMLElement.prototype.appendChild = function (node) { + // node.parentNode = this; + this.childNodes.push(node); + if (node instanceof HTMLElement) { + node.parentNode = this; + } + return node; + }; + Object.defineProperty(HTMLElement.prototype, "firstChild", { + /** + * Get first child node + * @return {Node} first child node + */ + get: function () { + return this.childNodes[0]; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "lastChild", { + /** + * Get last child node + * @return {Node} last child node + */ + get: function () { + return back_1.default(this.childNodes); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "attributes", { + /** + * Get attributes + * @return {Object} parsed and unescaped attributes + */ + get: function () { + if (this._attrs) { + return this._attrs; + } + this._attrs = {}; + var attrs = this.rawAttributes; + for (var key in attrs) { + var val = attrs[key] || ''; + this._attrs[key] = he_1.decode(val); + } + return this._attrs; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "rawAttributes", { + /** + * Get escaped (as-it) attributes + * @return {Object} parsed attributes + */ + get: function () { + if (this._rawAttrs) { + return this._rawAttrs; + } + var attrs = {}; + if (this.rawAttrs) { + var re = /\b([a-z][a-z0-9-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))?/ig; + var match = void 0; + while ((match = re.exec(this.rawAttrs))) { + attrs[match[1]] = match[2] || match[3] || match[4] || null; + } + } + this._rawAttrs = attrs; + return attrs; + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.removeAttribute = function (key) { + var attrs = this.rawAttributes; + delete attrs[key]; + // Update this.attribute + if (this._attrs) { + delete this._attrs[key]; + } + // Update rawString + this.rawAttrs = Object.keys(attrs).map(function (name) { + var val = JSON.stringify(attrs[name]); + if (val === undefined || val === 'null') { + return name; + } + return name + "=" + val; + }).join(' '); + }; + HTMLElement.prototype.hasAttribute = function (key) { + return key in this.attributes; + }; + /** + * Get an attribute + * @return {string} value of the attribute + */ + HTMLElement.prototype.getAttribute = function (key) { + return this.attributes[key]; + }; + /** + * Set an attribute value to the HTMLElement + * @param {string} key The attribute name + * @param {string} value The value to set, or null / undefined to remove an attribute + */ + HTMLElement.prototype.setAttribute = function (key, value) { + if (arguments.length < 2) { + throw new Error('Failed to execute \'setAttribute\' on \'Element\''); + } + var attrs = this.rawAttributes; + attrs[key] = String(value); + if (this._attrs) { + this._attrs[key] = he_1.decode(attrs[key]); + } + // Update rawString + this.rawAttrs = Object.keys(attrs).map(function (name) { + var val = JSON.stringify(attrs[name]); + if (val === 'null' || val === '""') { + return name; + } + return name + "=" + val; + }).join(' '); + }; + /** + * Replace all the attributes of the HTMLElement by the provided attributes + * @param {Attributes} attributes the new attribute set + */ + HTMLElement.prototype.setAttributes = function (attributes) { + // Invalidate current this.attributes + if (this._attrs) { + delete this._attrs; + } + // Invalidate current this.rawAttributes + if (this._rawAttrs) { + delete this._rawAttrs; + } + // Update rawString + this.rawAttrs = Object.keys(attributes).map(function (name) { + var val = attributes[name]; + if (val === 'null' || val === '""') { + return name; + } + return name + "=" + JSON.stringify(String(val)); + }).join(' '); + }; + HTMLElement.prototype.insertAdjacentHTML = function (where, html) { + var _a, _b, _c; + var _this = this; + if (arguments.length < 2) { + throw new Error('2 arguments required'); + } + var p = parse(html); + if (where === 'afterend') { + var idx = this.parentNode.childNodes.findIndex(function (child) { + return child === _this; + }); + (_a = this.parentNode.childNodes).splice.apply(_a, __spreadArrays([idx + 1, 0], p.childNodes)); + p.childNodes.forEach(function (n) { + if (n instanceof HTMLElement) { + n.parentNode = _this.parentNode; + } + }); + } + else if (where === 'afterbegin') { + (_b = this.childNodes).unshift.apply(_b, p.childNodes); + } + else if (where === 'beforeend') { + p.childNodes.forEach(function (n) { + _this.appendChild(n); + }); + } + else if (where === 'beforebegin') { + var idx = this.parentNode.childNodes.findIndex(function (child) { + return child === _this; + }); + (_c = this.parentNode.childNodes).splice.apply(_c, __spreadArrays([idx, 0], p.childNodes)); + p.childNodes.forEach(function (n) { + if (n instanceof HTMLElement) { + n.parentNode = _this.parentNode; + } + }); + } + else { + throw new Error("The value provided ('" + where + "') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'"); + } + // if (!where || html === undefined || html === null) { + // return; + // } + }; + Object.defineProperty(HTMLElement.prototype, "nextSibling", { + get: function () { + if (this.parentNode) { + var children = this.parentNode.childNodes; + var i = 0; + while (i < children.length) { + var child = children[i++]; + if (this === child) { + return children[i] || null; + } + } + return null; + } + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "nextElementSibling", { + get: function () { + if (this.parentNode) { + var children = this.parentNode.childNodes; + var i = 0; + var find = false; + while (i < children.length) { + var child = children[i++]; + if (find) { + if (child instanceof HTMLElement) { + return child || null; + } + } + else if (this === child) { + find = true; + } + } + return null; + } + }, + enumerable: false, + configurable: true + }); + return HTMLElement; + }(node_3.default)); + exports.default = HTMLElement; + // https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name + var kMarkupPattern = /)-->|<(\/?)([a-z][-.:0-9_a-z]*)\s*([^>]*?)(\/?)>/ig; + // <(?[^\s]*)(.*)>(.*)> + // <([a-z][-.:0-9_a-z]*)\s*\/> + // <(area|base|br|col|hr|img|input|link|meta|source)\s*(.*)\/?> + // <(area|base|br|col|hr|img|input|link|meta|source)\s*(.*)\/?>|<(?[^\s]*)(.*)>(.*)> + var kAttributePattern = /(^|\s)(id|class)\s*=\s*("([^"]+)"|'([^']+)'|(\S+))/ig; + var kSelfClosingElements = { + area: true, + AREA: true, + base: true, + BASE: true, + br: true, + BR: true, + col: true, + COL: true, + hr: true, + HR: true, + img: true, + IMG: true, + input: true, + INPUT: true, + link: true, + LINK: true, + meta: true, + META: true, + source: true, + SOURCE: true, + embed: true, + EMBED: true, + param: true, + PARAM: true, + track: true, + TRACK: true, + wbr: true, + WBR: true + }; + var kElementsClosedByOpening = { + li: { li: true, LI: true }, + LI: { li: true, LI: true }, + p: { p: true, div: true, P: true, DIV: true }, + P: { p: true, div: true, P: true, DIV: true }, + b: { div: true, DIV: true }, + B: { div: true, DIV: true }, + td: { td: true, th: true, TD: true, TH: true }, + TD: { td: true, th: true, TD: true, TH: true }, + th: { td: true, th: true, TD: true, TH: true }, + TH: { td: true, th: true, TD: true, TH: true }, + h1: { h1: true, H1: true }, + H1: { h1: true, H1: true }, + h2: { h2: true, H2: true }, + H2: { h2: true, H2: true }, + h3: { h3: true, H3: true }, + H3: { h3: true, H3: true }, + h4: { h4: true, H4: true }, + H4: { h4: true, H4: true }, + h5: { h5: true, H5: true }, + H5: { h5: true, H5: true }, + h6: { h6: true, H6: true }, + H6: { h6: true, H6: true } + }; + var kElementsClosedByClosing = { + li: { ul: true, ol: true, UL: true, OL: true }, + LI: { ul: true, ol: true, UL: true, OL: true }, + a: { div: true, DIV: true }, + A: { div: true, DIV: true }, + b: { div: true, DIV: true }, + B: { div: true, DIV: true }, + i: { div: true, DIV: true }, + I: { div: true, DIV: true }, + p: { div: true, DIV: true }, + P: { div: true, DIV: true }, + td: { tr: true, table: true, TR: true, TABLE: true }, + TD: { tr: true, table: true, TR: true, TABLE: true }, + th: { tr: true, table: true, TR: true, TABLE: true }, + TH: { tr: true, table: true, TR: true, TABLE: true } + }; + var frameflag = 'documentfragmentcontainer'; + function parse(data, options) { + if (options === void 0) { options = { lowerCaseTagName: false, comment: false }; } + var elements = options.blockTextElements || { + script: true, + noscript: true, + style: true, + pre: true + }; + var element_names = Object.keys(elements); + var kBlockTextElements = element_names.map(function (it) { + return new RegExp(it, 'i'); + }); + var kIgnoreElements = element_names.filter(function (it) { + return elements[it]; + }).map(function (it) { + return new RegExp(it, 'i'); + }); + function element_should_be_ignore(tag) { + return kIgnoreElements.some(function (it) { + return it.test(tag); + }); + } + function is_block_text_element(tag) { + return kBlockTextElements.some(function (it) { + return it.test(tag); + }); + } + var root = new HTMLElement(null, {}); + var currentParent = root; + var stack = [root]; + var lastTextPos = -1; + var match; + // https://github.com/taoqf/node-html-parser/issues/38 + data = "<" + frameflag + ">" + data + ""; + var _loop_1 = function () { + if (lastTextPos > -1) { + if (lastTextPos + match[0].length < kMarkupPattern.lastIndex) { + // if has content + var text = data.substring(lastTextPos, kMarkupPattern.lastIndex - match[0].length); + currentParent.appendChild(new text_1.default(text)); + } + } + lastTextPos = kMarkupPattern.lastIndex; + if (match[2] === frameflag) { + return "continue"; + } + if (match[0][1] === '!') { + // this is a comment + if (options.comment) { + // Only keep what is in between + var text = data.substring(lastTextPos - 3, lastTextPos - match[0].length + 4); + currentParent.appendChild(new comment_1.default(text)); + } + return "continue"; + } + if (options.lowerCaseTagName) { + match[2] = match[2].toLowerCase(); + } + if (!match[1]) { + // not or ... + var closeMarkup_1 = ""; + var index = (function () { + if (options.lowerCaseTagName) { + return data.toLocaleLowerCase().indexOf(closeMarkup_1, kMarkupPattern.lastIndex); + } + return data.indexOf(closeMarkup_1, kMarkupPattern.lastIndex); + })(); + if (element_should_be_ignore(match[2])) { + var text = void 0; + if (index === -1) { + // there is no matching ending for the text element. + text = data.substr(kMarkupPattern.lastIndex); + } + else { + text = data.substring(kMarkupPattern.lastIndex, index); + } + if (text.length > 0) { + currentParent.appendChild(new text_1.default(text)); + } + } + if (index === -1) { + lastTextPos = kMarkupPattern.lastIndex = data.length + 1; + } + else { + lastTextPos = kMarkupPattern.lastIndex = index + closeMarkup_1.length; + match[1] = 'true'; + } + } + } + if (match[1] || match[4] || kSelfClosingElements[match[2]]) { + // or
etc. + while (true) { + if (currentParent.rawTagName === match[2]) { + stack.pop(); + currentParent = back_1.default(stack); + break; + } + else { + var tagName = currentParent.tagName; + // Trying to close current tag, and move on + if (kElementsClosedByClosing[tagName]) { + if (kElementsClosedByClosing[tagName][match[2]]) { + stack.pop(); + currentParent = back_1.default(stack); + continue; + } + } + // Use aggressive strategy to handle unmatching markups. + break; + } + } + } + }; + while ((match = kMarkupPattern.exec(data))) { + _loop_1(); + } + var valid = Boolean(stack.length === 1); + if (!options.noFix) { + var response_1 = root; + response_1.valid = valid; + var _loop_2 = function () { + // Handle each error elements. + var last = stack.pop(); + var oneBefore = back_1.default(stack); + if (last.parentNode && last.parentNode.parentNode) { + if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) { + // Pair error case

handle : Fixes to

+ oneBefore.removeChild(last); + last.childNodes.forEach(function (child) { + oneBefore.parentNode.appendChild(child); + }); + stack.pop(); + } + else { + // Single error

handle: Just removes

+ oneBefore.removeChild(last); + last.childNodes.forEach(function (child) { + oneBefore.appendChild(child); + }); + } + } + else { + // If it's final element just skip. + } + }; + while (stack.length > 1) { + _loop_2(); + } + response_1.childNodes.forEach(function (node) { + if (node instanceof HTMLElement) { + node.parentNode = null; + } + }); + return response_1; + } + var response = new text_1.default(data); + response.valid = valid; + return response; + } + exports.parse = parse; +}); +define("index", ["require", "exports", "nodes/comment", "nodes/html", "nodes/node", "nodes/text", "nodes/type"], function (require, exports, comment_2, html_1, node_4, text_2, type_4) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeType = exports.TextNode = exports.Node = exports.default = exports.parse = exports.HTMLElement = exports.CommentNode = void 0; + Object.defineProperty(exports, "CommentNode", { enumerable: true, get: function () { return __importDefault(comment_2).default; } }); + Object.defineProperty(exports, "HTMLElement", { enumerable: true, get: function () { return __importDefault(html_1).default; } }); + Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return html_1.parse; } }); + Object.defineProperty(exports, "default", { enumerable: true, get: function () { return html_1.parse; } }); + Object.defineProperty(exports, "Node", { enumerable: true, get: function () { return __importDefault(node_4).default; } }); + Object.defineProperty(exports, "TextNode", { enumerable: true, get: function () { return __importDefault(text_2).default; } }); + Object.defineProperty(exports, "NodeType", { enumerable: true, get: function () { return __importDefault(type_4).default; } }); +}); diff --git a/ninjalist/node_modules/node-html-parser/dist/matcher.d.ts b/ninjalist/node_modules/node-html-parser/dist/matcher.d.ts new file mode 100644 index 00000000..c0297487 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/matcher.d.ts @@ -0,0 +1,41 @@ +import HTMLElement from './nodes/html'; +/** + * Matcher class to make CSS match + * + * @class Matcher + */ +export default class Matcher { + private matchers; + private nextMatch; + /** + * Creates an instance of Matcher. + * @param {string} selector + * + * @memberof Matcher + */ + constructor(selector: string); + /** + * Trying to advance match pointer + * @param {HTMLElement} el element to make the match + * @return {bool} true when pointer advanced. + */ + advance(el: HTMLElement): boolean; + /** + * Rewind the match pointer + */ + rewind(): void; + /** + * Trying to determine if match made. + * @return {bool} true when the match is made + */ + get matched(): boolean; + /** + * Rest match pointer. + * @return {[type]} [description] + */ + reset(): void; + /** + * flush cache to free memory + */ + flushCache(): void; +} diff --git a/ninjalist/node_modules/node-html-parser/dist/matcher.js b/ninjalist/node_modules/node-html-parser/dist/matcher.js new file mode 100644 index 00000000..24d6f44f --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/matcher.js @@ -0,0 +1,249 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Cache to store generated match functions + * @type {Object} + */ +var pMatchFunctionCache = {}; +function compare_tagname(tag1, tag2) { + if (!tag1) { + return !tag2; + } + if (!tag2) { + return !tag1; + } + return tag1.toLowerCase() === tag2.toLowerCase(); +} +/** + * Function cache + */ +var functionCache = { + f145: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + if (el.id !== tagName.substr(1)) { + return false; + } + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f45: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f15: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + if (el.id !== tagName.substr(1)) { + return false; + } + return true; + }, + f1: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + if (el.id !== tagName.substr(1)) { + return false; + } + }, + f5: function () { + 'use strict'; + return true; + }, + f55: function (el, tagName, classes, attr_key) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = attr_key || ''; + var attrs = el.attributes; + return attrs.hasOwnProperty(attr_key); + }, + f245: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + // for (let cls = classes, i = 0; i < cls.length; i++) {if (el.classNames.indexOf(cls[i]) === -1){ return false;}} + // return true; + }, + f25: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + // return true; + }, + f2: function (el, tagName, classes, attr_key, value) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + attr_key = (attr_key || '').toLowerCase(); + value = value || ''; + var attrs = el.attributes; + return Object.keys(attrs).some(function (key) { + var val = attrs[key]; + return key.toLowerCase() === attr_key && val === value; + }); + }, + f345: function (el, tagName, classes) { + 'use strict'; + tagName = tagName || ''; + classes = classes || []; + if (!compare_tagname(el.tagName, tagName)) { + return false; + } + for (var cls = classes, i = 0; i < cls.length; i++) { + if (el.classNames.indexOf(cls[i]) === -1) { + return false; + } + } + return true; + }, + f35: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + return compare_tagname(el.tagName, tagName); + }, + f3: function (el, tagName) { + 'use strict'; + tagName = tagName || ''; + // if (el.tagName !== tagName) { + // return false; + // } + return compare_tagname(el.tagName, tagName); + } +}; +/** + * Matcher class to make CSS match + * + * @class Matcher + */ +var Matcher = /** @class */ (function () { + /** + * Creates an instance of Matcher. + * @param {string} selector + * + * @memberof Matcher + */ + function Matcher(selector) { + this.nextMatch = 0; + this.matchers = selector.split(' ').map(function (matcher) { + if (pMatchFunctionCache[matcher]) { + return pMatchFunctionCache[matcher]; + } + var parts = matcher.split('.'); + var tagName = parts[0]; + var classes = parts.slice(1).sort(); + // let source = '"use strict";'; + var function_name = 'f'; + var attr_key = ''; + var value = ''; + if (tagName && tagName !== '*') { + if (tagName.startsWith('#')) { + // source += 'if (el.id != ' + JSON.stringify(tagName.substr(1)) + ') return false;';// 1 + function_name += '1'; + } + else { + // https://github.com/taoqf/node-html-parser/issues/86 + // const reg = /\[\s*([\w-]+)(\s*=\s*(((?'|")\s*(.*)(\k))|(\S*)))?\s*\]/.exec(tagName); + // `[a-b]`,`[ a-b ]`,`[a-b=c]`, `[a-b=c'd]`,`[a-b='c\' d"e ']`,`[ a-b = 'c\' d"e ' ]`,`[a-b="c' d\"e " ]`,`[ a-b = "c' d\"e " ]` + var reg = /\[\s*([\w-]+)(\s*=\s*(('\s*(.*)'|"\s*(.*)")|(\S*)))?\s*\]/.exec(tagName); + if (reg) { + attr_key = reg[1]; + value = reg[5] || reg[6] || reg[7]; + // source += `let attrs = el.attributes;for (let key in attrs){const val = attrs[key]; if (key == "${attr_key}" && val == "${value}"){return true;}} return false;`;// 2 + function_name += '2'; + } + else { + // source += 'if (el.tagName != ' + JSON.stringify(tagName) + ') return false;';// 3 + function_name += '3'; + } + } + } + if (classes.length > 0) { + // source += 'for (let cls = ' + JSON.stringify(classes) + ', i = 0; i < cls.length; i++) if (el.classNames.indexOf(cls[i]) === -1) return false;';// 4 + function_name += '4'; + } + // source += 'return true;';// 5 + function_name += '5'; + var obj = { + func: functionCache[function_name], + tagName: tagName || '', + classes: classes || '', + attr_key: attr_key || '', + value: value || '' + }; + // source = source || ''; + return (pMatchFunctionCache[matcher] = obj); + }); + } + /** + * Trying to advance match pointer + * @param {HTMLElement} el element to make the match + * @return {bool} true when pointer advanced. + */ + Matcher.prototype.advance = function (el) { + if (this.nextMatch < this.matchers.length && + this.matchers[this.nextMatch].func(el, this.matchers[this.nextMatch].tagName, this.matchers[this.nextMatch].classes, this.matchers[this.nextMatch].attr_key, this.matchers[this.nextMatch].value)) { + this.nextMatch++; + return true; + } + return false; + }; + /** + * Rewind the match pointer + */ + Matcher.prototype.rewind = function () { + this.nextMatch--; + }; + Object.defineProperty(Matcher.prototype, "matched", { + /** + * Trying to determine if match made. + * @return {bool} true when the match is made + */ + get: function () { + return this.nextMatch === this.matchers.length; + }, + enumerable: false, + configurable: true + }); + /** + * Rest match pointer. + * @return {[type]} [description] + */ + Matcher.prototype.reset = function () { + this.nextMatch = 0; + }; + /** + * flush cache to free memory + */ + Matcher.prototype.flushCache = function () { + pMatchFunctionCache = {}; + }; + return Matcher; +}()); +exports.default = Matcher; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/comment.d.ts b/ninjalist/node_modules/node-html-parser/dist/nodes/comment.d.ts new file mode 100644 index 00000000..c7864103 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/comment.d.ts @@ -0,0 +1,17 @@ +import Node from './node'; +import NodeType from './type'; +export default class CommentNode extends Node { + rawText: string; + constructor(rawText: string); + /** + * Node Type declaration. + * @type {Number} + */ + nodeType: NodeType; + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get text(): string; + toString(): string; +} diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/comment.js b/ninjalist/node_modules/node-html-parser/dist/nodes/comment.js new file mode 100644 index 00000000..44550c58 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/comment.js @@ -0,0 +1,49 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var node_1 = __importDefault(require("./node")); +var type_1 = __importDefault(require("./type")); +var CommentNode = /** @class */ (function (_super) { + __extends(CommentNode, _super); + function CommentNode(rawText) { + var _this = _super.call(this) || this; + _this.rawText = rawText; + /** + * Node Type declaration. + * @type {Number} + */ + _this.nodeType = type_1.default.COMMENT_NODE; + return _this; + } + Object.defineProperty(CommentNode.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + CommentNode.prototype.toString = function () { + return ""; + }; + return CommentNode; +}(node_1.default)); +exports.default = CommentNode; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/html.d.ts b/ninjalist/node_modules/node-html-parser/dist/nodes/html.d.ts new file mode 100644 index 00000000..14225df2 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/html.d.ts @@ -0,0 +1,183 @@ +import Node from './node'; +import NodeType from './type'; +import TextNode from './text'; +import Matcher from '../matcher'; +export interface KeyAttributes { + id?: string; + class?: string; +} +export interface Attributes { + [key: string]: string; +} +export interface RawAttributes { + [key: string]: string; +} +export declare type InsertPosition = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend'; +/** + * HTMLElement, which contains a set of children. + * + * Note: this is a minimalist implementation, no complete tree + * structure provided (no parentNode, nextSibling, + * previousSibling etc). + * @class HTMLElement + * @extends {Node} + */ +export default class HTMLElement extends Node { + private rawAttrs; + parentNode: Node; + private _attrs; + private _rawAttrs; + rawTagName: string; + id: string; + classNames: string[]; + /** + * Node Type declaration. + */ + nodeType: NodeType; + /** + * Creates an instance of HTMLElement. + * @param keyAttrs id and class attribute + * @param [rawAttrs] attributes in string + * + * @memberof HTMLElement + */ + constructor(tagName: string, keyAttrs: KeyAttributes, rawAttrs?: string, parentNode?: Node); + /** + * Remove current element + */ + remove(): void; + /** + * Remove Child element from childNodes array + * @param {HTMLElement} node node to remove + */ + removeChild(node: Node): void; + /** + * Exchanges given child with new child + * @param {HTMLElement} oldNode node to exchange + * @param {HTMLElement} newNode new node + */ + exchangeChild(oldNode: Node, newNode: Node): void; + get tagName(): string; + /** + * Get escpaed (as-it) text value of current node and its children. + * @return {string} text content + */ + get rawText(): string; + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get text(): string; + /** + * Get structured Text (with '\n' etc.) + * @return {string} structured text + */ + get structuredText(): string; + toString(): string; + get innerHTML(): string; + set_content(content: string | Node | Node[], options?: Options): void; + get outerHTML(): string; + /** + * Trim element from right (in block) after seeing pattern in a TextNode. + * @param {RegExp} pattern pattern to find + * @return {HTMLElement} reference to current node + */ + trimRight(pattern: RegExp): this; + /** + * Get DOM structure + * @return {string} strucutre + */ + get structure(): string; + /** + * Remove whitespaces in this sub tree. + * @return {HTMLElement} pointer to this + */ + removeWhitespace(): this; + /** + * Query CSS selector to find matching nodes. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement[]} matching elements + */ + querySelectorAll(selector: string | Matcher): HTMLElement[]; + /** + * Query CSS Selector to find matching node. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement} matching node + */ + querySelector(selector: string | Matcher): HTMLElement; + /** + * Append a child node to childNodes + * @param {Node} node node to append + * @return {Node} node appended + */ + appendChild(node: T): T; + /** + * Get first child node + * @return {Node} first child node + */ + get firstChild(): Node; + /** + * Get last child node + * @return {Node} last child node + */ + get lastChild(): Node; + /** + * Get attributes + * @return {Object} parsed and unescaped attributes + */ + get attributes(): Attributes; + /** + * Get escaped (as-it) attributes + * @return {Object} parsed attributes + */ + get rawAttributes(): RawAttributes; + removeAttribute(key: string): void; + hasAttribute(key: string): boolean; + /** + * Get an attribute + * @return {string} value of the attribute + */ + getAttribute(key: string): string | undefined; + /** + * Set an attribute value to the HTMLElement + * @param {string} key The attribute name + * @param {string} value The value to set, or null / undefined to remove an attribute + */ + setAttribute(key: string, value: string): void; + /** + * Replace all the attributes of the HTMLElement by the provided attributes + * @param {Attributes} attributes the new attribute set + */ + setAttributes(attributes: Attributes): void; + insertAdjacentHTML(where: InsertPosition, html: string): void; + get nextSibling(): Node; + get nextElementSibling(): HTMLElement; +} +export interface Options { + lowerCaseTagName: boolean; + comment: boolean; + blockTextElements: { + [tag: string]: boolean; + }; +} +/** + * Parses HTML and returns a root element + * Parse a chuck of HTML source. + * @param {string} data html + * @return {HTMLElement} root element + */ +export declare function parse(data: string, options?: Partial): HTMLElement & { + valid: boolean; +}; +export declare function parse(data: string, options?: Partial & { + noFix: false; +}): HTMLElement & { + valid: boolean; +}; +export declare function parse(data: string, options?: Partial & { + noFix: true; +}): (HTMLElement | TextNode) & { + valid: boolean; +}; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/html.js b/ninjalist/node_modules/node-html-parser/dist/nodes/html.js new file mode 100644 index 00000000..51c87a7a --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/html.js @@ -0,0 +1,936 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parse = void 0; +var he_1 = require("he"); +var node_1 = __importDefault(require("./node")); +var type_1 = __importDefault(require("./type")); +var text_1 = __importDefault(require("./text")); +var matcher_1 = __importDefault(require("../matcher")); +var back_1 = __importDefault(require("../back")); +var comment_1 = __importDefault(require("./comment")); +var kBlockElements = new Map(); +kBlockElements.set('DIV', true); +kBlockElements.set('div', true); +kBlockElements.set('P', true); +kBlockElements.set('p', true); +// ul: true, +// ol: true, +kBlockElements.set('LI', true); +kBlockElements.set('li', true); +// table: true, +// tr: true, +kBlockElements.set('TD', true); +kBlockElements.set('td', true); +kBlockElements.set('SECTION', true); +kBlockElements.set('section', true); +kBlockElements.set('BR', true); +kBlockElements.set('br', true); +/** + * HTMLElement, which contains a set of children. + * + * Note: this is a minimalist implementation, no complete tree + * structure provided (no parentNode, nextSibling, + * previousSibling etc). + * @class HTMLElement + * @extends {Node} + */ +var HTMLElement = /** @class */ (function (_super) { + __extends(HTMLElement, _super); + /** + * Creates an instance of HTMLElement. + * @param keyAttrs id and class attribute + * @param [rawAttrs] attributes in string + * + * @memberof HTMLElement + */ + function HTMLElement(tagName, keyAttrs, rawAttrs, parentNode) { + if (rawAttrs === void 0) { rawAttrs = ''; } + if (parentNode === void 0) { parentNode = null; } + var _this = _super.call(this) || this; + _this.rawAttrs = rawAttrs; + _this.parentNode = parentNode; + _this.classNames = []; + /** + * Node Type declaration. + */ + _this.nodeType = type_1.default.ELEMENT_NODE; + _this.rawTagName = tagName; + _this.rawAttrs = rawAttrs || ''; + _this.parentNode = parentNode || null; + _this.childNodes = []; + if (keyAttrs.id) { + _this.id = keyAttrs.id; + if (!rawAttrs) { + _this.rawAttrs = "id=\"" + keyAttrs.id + "\""; + } + } + if (keyAttrs.class) { + _this.classNames = keyAttrs.class.split(/\s+/); + if (!rawAttrs) { + var cls = "class=\"" + _this.classNames.join(' ') + "\""; + if (_this.rawAttrs) { + _this.rawAttrs += " " + cls; + } + else { + _this.rawAttrs = cls; + } + } + } + return _this; + } + /** + * Remove current element + */ + HTMLElement.prototype.remove = function () { + var _this = this; + if (this.parentNode) { + var children = this.parentNode.childNodes; + this.parentNode.childNodes = children.filter(function (child) { + return _this !== child; + }); + } + }; + /** + * Remove Child element from childNodes array + * @param {HTMLElement} node node to remove + */ + HTMLElement.prototype.removeChild = function (node) { + this.childNodes = this.childNodes.filter(function (child) { + return (child !== node); + }); + }; + /** + * Exchanges given child with new child + * @param {HTMLElement} oldNode node to exchange + * @param {HTMLElement} newNode new node + */ + HTMLElement.prototype.exchangeChild = function (oldNode, newNode) { + var children = this.childNodes; + this.childNodes = children.map(function (child) { + if (child === oldNode) { + return newNode; + } + return child; + }); + }; + Object.defineProperty(HTMLElement.prototype, "tagName", { + get: function () { + return this.rawTagName ? this.rawTagName.toUpperCase() : this.rawTagName; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "rawText", { + /** + * Get escpaed (as-it) text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.childNodes.reduce(function (pre, cur) { + return (pre += cur.rawText); + }, ''); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return he_1.decode(this.rawText); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "structuredText", { + /** + * Get structured Text (with '\n' etc.) + * @return {string} structured text + */ + get: function () { + var currentBlock = []; + var blocks = [currentBlock]; + function dfs(node) { + if (node.nodeType === type_1.default.ELEMENT_NODE) { + if (kBlockElements.get(node.rawTagName)) { + if (currentBlock.length > 0) { + blocks.push(currentBlock = []); + } + node.childNodes.forEach(dfs); + if (currentBlock.length > 0) { + blocks.push(currentBlock = []); + } + } + else { + node.childNodes.forEach(dfs); + } + } + else if (node.nodeType === type_1.default.TEXT_NODE) { + if (node.isWhitespace) { + // Whitespace node, postponed output + currentBlock.prependWhitespace = true; + } + else { + var text = node.text; + if (currentBlock.prependWhitespace) { + text = " " + text; + currentBlock.prependWhitespace = false; + } + currentBlock.push(text); + } + } + } + dfs(this); + return blocks.map(function (block) { + // Normalize each line's whitespace + return block.join('').trim().replace(/\s{2,}/g, ' '); + }) + .join('\n').replace(/\s+$/, ''); // trimRight; + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.toString = function () { + var tag = this.rawTagName; + if (tag) { + var is_void = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/i.test(tag); + var attrs = this.rawAttrs ? " " + this.rawAttrs : ''; + if (is_void) { + return "<" + tag + attrs + ">"; + } + return "<" + tag + attrs + ">" + this.innerHTML + ""; + } + return this.innerHTML; + }; + Object.defineProperty(HTMLElement.prototype, "innerHTML", { + get: function () { + return this.childNodes.map(function (child) { + return child.toString(); + }).join(''); + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.set_content = function (content, options) { + if (options === void 0) { options = {}; } + if (content instanceof node_1.default) { + content = [content]; + } + else if (typeof content == 'string') { + var r = parse(content, options); + content = r.childNodes.length ? r.childNodes : [new text_1.default(content)]; + } + this.childNodes = content; + }; + Object.defineProperty(HTMLElement.prototype, "outerHTML", { + get: function () { + return this.toString(); + }, + enumerable: false, + configurable: true + }); + /** + * Trim element from right (in block) after seeing pattern in a TextNode. + * @param {RegExp} pattern pattern to find + * @return {HTMLElement} reference to current node + */ + HTMLElement.prototype.trimRight = function (pattern) { + for (var i = 0; i < this.childNodes.length; i++) { + var childNode = this.childNodes[i]; + if (childNode.nodeType === type_1.default.ELEMENT_NODE) { + childNode.trimRight(pattern); + } + else { + var index = childNode.rawText.search(pattern); + if (index > -1) { + childNode.rawText = childNode.rawText.substr(0, index); + // trim all following nodes. + this.childNodes.length = i + 1; + } + } + } + return this; + }; + Object.defineProperty(HTMLElement.prototype, "structure", { + /** + * Get DOM structure + * @return {string} strucutre + */ + get: function () { + var res = []; + var indention = 0; + function write(str) { + res.push(' '.repeat(indention) + str); + } + function dfs(node) { + var idStr = node.id ? ("#" + node.id) : ''; + var classStr = node.classNames.length ? ("." + node.classNames.join('.')) : ''; + write(node.rawTagName + idStr + classStr); + indention++; + node.childNodes.forEach(function (childNode) { + if (childNode.nodeType === type_1.default.ELEMENT_NODE) { + dfs(childNode); + } + else if (childNode.nodeType === type_1.default.TEXT_NODE) { + if (!childNode.isWhitespace) { + write('#text'); + } + } + }); + indention--; + } + dfs(this); + return res.join('\n'); + }, + enumerable: false, + configurable: true + }); + /** + * Remove whitespaces in this sub tree. + * @return {HTMLElement} pointer to this + */ + HTMLElement.prototype.removeWhitespace = function () { + var _this = this; + var o = 0; + this.childNodes.forEach(function (node) { + if (node.nodeType === type_1.default.TEXT_NODE) { + if (node.isWhitespace) { + return; + } + node.rawText = node.rawText.trim(); + } + else if (node.nodeType === type_1.default.ELEMENT_NODE) { + node.removeWhitespace(); + } + _this.childNodes[o++] = node; + }); + this.childNodes.length = o; + return this; + }; + /** + * Query CSS selector to find matching nodes. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement[]} matching elements + */ + HTMLElement.prototype.querySelectorAll = function (selector) { + var _this = this; + var matcher; + if (selector instanceof matcher_1.default) { + matcher = selector; + matcher.reset(); + } + else { + if (selector.includes(',')) { + var selectors = selector.split(','); + return Array.from(selectors.reduce(function (pre, cur) { + var result = _this.querySelectorAll(cur.trim()); + return result.reduce(function (p, c) { + return p.add(c); + }, pre); + }, new Set())); + } + matcher = new matcher_1.default(selector); + } + var stack = []; + return this.childNodes.reduce(function (res, cur) { + stack.push([cur, 0, false]); + while (stack.length) { + var state = back_1.default(stack); // get last element + var el = state[0]; + if (state[1] === 0) { + // Seen for first time. + if (el.nodeType !== type_1.default.ELEMENT_NODE) { + stack.pop(); + continue; + } + var html_el = el; + state[2] = matcher.advance(html_el); + if (state[2]) { + if (matcher.matched) { + res.push(html_el); + res.push.apply(res, (html_el.querySelectorAll(selector))); + // no need to go further. + matcher.rewind(); + stack.pop(); + continue; + } + } + } + if (state[1] < el.childNodes.length) { + stack.push([el.childNodes[state[1]++], 0, false]); + } + else { + if (state[2]) { + matcher.rewind(); + } + stack.pop(); + } + } + return res; + }, []); + }; + /** + * Query CSS Selector to find matching node. + * @param {string} selector Simplified CSS selector + * @param {Matcher} selector A Matcher instance + * @return {HTMLElement} matching node + */ + HTMLElement.prototype.querySelector = function (selector) { + var matcher; + if (selector instanceof matcher_1.default) { + matcher = selector; + matcher.reset(); + } + else { + matcher = new matcher_1.default(selector); + } + var stack = []; + for (var _i = 0, _a = this.childNodes; _i < _a.length; _i++) { + var node = _a[_i]; + stack.push([node, 0, false]); + while (stack.length) { + var state = back_1.default(stack); + var el = state[0]; + if (state[1] === 0) { + // Seen for first time. + if (el.nodeType !== type_1.default.ELEMENT_NODE) { + stack.pop(); + continue; + } + state[2] = matcher.advance(el); + if (state[2]) { + if (matcher.matched) { + return el; + } + } + } + if (state[1] < el.childNodes.length) { + stack.push([el.childNodes[state[1]++], 0, false]); + } + else { + if (state[2]) { + matcher.rewind(); + } + stack.pop(); + } + } + } + return null; + }; + /** + * Append a child node to childNodes + * @param {Node} node node to append + * @return {Node} node appended + */ + HTMLElement.prototype.appendChild = function (node) { + // node.parentNode = this; + this.childNodes.push(node); + if (node instanceof HTMLElement) { + node.parentNode = this; + } + return node; + }; + Object.defineProperty(HTMLElement.prototype, "firstChild", { + /** + * Get first child node + * @return {Node} first child node + */ + get: function () { + return this.childNodes[0]; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "lastChild", { + /** + * Get last child node + * @return {Node} last child node + */ + get: function () { + return back_1.default(this.childNodes); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "attributes", { + /** + * Get attributes + * @return {Object} parsed and unescaped attributes + */ + get: function () { + if (this._attrs) { + return this._attrs; + } + this._attrs = {}; + var attrs = this.rawAttributes; + for (var key in attrs) { + var val = attrs[key] || ''; + this._attrs[key] = he_1.decode(val); + } + return this._attrs; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "rawAttributes", { + /** + * Get escaped (as-it) attributes + * @return {Object} parsed attributes + */ + get: function () { + if (this._rawAttrs) { + return this._rawAttrs; + } + var attrs = {}; + if (this.rawAttrs) { + var re = /\b([a-z][a-z0-9-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))?/ig; + var match = void 0; + while ((match = re.exec(this.rawAttrs))) { + attrs[match[1]] = match[2] || match[3] || match[4] || null; + } + } + this._rawAttrs = attrs; + return attrs; + }, + enumerable: false, + configurable: true + }); + HTMLElement.prototype.removeAttribute = function (key) { + var attrs = this.rawAttributes; + delete attrs[key]; + // Update this.attribute + if (this._attrs) { + delete this._attrs[key]; + } + // Update rawString + this.rawAttrs = Object.keys(attrs).map(function (name) { + var val = JSON.stringify(attrs[name]); + if (val === undefined || val === 'null') { + return name; + } + return name + "=" + val; + }).join(' '); + }; + HTMLElement.prototype.hasAttribute = function (key) { + return key in this.attributes; + }; + /** + * Get an attribute + * @return {string} value of the attribute + */ + HTMLElement.prototype.getAttribute = function (key) { + return this.attributes[key]; + }; + /** + * Set an attribute value to the HTMLElement + * @param {string} key The attribute name + * @param {string} value The value to set, or null / undefined to remove an attribute + */ + HTMLElement.prototype.setAttribute = function (key, value) { + if (arguments.length < 2) { + throw new Error('Failed to execute \'setAttribute\' on \'Element\''); + } + var attrs = this.rawAttributes; + attrs[key] = String(value); + if (this._attrs) { + this._attrs[key] = he_1.decode(attrs[key]); + } + // Update rawString + this.rawAttrs = Object.keys(attrs).map(function (name) { + var val = JSON.stringify(attrs[name]); + if (val === 'null' || val === '""') { + return name; + } + return name + "=" + val; + }).join(' '); + }; + /** + * Replace all the attributes of the HTMLElement by the provided attributes + * @param {Attributes} attributes the new attribute set + */ + HTMLElement.prototype.setAttributes = function (attributes) { + // Invalidate current this.attributes + if (this._attrs) { + delete this._attrs; + } + // Invalidate current this.rawAttributes + if (this._rawAttrs) { + delete this._rawAttrs; + } + // Update rawString + this.rawAttrs = Object.keys(attributes).map(function (name) { + var val = attributes[name]; + if (val === 'null' || val === '""') { + return name; + } + return name + "=" + JSON.stringify(String(val)); + }).join(' '); + }; + HTMLElement.prototype.insertAdjacentHTML = function (where, html) { + var _a, _b, _c; + var _this = this; + if (arguments.length < 2) { + throw new Error('2 arguments required'); + } + var p = parse(html); + if (where === 'afterend') { + var idx = this.parentNode.childNodes.findIndex(function (child) { + return child === _this; + }); + (_a = this.parentNode.childNodes).splice.apply(_a, __spreadArrays([idx + 1, 0], p.childNodes)); + p.childNodes.forEach(function (n) { + if (n instanceof HTMLElement) { + n.parentNode = _this.parentNode; + } + }); + } + else if (where === 'afterbegin') { + (_b = this.childNodes).unshift.apply(_b, p.childNodes); + } + else if (where === 'beforeend') { + p.childNodes.forEach(function (n) { + _this.appendChild(n); + }); + } + else if (where === 'beforebegin') { + var idx = this.parentNode.childNodes.findIndex(function (child) { + return child === _this; + }); + (_c = this.parentNode.childNodes).splice.apply(_c, __spreadArrays([idx, 0], p.childNodes)); + p.childNodes.forEach(function (n) { + if (n instanceof HTMLElement) { + n.parentNode = _this.parentNode; + } + }); + } + else { + throw new Error("The value provided ('" + where + "') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'"); + } + // if (!where || html === undefined || html === null) { + // return; + // } + }; + Object.defineProperty(HTMLElement.prototype, "nextSibling", { + get: function () { + if (this.parentNode) { + var children = this.parentNode.childNodes; + var i = 0; + while (i < children.length) { + var child = children[i++]; + if (this === child) { + return children[i] || null; + } + } + return null; + } + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(HTMLElement.prototype, "nextElementSibling", { + get: function () { + if (this.parentNode) { + var children = this.parentNode.childNodes; + var i = 0; + var find = false; + while (i < children.length) { + var child = children[i++]; + if (find) { + if (child instanceof HTMLElement) { + return child || null; + } + } + else if (this === child) { + find = true; + } + } + return null; + } + }, + enumerable: false, + configurable: true + }); + return HTMLElement; +}(node_1.default)); +exports.default = HTMLElement; +// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name +var kMarkupPattern = /)-->|<(\/?)([a-z][-.:0-9_a-z]*)\s*([^>]*?)(\/?)>/ig; +// <(?[^\s]*)(.*)>(.*)> +// <([a-z][-.:0-9_a-z]*)\s*\/> +// <(area|base|br|col|hr|img|input|link|meta|source)\s*(.*)\/?> +// <(area|base|br|col|hr|img|input|link|meta|source)\s*(.*)\/?>|<(?[^\s]*)(.*)>(.*)> +var kAttributePattern = /(^|\s)(id|class)\s*=\s*("([^"]+)"|'([^']+)'|(\S+))/ig; +var kSelfClosingElements = { + area: true, + AREA: true, + base: true, + BASE: true, + br: true, + BR: true, + col: true, + COL: true, + hr: true, + HR: true, + img: true, + IMG: true, + input: true, + INPUT: true, + link: true, + LINK: true, + meta: true, + META: true, + source: true, + SOURCE: true, + embed: true, + EMBED: true, + param: true, + PARAM: true, + track: true, + TRACK: true, + wbr: true, + WBR: true +}; +var kElementsClosedByOpening = { + li: { li: true, LI: true }, + LI: { li: true, LI: true }, + p: { p: true, div: true, P: true, DIV: true }, + P: { p: true, div: true, P: true, DIV: true }, + b: { div: true, DIV: true }, + B: { div: true, DIV: true }, + td: { td: true, th: true, TD: true, TH: true }, + TD: { td: true, th: true, TD: true, TH: true }, + th: { td: true, th: true, TD: true, TH: true }, + TH: { td: true, th: true, TD: true, TH: true }, + h1: { h1: true, H1: true }, + H1: { h1: true, H1: true }, + h2: { h2: true, H2: true }, + H2: { h2: true, H2: true }, + h3: { h3: true, H3: true }, + H3: { h3: true, H3: true }, + h4: { h4: true, H4: true }, + H4: { h4: true, H4: true }, + h5: { h5: true, H5: true }, + H5: { h5: true, H5: true }, + h6: { h6: true, H6: true }, + H6: { h6: true, H6: true } +}; +var kElementsClosedByClosing = { + li: { ul: true, ol: true, UL: true, OL: true }, + LI: { ul: true, ol: true, UL: true, OL: true }, + a: { div: true, DIV: true }, + A: { div: true, DIV: true }, + b: { div: true, DIV: true }, + B: { div: true, DIV: true }, + i: { div: true, DIV: true }, + I: { div: true, DIV: true }, + p: { div: true, DIV: true }, + P: { div: true, DIV: true }, + td: { tr: true, table: true, TR: true, TABLE: true }, + TD: { tr: true, table: true, TR: true, TABLE: true }, + th: { tr: true, table: true, TR: true, TABLE: true }, + TH: { tr: true, table: true, TR: true, TABLE: true } +}; +var frameflag = 'documentfragmentcontainer'; +function parse(data, options) { + if (options === void 0) { options = { lowerCaseTagName: false, comment: false }; } + var elements = options.blockTextElements || { + script: true, + noscript: true, + style: true, + pre: true + }; + var element_names = Object.keys(elements); + var kBlockTextElements = element_names.map(function (it) { + return new RegExp(it, 'i'); + }); + var kIgnoreElements = element_names.filter(function (it) { + return elements[it]; + }).map(function (it) { + return new RegExp(it, 'i'); + }); + function element_should_be_ignore(tag) { + return kIgnoreElements.some(function (it) { + return it.test(tag); + }); + } + function is_block_text_element(tag) { + return kBlockTextElements.some(function (it) { + return it.test(tag); + }); + } + var root = new HTMLElement(null, {}); + var currentParent = root; + var stack = [root]; + var lastTextPos = -1; + var match; + // https://github.com/taoqf/node-html-parser/issues/38 + data = "<" + frameflag + ">" + data + ""; + var _loop_1 = function () { + if (lastTextPos > -1) { + if (lastTextPos + match[0].length < kMarkupPattern.lastIndex) { + // if has content + var text = data.substring(lastTextPos, kMarkupPattern.lastIndex - match[0].length); + currentParent.appendChild(new text_1.default(text)); + } + } + lastTextPos = kMarkupPattern.lastIndex; + if (match[2] === frameflag) { + return "continue"; + } + if (match[0][1] === '!') { + // this is a comment + if (options.comment) { + // Only keep what is in between + var text = data.substring(lastTextPos - 3, lastTextPos - match[0].length + 4); + currentParent.appendChild(new comment_1.default(text)); + } + return "continue"; + } + if (options.lowerCaseTagName) { + match[2] = match[2].toLowerCase(); + } + if (!match[1]) { + // not or ... + var closeMarkup_1 = ""; + var index = (function () { + if (options.lowerCaseTagName) { + return data.toLocaleLowerCase().indexOf(closeMarkup_1, kMarkupPattern.lastIndex); + } + return data.indexOf(closeMarkup_1, kMarkupPattern.lastIndex); + })(); + if (element_should_be_ignore(match[2])) { + var text = void 0; + if (index === -1) { + // there is no matching ending for the text element. + text = data.substr(kMarkupPattern.lastIndex); + } + else { + text = data.substring(kMarkupPattern.lastIndex, index); + } + if (text.length > 0) { + currentParent.appendChild(new text_1.default(text)); + } + } + if (index === -1) { + lastTextPos = kMarkupPattern.lastIndex = data.length + 1; + } + else { + lastTextPos = kMarkupPattern.lastIndex = index + closeMarkup_1.length; + match[1] = 'true'; + } + } + } + if (match[1] || match[4] || kSelfClosingElements[match[2]]) { + // or
etc. + while (true) { + if (currentParent.rawTagName === match[2]) { + stack.pop(); + currentParent = back_1.default(stack); + break; + } + else { + var tagName = currentParent.tagName; + // Trying to close current tag, and move on + if (kElementsClosedByClosing[tagName]) { + if (kElementsClosedByClosing[tagName][match[2]]) { + stack.pop(); + currentParent = back_1.default(stack); + continue; + } + } + // Use aggressive strategy to handle unmatching markups. + break; + } + } + } + }; + while ((match = kMarkupPattern.exec(data))) { + _loop_1(); + } + var valid = Boolean(stack.length === 1); + if (!options.noFix) { + var response_1 = root; + response_1.valid = valid; + var _loop_2 = function () { + // Handle each error elements. + var last = stack.pop(); + var oneBefore = back_1.default(stack); + if (last.parentNode && last.parentNode.parentNode) { + if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) { + // Pair error case

handle : Fixes to

+ oneBefore.removeChild(last); + last.childNodes.forEach(function (child) { + oneBefore.parentNode.appendChild(child); + }); + stack.pop(); + } + else { + // Single error

handle: Just removes

+ oneBefore.removeChild(last); + last.childNodes.forEach(function (child) { + oneBefore.appendChild(child); + }); + } + } + else { + // If it's final element just skip. + } + }; + while (stack.length > 1) { + _loop_2(); + } + response_1.childNodes.forEach(function (node) { + if (node instanceof HTMLElement) { + node.parentNode = null; + } + }); + return response_1; + } + var response = new text_1.default(data); + response.valid = valid; + return response; +} +exports.parse = parse; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/node.d.ts b/ninjalist/node_modules/node-html-parser/dist/nodes/node.d.ts new file mode 100644 index 00000000..d5505767 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/node.d.ts @@ -0,0 +1,12 @@ +import NodeType from './type'; +/** + * Node Class as base class for TextNode and HTMLElement. + */ +export default abstract class Node { + abstract nodeType: NodeType; + childNodes: Node[]; + abstract text: string; + abstract rawText: string; + abstract toString(): string; + get innerText(): string; +} diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/node.js b/ninjalist/node_modules/node-html-parser/dist/nodes/node.js new file mode 100644 index 00000000..7df71024 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/node.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Node Class as base class for TextNode and HTMLElement. + */ +var Node = /** @class */ (function () { + function Node() { + this.childNodes = []; + } + Object.defineProperty(Node.prototype, "innerText", { + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + return Node; +}()); +exports.default = Node; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/text.d.ts b/ninjalist/node_modules/node-html-parser/dist/nodes/text.d.ts new file mode 100644 index 00000000..9d14dce7 --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/text.d.ts @@ -0,0 +1,26 @@ +import NodeType from './type'; +import Node from './node'; +/** + * TextNode to contain a text element in DOM tree. + * @param {string} value [description] + */ +export default class TextNode extends Node { + rawText: string; + constructor(rawText: string); + /** + * Node Type declaration. + * @type {Number} + */ + nodeType: NodeType; + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get text(): string; + /** + * Detect if the node contains only white space. + * @return {bool} + */ + get isWhitespace(): boolean; + toString(): string; +} diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/text.js b/ninjalist/node_modules/node-html-parser/dist/nodes/text.js new file mode 100644 index 00000000..5c53b57f --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/text.js @@ -0,0 +1,64 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var type_1 = __importDefault(require("./type")); +var node_1 = __importDefault(require("./node")); +/** + * TextNode to contain a text element in DOM tree. + * @param {string} value [description] + */ +var TextNode = /** @class */ (function (_super) { + __extends(TextNode, _super); + function TextNode(rawText) { + var _this = _super.call(this) || this; + _this.rawText = rawText; + /** + * Node Type declaration. + * @type {Number} + */ + _this.nodeType = type_1.default.TEXT_NODE; + return _this; + } + Object.defineProperty(TextNode.prototype, "text", { + /** + * Get unescaped text value of current node and its children. + * @return {string} text content + */ + get: function () { + return this.rawText; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(TextNode.prototype, "isWhitespace", { + /** + * Detect if the node contains only white space. + * @return {bool} + */ + get: function () { + return /^(\s| )*$/.test(this.rawText); + }, + enumerable: false, + configurable: true + }); + TextNode.prototype.toString = function () { + return this.text; + }; + return TextNode; +}(node_1.default)); +exports.default = TextNode; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/type.d.ts b/ninjalist/node_modules/node-html-parser/dist/nodes/type.d.ts new file mode 100644 index 00000000..32cc815b --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/type.d.ts @@ -0,0 +1,6 @@ +declare enum NodeType { + ELEMENT_NODE = 1, + TEXT_NODE = 3, + COMMENT_NODE = 8 +} +export default NodeType; diff --git a/ninjalist/node_modules/node-html-parser/dist/nodes/type.js b/ninjalist/node_modules/node-html-parser/dist/nodes/type.js new file mode 100644 index 00000000..d3848b6f --- /dev/null +++ b/ninjalist/node_modules/node-html-parser/dist/nodes/type.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var NodeType; +(function (NodeType) { + NodeType[NodeType["ELEMENT_NODE"] = 1] = "ELEMENT_NODE"; + NodeType[NodeType["TEXT_NODE"] = 3] = "TEXT_NODE"; + NodeType[NodeType["COMMENT_NODE"] = 8] = "COMMENT_NODE"; +})(NodeType || (NodeType = {})); +exports.default = NodeType; diff --git a/ninjalist/package.json b/ninjalist/package.json new file mode 100644 index 00000000..cee0af37 --- /dev/null +++ b/ninjalist/package.json @@ -0,0 +1,15 @@ +{ + "name": "ninjalist", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "next": "10.0.7", + "react": "17.0.1", + "react-dom": "17.0.1" + } +} diff --git a/ninjalist/pages/404.js b/ninjalist/pages/404.js new file mode 100644 index 00000000..4b52e5bd --- /dev/null +++ b/ninjalist/pages/404.js @@ -0,0 +1,26 @@ +import Link from "next/link" +import { useEffect } from 'react' +import { useRouter } from 'next/router'; + +const NotFound = () => { + + const router = useRouter(); + + useEffect(() => { + // console.log('use effect ran'); + setTimeout(() => { + // router.go(-1); + router.push('/'); + }, 3000) + }, []) + + return ( +
+

Oooops....

+

That page cannot be found.

+

Go back to the Homepage

+
+ ); +} + +export default NotFound; \ No newline at end of file diff --git a/ninjalist/pages/_app.js b/ninjalist/pages/_app.js new file mode 100644 index 00000000..6aebb9fd --- /dev/null +++ b/ninjalist/pages/_app.js @@ -0,0 +1,12 @@ +import Layout from '../components/Layout' +import '../styles/globals.css' + +function MyApp({ Component, pageProps }) { + return ( + + + + ) +} + +export default MyApp \ No newline at end of file diff --git a/ninjalist/pages/about.js b/ninjalist/pages/about.js new file mode 100644 index 00000000..ba8df153 --- /dev/null +++ b/ninjalist/pages/about.js @@ -0,0 +1,19 @@ +import Head from 'next/head' + +const About = () => { + return ( + <> + + About Pg + + +
+

About

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

+

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

+
+ + ); +} + +export default About; \ No newline at end of file diff --git a/ninjalist/pages/api/hello.js b/ninjalist/pages/api/hello.js new file mode 100644 index 00000000..9987aff4 --- /dev/null +++ b/ninjalist/pages/api/hello.js @@ -0,0 +1,5 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction + +export default (req, res) => { + res.status(200).json({ name: 'John Doe' }) +} diff --git a/ninjalist/pages/index.js b/ninjalist/pages/index.js new file mode 100644 index 00000000..5b8908ba --- /dev/null +++ b/ninjalist/pages/index.js @@ -0,0 +1,81 @@ +import Head from 'next/head' +import styles from '../styles/Home.module.css' +import Link from 'next/link' + +export default function Home() { + return ( + <> + + Home Pg + + + {/* //
*/} +
+

Home Page

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui atque rerum quidem quia voluptatem, voluptatum sint unde error iusto consequatur reiciendis corrupti distinctio expedita sed labore? Corrupti vel vero voluptas delectus non! Corporis laudantium culpa inventore illum beatae quas, asperiores optio dolores dignissimos odio?

+

Lorem ipsum dolor sit amet consectetur, adipisicing elit. A incidunt quae, rem necessitatibus minus dolores! Magni, incidunt asperiores?

+ + See Ninja Listing + +
+ + // + ) +} diff --git a/ninjalist/pages/ninjas/[id].js b/ninjalist/pages/ninjas/[id].js new file mode 100644 index 00000000..8a7b5f27 --- /dev/null +++ b/ninjalist/pages/ninjas/[id].js @@ -0,0 +1,49 @@ +export const getStaticPaths = async () => { + const res = await fetch('http://jsonplaceholder.typicode.com/users'); + const data = await res.json(); + + const paths = data.map(ninja => { + return { + params: { id: ninja.id.toString() } + } + }) + + return { + // paths: paths + // line above is same as below (shorter) + paths, + fallback: false + } +} + + +// this function runs as many times as there are items in what you fetch +export const getStaticProps = async (context) => { + const id = context.params.id; + const res = await fetch('https://jsonplaceholder.typicode.com/users/' + id); + const data = await res.json(); + + return { + props: { ninja: data } + } + +} + + + + +const Details = ({ ninja }) => { + + + return ( +
+

Details Page

+

{ ninja.name }

+

{ ninja.email }

+

{ ninja.website }

+ {/*

{ ninja.address.city }

*/} +
+ ); +} + +export default Details; \ No newline at end of file diff --git a/ninjalist/pages/ninjas/index.js b/ninjalist/pages/ninjas/index.js new file mode 100644 index 00000000..8ec39526 --- /dev/null +++ b/ninjalist/pages/ninjas/index.js @@ -0,0 +1,30 @@ +import styles from '../../styles/Ninjas.module.css' +import Link from 'next/link' + +export const getStaticProps = async () => { + const res = await fetch('https://jsonplaceholder.typicode.com/users'); + const data = await res.json(); + + return { + props: { ninjas: data } + } +} + +const Ninjas = ({ ninjas }) => { + // console.log(ninjas) + + return ( +
+

All Ninjas

+ {ninjas.map(ninja => ( + + +

{ ninja.name }

+
+ + ))} +
+ ); +} + +export default Ninjas; \ No newline at end of file diff --git a/ninjalist/pages/ninjas/ninjas.js b/ninjalist/pages/ninjas/ninjas.js new file mode 100644 index 00000000..03d26025 --- /dev/null +++ b/ninjalist/pages/ninjas/ninjas.js @@ -0,0 +1,9 @@ +const Test = () => { + return ( +
+

Test Header Ninjas

+
+ ); +} + +export default Test; \ No newline at end of file diff --git a/ninjalist/public/favicon.ico b/ninjalist/public/favicon.ico new file mode 100644 index 00000000..4965832f Binary files /dev/null and b/ninjalist/public/favicon.ico differ diff --git a/ninjalist/public/globe.svg b/ninjalist/public/globe.svg new file mode 100644 index 00000000..cd3719fe --- /dev/null +++ b/ninjalist/public/globe.svg @@ -0,0 +1 @@ +Landing Success \ No newline at end of file diff --git a/ninjalist/public/vercel.svg b/ninjalist/public/vercel.svg new file mode 100644 index 00000000..fbf0e25a --- /dev/null +++ b/ninjalist/public/vercel.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/ninjalist/styles/Home.module.css b/ninjalist/styles/Home.module.css new file mode 100644 index 00000000..f2447b72 --- /dev/null +++ b/ninjalist/styles/Home.module.css @@ -0,0 +1,145 @@ +/* +.container { + background: darkblue; + min-height: 100vh; + padding: 0 0.5rem; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.main { + padding: 5rem 0; + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.footer { + width: 100%; + height: 100px; + border-top: 1px solid #eaeaea; + display: flex; + justify-content: center; + align-items: center; +} + +.footer img { + margin-left: 0.5rem; +} + +.footer a { + display: flex; + justify-content: center; + align-items: center; +} + +.title a { + color: #0070f3; + text-decoration: none; +} + +.title a:hover, +.title a:focus, +.title a:active { + text-decoration: underline; +} + +.title { + margin: 0; + line-height: 1.15; + font-size: 4rem; +} + +.title, +.description { + text-align: center; +} + +.description { + line-height: 1.5; + font-size: 1.5rem; +} + +.code { + background: #fafafa; + border-radius: 5px; + padding: 0.75rem; + font-size: 1.1rem; + font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, + Bitstream Vera Sans Mono, Courier New, monospace; +} + +.grid { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + max-width: 800px; + margin-top: 3rem; +} + +.card { + margin: 1rem; + flex-basis: 45%; + padding: 1.5rem; + text-align: left; + color: inherit; + text-decoration: none; + border: 1px solid #eaeaea; + border-radius: 10px; + transition: color 0.15s ease, border-color 0.15s ease; +} + +.card:hover, +.card:focus, +.card:active { + color: #0070f3; + border-color: #0070f3; +} + +.card h3 { + margin: 0 0 1rem 0; + font-size: 1.5rem; +} + +.card p { + margin: 0; + font-size: 1.25rem; + line-height: 1.5; +} + +.logo { + height: 1em; +} + +@media (max-width: 600px) { + .grid { + width: 100%; + flex-direction: column; + } +} +*/ +.title { + color: #aaa; + padding-bottom: 20px; + text-align: center; +} + +.text { + color: #777; +} + +.btn { + display: block; + width: 150px; + padding: 8px 0; + margin: 20px auto; + background: #4979ff; + border-radius: 4px; + color: white; + text-align: center; +} \ No newline at end of file diff --git a/ninjalist/styles/Ninjas.module.css b/ninjalist/styles/Ninjas.module.css new file mode 100644 index 00000000..b7a80760 --- /dev/null +++ b/ninjalist/styles/Ninjas.module.css @@ -0,0 +1,11 @@ +.single { + padding: 2px 16px; + background: #333; + display: block; + margin: 20px 10px; + border-left: 8px solid #555; +} + +.single:hover { + border-left: 8px solid #4979ff; +} \ No newline at end of file diff --git a/ninjalist/styles/globals.css b/ninjalist/styles/globals.css new file mode 100644 index 00000000..9a71c99d --- /dev/null +++ b/ninjalist/styles/globals.css @@ -0,0 +1,73 @@ +html, +body { + padding: 0; + margin: 0; + background: #222; + color: #ededed; + /* font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, + Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; */ + font-family: "Nunito"; +} + +a { + color: inherit; + text-decoration: none; + color: #6c7ee0; +} + +* { + box-sizing: border-box; +} + + +@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700&display=swap'); + + +.content { + max-width: 960px; + margin: 0 auto; +} + +nav { + margin: 10px auto 80px; + padding: 10px 0; + display: flex; + justify-content: flex-end; + align-items: flex-end; + border-bottom: 1px solid #333; +} + +nav a { + margin-left: 12px; +} + +nav .logo { + margin-right: auto; +} + +footer { + display: block; + text-align: center; + padding: 30px 0; + margin-top: 60px; + color: #777; + border-top: 1px solid #333; +} + +.not-found { + text-align: center; +} + +.not-found a { + border-bottom: 2px dotted #38f09a; + text-decoration: none; +} + +img { + height: auto; + width: fit-content; +} + +.logo-img { + width: 80px; +} \ No newline at end of file diff --git a/ninjalist/yarn.lock b/ninjalist/yarn.lock new file mode 100644 index 00000000..bc5af950 --- /dev/null +++ b/ninjalist/yarn.lock @@ -0,0 +1,1954 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/highlight@^7.10.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/runtime@7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/types@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@hapi/accept@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10" + integrity sha512-fMr4d7zLzsAXo28PRRQPXR1o2Wmu+6z+VY1UzDp0iFo13Twj8WePakwXBiqn3E1aAlTpSNzCXdnnQXFhst8h8Q== + dependencies: + "@hapi/boom" "9.x.x" + "@hapi/hoek" "9.x.x" + +"@hapi/boom@9.x.x": + version "9.1.1" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.1.tgz#89e6f0e01637c2a4228da0d113e8157c93677b04" + integrity sha512-VNR8eDbBrOxBgbkddRYIe7+8DZ+vSbV6qlmaN2x7eWjsUjy2VmQgChkOKcVZIeupEZYj+I0dqNg430OhwzagjA== + dependencies: + "@hapi/hoek" "9.x.x" + +"@hapi/hoek@9.x.x": + version "9.1.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.1.1.tgz#9daf5745156fd84b8e9889a2dc721f0c58e894aa" + integrity sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw== + +"@next/env@10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@next/env/-/env-10.0.7.tgz#7b3e87a9029ca37491e2ec25c27593f0906725f9" + integrity sha512-/vnz2SL/mk3Tei58WfRtVnvz5xHmAqcBmZL5sTBEy1CZG6OtZGNx0qAFCjtVkeJ5m1Bh4Ut+WFh/RF333wx8Sg== + +"@next/polyfill-module@10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.0.7.tgz#ec45ec1f28f47beed15ed67dffc907edd7143094" + integrity sha512-HxqzRpoSgmZP0kRIWwH+e0SgtAXqJ0VkYtwWcsQFED8+xF4Eqn+7Twyp4uE6hutC8gr8IFSFqH+DEYhRtg1ltQ== + +"@next/react-dev-overlay@10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.0.7.tgz#5fe777011cab75ec09ad539ee61bb95ab5a2bdeb" + integrity sha512-yq71MDHVqN2N+IqOvZDiFsMpQrBcymrdpTx1ShhAADX7cWQvW4dhcIir4BbfrS10vS1LLz/3a8uKZkGdNoJj3w== + dependencies: + "@babel/code-frame" "7.12.11" + anser "1.4.9" + chalk "4.0.0" + classnames "2.2.6" + css.escape "1.5.1" + data-uri-to-buffer "3.0.1" + platform "1.3.6" + shell-quote "1.7.2" + source-map "0.8.0-beta.0" + stacktrace-parser "0.1.10" + strip-ansi "6.0.0" + +"@next/react-refresh-utils@10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.0.7.tgz#866ce30fe2f321e011255e81ed5d55eeda05894b" + integrity sha512-d/71vtQglv6m7sh4W1O9drc2hYti7UnAdEXfBLZAS354g2S80lvCRGIhbDrMx4w0rpShoxBIZboE2++LihAESg== + +"@opentelemetry/api@0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" + integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ== + dependencies: + "@opentelemetry/context-base" "^0.14.0" + +"@opentelemetry/context-base@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" + integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== + +anser@1.4.9: + version "1.4.9" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" + integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +array-flatten@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" + integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA== + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +ast-types@0.13.2: + version "0.13.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" + integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== + +babel-plugin-syntax-jsx@6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@4.16.1: + version "4.16.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" + integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== + dependencies: + caniuse-lite "^1.0.30001173" + colorette "^1.2.1" + electron-to-chromium "^1.3.634" + escalade "^3.1.1" + node-releases "^1.1.69" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001179: + version "1.0.30001189" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001189.tgz#f8547299b9db78d3882b0dea1cae891fed1651e8" + integrity sha512-BSfxClP/UWCD0RX1h1L+vLDexNSJY7SfOtbJtW10bcnatfj3BcoietUFYNwWreOCk+SNvGUaNapGqUNPiGAiSA== + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +classnames@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +convert-source-map@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +crypto-browserify@3.12.0, crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css.escape@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + +cssnano-preset-simple@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.2.tgz#c631bf79ffec7fdfc4069e2f2da3ca67d99d8413" + integrity sha512-gtvrcRSGtP3hA/wS8mFVinFnQdEsEpm3v4I/s/KmNjpdWaThV/4E5EojAzFXxyT5OCSRPLlHR9iQexAqKHlhGQ== + dependencies: + caniuse-lite "^1.0.30001179" + postcss "^7.0.32" + +cssnano-simple@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.2.tgz#72c2c3970e67123c3b4130894a30dc1050267007" + integrity sha512-4slyYc1w4JhSbhVX5xi9G0aQ42JnRyPg+7l7cqoNyoIDzfWx40Rq3JQZnoAWDu60A4AvKVp9ln/YSUOdhDX68g== + dependencies: + cssnano-preset-simple "1.2.2" + postcss "^7.0.32" + +data-uri-to-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +electron-to-chromium@^1.3.634: + version "1.3.670" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.670.tgz#b1560b9ab212ff77fc8197002e735b72882c31be" + integrity sha512-iiHQa72+3wbkPR0O8InsNbRwKcV6gBEKiUqPaJ4+TOwQkJQY4ku1sBNC+0ZSfANQ0nqr0SyRO3/Qr6S7Lct/IA== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +events@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +graceful-fs@^4.1.2: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +http-errors@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +jest-worker@24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +line-column@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" + integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= + dependencies: + isarray "^1.0.0" + isobject "^2.0.0" + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.17.13: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimist@^1.2.0, minimist@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +nanoid@^3.1.16: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + +native-url@0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.4.tgz#29c943172aed86c63cee62c8c04db7f5756661f8" + integrity sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA== + dependencies: + querystring "^0.2.0" + +next@10.0.7: + version "10.0.7" + resolved "https://registry.yarnpkg.com/next/-/next-10.0.7.tgz#442f8e1da7454de33b0bbcc1ce5684b923597ee6" + integrity sha512-We0utmwwfkvO12eLyUZd3tX9VLDE3FPpOaHpH3kqKdUTxJzUKt8FLBXCTm0mwsTKW5XColWG8mJvz2OLu3+3QA== + dependencies: + "@babel/runtime" "7.12.5" + "@hapi/accept" "5.0.1" + "@next/env" "10.0.7" + "@next/polyfill-module" "10.0.7" + "@next/react-dev-overlay" "10.0.7" + "@next/react-refresh-utils" "10.0.7" + "@opentelemetry/api" "0.14.0" + ast-types "0.13.2" + browserslist "4.16.1" + buffer "5.6.0" + caniuse-lite "^1.0.30001179" + chalk "2.4.2" + chokidar "3.5.1" + crypto-browserify "3.12.0" + cssnano-simple "1.2.2" + etag "1.8.1" + find-cache-dir "3.3.1" + jest-worker "24.9.0" + native-url "0.3.4" + node-fetch "2.6.1" + node-html-parser "1.4.9" + node-libs-browser "^2.2.1" + p-limit "3.1.0" + path-browserify "1.0.1" + pnp-webpack-plugin "1.6.4" + postcss "8.1.7" + process "0.11.10" + prop-types "15.7.2" + raw-body "2.4.1" + react-is "16.13.1" + react-refresh "0.8.3" + stream-browserify "3.0.0" + styled-jsx "3.3.2" + use-subscription "1.5.1" + vm-browserify "1.1.2" + watchpack "2.0.0-beta.13" + optionalDependencies: + sharp "0.26.3" + +node-abi@^2.7.0: + version "2.19.3" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" + integrity sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg== + dependencies: + semver "^5.4.1" + +node-addon-api@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239" + integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-html-parser@1.4.9: + version "1.4.9" + resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" + integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== + dependencies: + he "1.2.0" + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.69: + version "1.1.70" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" + integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== + +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npmlog@^4.0.1, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +p-limit@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-browserify@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +platform@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== + +pnp-webpack-plugin@1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + +postcss@8.1.7: + version "8.1.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.7.tgz#ff6a82691bd861f3354fd9b17b2332f88171233f" + integrity sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ== + dependencies: + colorette "^1.2.1" + line-column "^1.0.2" + nanoid "^3.1.16" + source-map "^0.6.1" + +postcss@^7.0.32: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prebuild-install@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.1.tgz#5902172f7a40eb67305b96c2a695db32636ee26d" + integrity sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@0.11.10, process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +prop-types@15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +raw-body@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-dom@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" + integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.1" + +react-is@16.13.1, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-refresh@0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== + +react@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" + integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.3, readable-stream@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scheduler@^0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" + integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +semver@^5.4.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.2: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sharp@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.26.3.tgz#9de8577a986b22538e6e12ced1f7e8a53f9728de" + integrity sha512-NdEJ9S6AMr8Px0zgtFo1TJjMK/ROMU92MkDtYn2BBrDjIx3YfH9TUyGdzPC+I/L619GeYQc690Vbaxc5FPCCWg== + dependencies: + array-flatten "^3.0.0" + color "^3.1.3" + detect-libc "^1.0.3" + node-addon-api "^3.0.2" + npmlog "^4.1.2" + prebuild-install "^6.0.0" + semver "^7.3.2" + simple-get "^4.0.0" + tar-fs "^2.1.1" + tunnel-agent "^0.6.0" + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +signal-exit@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-get@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.0.tgz#73fa628278d21de83dadd5512d2cc1f4872bd675" + integrity sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +source-map@0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +source-map@0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +stacktrace-parser@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + +"statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +string-hash@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +styled-jsx@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-3.3.2.tgz#2474601a26670a6049fb4d3f94bd91695b3ce018" + integrity sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g== + dependencies: + "@babel/types" "7.8.3" + babel-plugin-syntax-jsx "6.18.0" + convert-source-map "1.7.0" + loader-utils "1.2.3" + source-map "0.7.3" + string-hash "1.1.3" + stylis "3.5.4" + stylis-rule-sheet "0.0.10" + +stylis-rule-sheet@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" + integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== + +stylis@3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" + integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +tar-fs@^2.0.0, tar-fs@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use-subscription@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== + dependencies: + object-assign "^4.1.1" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +vm-browserify@1.1.2, vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +watchpack@2.0.0-beta.13: + version "2.0.0-beta.13" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.0-beta.13.tgz#9d9b0c094b8402139333e04eb6194643c8384f55" + integrity sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==