comics
Version:
1 lines • 5.82 kB
JSON
{"ast":null,"code":"var _jsxFileName = \"/Users/morse/Documents/GitHub/react-comics/demo/pages/comics/[...comic].tsx\";\nimport React from \"react\";\nvar __jsx = React.createElement;\nimport { getComics } from '../../components/Comics';\nimport { useRouter } from 'next/router';\nimport { Stack, Box } from '@chakra-ui/core';\nexport default function Page(props) {\n const comics = getComics();\n const {\n query\n } = useRouter();\n const {\n comic\n } = query;\n\n if (!comic) {\n return null;\n }\n\n console.log({\n comic\n });\n const exported = comics.exports.map(x => {\n console.log(x);\n return x;\n }).find(x => {\n const path = normalizePath(x.filename);\n console.log(x.getExports());\n const queryPath = normalizePath(Array.isArray(comic) ? comic.join('/') : comic);\n console.log({\n path,\n queryPath\n });\n return path === queryPath;\n }).getExports();\n console.log(exported);\n return __jsx(Stack, {\n spacing: \"10\",\n p: \"20\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }\n }, Object.keys(exported).map((k, i) => {\n const Component = exported[k];\n const title = k; // TODO replace camel case with spaces\n\n return __jsx(Stack, {\n p: \"20\",\n borderWidth: \"1px\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 21\n }\n }, __jsx(Box, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 25\n }\n }, title), __jsx(Component, {\n key: k + String(i),\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 25\n }\n }));\n }));\n}\n\nfunction normalizePath(path) {\n return path.split('/').map(x => x.trim()).filter(x => x !== '.').filter(Boolean).join('/');\n}","map":{"version":3,"sources":["/Users/morse/Documents/GitHub/react-comics/demo/pages/comics/[...comic].tsx"],"names":["getComics","useRouter","Stack","Box","Page","props","comics","query","comic","console","log","exported","exports","map","x","find","path","normalizePath","filename","getExports","queryPath","Array","isArray","join","Object","keys","k","i","Component","title","String","split","trim","filter","Boolean"],"mappings":";;;AAAA,SAASA,SAAT,QAA0B,yBAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,KAAT,EAAgBC,GAAhB,QAA2B,iBAA3B;AAEA,eAAe,SAASC,IAAT,CAAcC,KAAd,EAAqB;AAChC,QAAMC,MAAM,GAAGN,SAAS,EAAxB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAYN,SAAS,EAA3B;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAYD,KAAlB;;AACA,MAAI,CAACC,KAAL,EAAY;AACR,WAAO,IAAP;AACH;;AACDC,EAAAA,OAAO,CAACC,GAAR,CAAY;AAAEF,IAAAA;AAAF,GAAZ;AACA,QAAMG,QAAQ,GAAGL,MAAM,CAACM,OAAP,CACZC,GADY,CACPC,CAAD,IAAO;AACRL,IAAAA,OAAO,CAACC,GAAR,CAAYI,CAAZ;AACA,WAAOA,CAAP;AACH,GAJY,EAKZC,IALY,CAKND,CAAD,IAAO;AACT,UAAME,IAAI,GAAGC,aAAa,CAACH,CAAC,CAACI,QAAH,CAA1B;AACAT,IAAAA,OAAO,CAACC,GAAR,CAAYI,CAAC,CAACK,UAAF,EAAZ;AACA,UAAMC,SAAS,GAAGH,aAAa,CAC3BI,KAAK,CAACC,OAAN,CAAcd,KAAd,IAAuBA,KAAK,CAACe,IAAN,CAAW,GAAX,CAAvB,GAAyCf,KADd,CAA/B;AAGAC,IAAAA,OAAO,CAACC,GAAR,CAAY;AACRM,MAAAA,IADQ;AAERI,MAAAA;AAFQ,KAAZ;AAIA,WAAOJ,IAAI,KAAKI,SAAhB;AACH,GAhBY,EAiBZD,UAjBY,EAAjB;AAkBAV,EAAAA,OAAO,CAACC,GAAR,CAAYC,QAAZ;AACA,SACI,MAAC,KAAD;AAAO,IAAA,OAAO,EAAC,IAAf;AAAoB,IAAA,CAAC,EAAC,IAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACKa,MAAM,CAACC,IAAP,CAAYd,QAAZ,EAAsBE,GAAtB,CAA0B,CAACa,CAAD,EAAIC,CAAJ,KAAU;AACjC,UAAMC,SAAS,GAAGjB,QAAQ,CAACe,CAAD,CAA1B;AACA,UAAMG,KAAK,GAAGH,CAAd,CAFiC,CAEjB;;AAChB,WACI,MAAC,KAAD;AAAO,MAAA,CAAC,EAAC,IAAT;AAAc,MAAA,WAAW,EAAC,KAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OACI,MAAC,GAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAMG,KAAN,CADJ,EAEI,MAAC,SAAD;AAAW,MAAA,GAAG,EAAEH,CAAC,GAAGI,MAAM,CAACH,CAAD,CAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAFJ,CADJ;AAMH,GATA,CADL,CADJ;AAcH;;AAED,SAASV,aAAT,CAAuBD,IAAvB,EAA6C;AACzC,SAAOA,IAAI,CACNe,KADE,CACI,GADJ,EAEFlB,GAFE,CAEGC,CAAD,IAAOA,CAAC,CAACkB,IAAF,EAFT,EAGFC,MAHE,CAGMnB,CAAD,IAAOA,CAAC,KAAK,GAHlB,EAIFmB,MAJE,CAIKC,OAJL,EAKFX,IALE,CAKG,GALH,CAAP;AAMH","sourcesContent":["import { getComics } from '../../components/Comics'\nimport { useRouter } from 'next/router'\nimport { Stack, Box } from '@chakra-ui/core'\n\nexport default function Page(props) {\n const comics = getComics()\n const { query } = useRouter()\n const { comic } = query\n if (!comic) {\n return null\n }\n console.log({ comic })\n const exported = comics.exports\n .map((x) => {\n console.log(x)\n return x\n })\n .find((x) => {\n const path = normalizePath(x.filename)\n console.log(x.getExports())\n const queryPath = normalizePath(\n Array.isArray(comic) ? comic.join('/') : comic,\n )\n console.log({\n path,\n queryPath,\n })\n return path === queryPath\n })\n .getExports()\n console.log(exported)\n return (\n <Stack spacing='10' p='20'>\n {Object.keys(exported).map((k, i) => {\n const Component = exported[k]\n const title = k // TODO replace camel case with spaces\n return (\n <Stack p='20' borderWidth='1px'>\n <Box>{title}</Box>\n <Component key={k + String(i)} />\n </Stack>\n )\n })}\n </Stack>\n )\n}\n\nfunction normalizePath(path: string): string {\n return path\n .split('/')\n .map((x) => x.trim())\n .filter((x) => x !== '.')\n .filter(Boolean)\n .join('/')\n}\n"]},"metadata":{},"sourceType":"module"}