{"version":3,"sources":["webpack:///./src/components/ErrorDecoder/index.js","webpack:///./src/pages/docs/error-decoder.html.js","webpack:///./src/components/ErrorDecoder/ErrorDecoder.js"],"names":["ErrorDecoder","pageQuery","ErrorPage","data","location","direction","grow","shrink","halign","css","width","flex","position","zIndex","sharedStyles","articleLayout","container","type","minHeight","path","markdownRemark","fields","title","frontmatter","content","markdown","dangerouslySetInnerHTML","__html","html","marginTop","display","padding","borderRadius","backgroundColor","hex2rgba","colors","error","color","errorCodesString","errorCodesJson","internal","contentDigest","sidebar","createLink","createLinkDocs","defaultActiveSection","findSectionForPath","pathname","sectionListDocs","sectionList","ErrorResult","props","code","errorMsg","msg","split","map","message","i","key","target","rel","href","errorCodes","JSON","parse","parseResult","search","rawQueryString","substring","args","queries","length","query","decodeURIComponent","indexOf","slice","push","parseQueryString","argList","argIdx","replace","arg","undefined","replaceArgs"],"mappings":"2FAAA,gBAQeA,MAAf,G,kCCRA,sOAwGaC,EAAS,aAmBPC,UAhGG,SAAC,GAAD,IAAEC,EAAF,EAAEA,KAAMC,EAAR,EAAQA,SAAR,OAChB,gBAAC,IAAD,CAAQA,SAAUA,GAChB,gBAAC,IAAD,CACEC,UAAU,SACVC,KAAK,IACLC,OAAO,IACPC,OAAO,UACPC,IAAK,CACHC,MAAO,OACPC,KAAM,WACNC,SAAU,WACVC,OAAQ,IAEV,gBAAC,IAAD,KACE,uBAAKJ,IAAKK,IAAaC,cAAcC,WACnC,gBAAC,IAAD,CACEC,KAAK,UACLZ,UAAU,SACVC,KAAK,IACLE,OAAO,UACPC,IAAK,CACHS,UAAW,uBAEb,gBAAC,IAAD,CACEC,KAAMhB,EAAKiB,eAAeC,OAAOF,KACjCG,MAAOnB,EAAKiB,eAAeG,YAAYD,QAEzC,gBAAC,IAAD,CACEA,MAAK,WAAanB,EAAKiB,eAAeG,YAAYD,QAGpD,uBAAKb,IAAKK,IAAaC,cAAcS,SACnC,uBACEf,IAAKK,IAAaW,SAClBC,wBAAyB,CAACC,OAAQxB,EAAKiB,eAAeQ,QAExD,uBACEnB,IAAK,CACHK,IAAaW,SACb,CACEI,UAAW,GACX,SAAU,CACRC,QAAS,QACTD,UAAW,GACXE,QAAS,OACTC,aAAc,SACdC,gBAAiBC,IAASC,IAAOC,MAAO,IACxCC,MAAOF,IAAOC,UAIpB,gBAAC,IAAD,CACEE,iBAAkBnC,EAAKoC,eAAeC,SAASC,cAC/CrC,SAAUA,OAMlB,uBAAKK,IAAKK,IAAaC,cAAc2B,SACnC,gBAAC,IAAD,CACEC,WAAYC,IACZC,qBAAsBC,YACpB1C,EAAS2C,SACTC,KAEF5C,SAAUA,EACV6C,YAAaD,IACb1B,MAAOnB,EAAKiB,eAAeG,YAAYD,e,6GC/BrD,SAAS4B,EAAYC,GACnB,IAAMC,EAAOD,EAAMC,KACbC,EAAWF,EAAMG,IAEvB,OAAKF,EAUH,2BACE,yBACE,iFAEF,4BACE,yBAAWC,EA3DIE,MAFJ,iCAIDC,KAAI,SAACC,EAASC,GAC5B,OAAIA,EAAI,GAAM,EAEV,qBAAGC,IAAKD,EAAGE,OAAO,SAASC,IAAI,WAAWC,KAAML,GAC7CA,GAIAA,QAoCL,4JAoCSzD,IAjBf,SAAsBmD,GAIpB,IAAIC,EAAO,KACPE,EAAM,GAEJS,EAAaC,KAAKC,MAAMd,EAAMb,kBAC9B4B,EAzDR,SACEC,GAEA,IAAMC,EAAiBD,EAAOE,UAAU,GACxC,IAAKD,EACH,OAAO,KAOT,IAJA,IAAIhB,EAAO,GACPkB,EAAO,GAELC,EAAUH,EAAeb,MAAM,KAC5BG,EAAI,EAAGA,EAAIa,EAAQC,OAAQd,IAAK,CACvC,IAAMe,EAAQC,mBAAmBH,EAAQb,IACL,IAAhCe,EAAME,QAAQ,cAChBvB,EAAOqB,EAAMG,MAAM,IACiB,IAA3BH,EAAME,QAAQ,UACvBL,EAAKO,KAAKJ,EAAMG,MAAMH,EAAME,QAAQ,MAAQ,IAIhD,MAAO,CAACL,OAAMlB,QAoCM0B,CAAiB3B,EAAM/C,SAAS+D,QAAU,IAM9D,OALmB,MAAfD,IAEFZ,EAzFJ,SAAqBA,EAAayB,GAChC,IAAIC,EAAS,EACb,OAAO1B,EAAI2B,QAAQ,OAAO,WACxB,IAAMC,EAAMH,EAAQC,KACpB,YAAeG,IAARD,EAAoB,qBAAuBA,KAqF5CE,CAAYrB,EADlBX,EAAOc,EAAYd,MACiBc,EAAYI,OAG3C,gBAACpB,EAAD,CAAaE,KAAMA,EAAME,IAAKA,O","file":"component---src-pages-docs-error-decoder-html-js-06abc2ee5991ef924a51.js","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport ErrorDecoder from './ErrorDecoder';\n\nexport default ErrorDecoder;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport Container from 'components/Container';\nimport ErrorDecoder from 'components/ErrorDecoder';\nimport Flex from 'components/Flex';\nimport hex2rgba from 'hex2rgba';\nimport MarkdownHeader from 'components/MarkdownHeader';\nimport React from 'react';\nimport {graphql} from 'gatsby';\nimport Layout from 'components/Layout';\nimport StickyResponsiveSidebar from 'components/StickyResponsiveSidebar';\nimport TitleAndMetaTags from 'components/TitleAndMetaTags';\nimport {colors, sharedStyles} from 'theme';\nimport {createLinkDocs} from 'utils/createLink';\nimport findSectionForPath from 'utils/findSectionForPath';\nimport {sectionListDocs} from 'utils/sectionList';\n\ntype Props = {\n data: Object,\n location: Location,\n};\n\nconst ErrorPage = ({data, location}: Props) => (\n \n \n \n
\n \n \n \n\n
\n \n \n \n
\n
\n \n\n
\n \n
\n \n
\n \n
\n);\n\nexport const pageQuery = graphql`\n query ErrorPageMarkdown($slug: String!) {\n markdownRemark(fields: {slug: {eq: $slug}}) {\n html\n fields {\n path\n }\n frontmatter {\n title\n }\n }\n errorCodesJson {\n internal {\n contentDigest\n }\n }\n }\n`;\n\nexport default ErrorPage;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport React from 'react';\n\nimport type {Node} from 'react';\n\nfunction replaceArgs(msg: string, argList: Array): string {\n let argIdx = 0;\n return msg.replace(/%s/g, function() {\n const arg = argList[argIdx++];\n return arg === undefined ? '[missing argument]' : arg;\n });\n}\n\n// When the message contains a URL (like https://fb.me/react-refs-must-have-owner),\n// make it a clickable link.\nfunction urlify(str: string): Node {\n const urlRegex = /(https:\\/\\/fb\\.me\\/[a-z\\-]+)/g;\n\n const segments = str.split(urlRegex);\n\n return segments.map((message, i) => {\n if (i % 2 === 1) {\n return (\n \n {message}\n \n );\n }\n return message;\n });\n}\n\n// `?invariant=123&args[]=foo&args[]=bar`\n// or `// ?invariant=123&args[0]=foo&args[1]=bar`\nfunction parseQueryString(\n search: string,\n): ?{|code: string, args: Array|} {\n const rawQueryString = search.substring(1);\n if (!rawQueryString) {\n return null;\n }\n\n let code = '';\n let args = [];\n\n const queries = rawQueryString.split('&');\n for (let i = 0; i < queries.length; i++) {\n const query = decodeURIComponent(queries[i]);\n if (query.indexOf('invariant=') === 0) {\n code = query.slice(10);\n } else if (query.indexOf('args[') === 0) {\n args.push(query.slice(query.indexOf(']=') + 2));\n }\n }\n\n return {args, code};\n}\n\nfunction ErrorResult(props: {|code: ?string, msg: string|}) {\n const code = props.code;\n const errorMsg = props.msg;\n\n if (!code) {\n return (\n

\n When you encounter an error, you'll receive a link to this page for that\n specific error and we'll show you the full error text.\n

\n );\n }\n\n return (\n
\n

\n The full text of the error you just encountered is:\n

\n \n {urlify(errorMsg)}\n \n
\n );\n}\n\nfunction ErrorDecoder(props: {|\n errorCodesString: string,\n location: {search: string},\n|}) {\n let code = null;\n let msg = '';\n\n const errorCodes = JSON.parse(props.errorCodesString);\n const parseResult = parseQueryString(props.location.search || '');\n if (parseResult != null) {\n code = parseResult.code;\n msg = replaceArgs(errorCodes[code], parseResult.args);\n }\n\n return ;\n}\n\nexport default ErrorDecoder;\n"],"sourceRoot":""}