{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _defineProperty = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/define-property\"));\n\n(0, _defineProperty[\"default\"])(exports, \"__esModule\", {\n  value: true\n}); // 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 getRouteRegex(normalizedRoute) {\n  // Escape all characters that could be considered RegEx\n  var escapedRoute = escapeRegex(normalizedRoute.replace(/\\/$/, '') || '/');\n  var groups = {};\n  var groupIndex = 1;\n  var parameterizedRoute = escapedRoute.replace(/\\/\\\\\\[([^/]+?)\\\\\\](?=\\/|$)/g, function (_, $1) {\n    var isCatchAll = /^(\\\\\\.){3}/.test($1);\n    groups[$1 // Un-escape key\n    .replace(/\\\\([|\\\\{}()[\\]^$+*?.-])/g, '$1').replace(/^\\.{3}/, '') // eslint-disable-next-line no-sequences\n    ] = {\n      pos: groupIndex++,\n      repeat: isCatchAll\n    };\n    return isCatchAll ? '/(.+?)' : '/([^/]+?)';\n  });\n  var namedParameterizedRoute; // dead code eliminate for browser since it's only needed\n  // while generating routes-manifest\n\n  if (false) {\n    namedParameterizedRoute = escapedRoute.replace(/\\/\\\\\\[([^/]+?)\\\\\\](?=\\/|$)/g, function (_, $1) {\n      var isCatchAll = /^(\\\\\\.){3}/.test($1);\n      var key = $1 // Un-escape key\n      .replace(/\\\\([|\\\\{}()[\\]^$+*?.-])/g, '$1').replace(/^\\.{3}/, '');\n      return isCatchAll ? \"/(?<\".concat(escapeRegex(key), \">.+?)\") : \"/(?<\".concat(escapeRegex(key), \">[^/]+?)\");\n    });\n  }\n\n  return (0, _assign[\"default\"])({\n    re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),\n    groups: groups\n  }, namedParameterizedRoute ? {\n    namedRegex: \"^\".concat(namedParameterizedRoute, \"(?:/)?$\")\n  } : {});\n}\n\nexports.getRouteRegex = getRouteRegex;","map":{"version":3,"sources":["/Users/captainsafia/github.com/nteract/commuter/node_modules/next/dist/next-server/lib/router/utils/route-regex.js"],"names":["exports","value","escapeRegex","str","replace","getRouteRegex","normalizedRoute","escapedRoute","groups","groupIndex","parameterizedRoute","_","$1","isCatchAll","test","pos","repeat","namedParameterizedRoute","key","re","RegExp","namedRegex"],"mappings":"AAAA;;;;;;;;AACA,gCAAsBA,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C,E,CACA;AACA;;AACA,SAASC,WAAT,CAAqBC,GAArB,EAA0B;AACtB,SAAOA,GAAG,CAACC,OAAJ,CAAY,sBAAZ,EAAoC,MAApC,CAAP;AACH;;AACD,SAASC,aAAT,CAAuBC,eAAvB,EAAwC;AACpC;AACA,MAAMC,YAAY,GAAGL,WAAW,CAACI,eAAe,CAACF,OAAhB,CAAwB,KAAxB,EAA+B,EAA/B,KAAsC,GAAvC,CAAhC;AACA,MAAMI,MAAM,GAAG,EAAf;AACA,MAAIC,UAAU,GAAG,CAAjB;AACA,MAAMC,kBAAkB,GAAGH,YAAY,CAACH,OAAb,CAAqB,6BAArB,EAAoD,UAACO,CAAD,EAAIC,EAAJ,EAAW;AACtF,QAAMC,UAAU,GAAG,aAAaC,IAAb,CAAkBF,EAAlB,CAAnB;AACAJ,IAAAA,MAAM,CAACI,EAAE,CACL;AADK,KAEJR,OAFE,CAEM,0BAFN,EAEkC,IAFlC,EAGFA,OAHE,CAGM,QAHN,EAGgB,EAHhB,CAAD,CAIN;AAJM,KAAN,GAKI;AAAEW,MAAAA,GAAG,EAAEN,UAAU,EAAjB;AAAqBO,MAAAA,MAAM,EAAEH;AAA7B,KALJ;AAMA,WAAOA,UAAU,GAAG,QAAH,GAAc,WAA/B;AACH,GAT0B,CAA3B;AAUA,MAAII,uBAAJ,CAfoC,CAgBpC;AACA;;AACA,aAAmC;AAC/BA,IAAAA,uBAAuB,GAAGV,YAAY,CAACH,OAAb,CAAqB,6BAArB,EAAoD,UAACO,CAAD,EAAIC,EAAJ,EAAW;AACrF,UAAMC,UAAU,GAAG,aAAaC,IAAb,CAAkBF,EAAlB,CAAnB;AACA,UAAMM,GAAG,GAAGN,EAAE,CACV;AADU,OAETR,OAFO,CAEC,0BAFD,EAE6B,IAF7B,EAGPA,OAHO,CAGC,QAHD,EAGW,EAHX,CAAZ;AAIA,aAAOS,UAAU,iBACJX,WAAW,CAACgB,GAAD,CADP,2BAEJhB,WAAW,CAACgB,GAAD,CAFP,aAAjB;AAGH,KATyB,CAA1B;AAUH;;AACD,SAAO,wBAAc;AAAEC,IAAAA,EAAE,EAAE,IAAIC,MAAJ,CAAW,MAAMV,kBAAN,GAA2B,SAAtC,EAAiD,GAAjD,CAAN;AAA6DF,IAAAA,MAAM,EAANA;AAA7D,GAAd,EAAsFS,uBAAuB,GAC9G;AACEI,IAAAA,UAAU,aAAMJ,uBAAN;AADZ,GAD8G,GAI9G,EAJC,CAAP;AAKH;;AACDjB,OAAO,CAACK,aAAR,GAAwBA,aAAxB","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// this isn't importing the escape-string-regex module\n// to reduce bytes\nfunction escapeRegex(str) {\n    return str.replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&');\n}\nfunction getRouteRegex(normalizedRoute) {\n    // Escape all characters that could be considered RegEx\n    const escapedRoute = escapeRegex(normalizedRoute.replace(/\\/$/, '') || '/');\n    const groups = {};\n    let groupIndex = 1;\n    const parameterizedRoute = escapedRoute.replace(/\\/\\\\\\[([^/]+?)\\\\\\](?=\\/|$)/g, (_, $1) => {\n        const isCatchAll = /^(\\\\\\.){3}/.test($1);\n        groups[$1\n            // Un-escape key\n            .replace(/\\\\([|\\\\{}()[\\]^$+*?.-])/g, '$1')\n            .replace(/^\\.{3}/, '')\n        // eslint-disable-next-line no-sequences\n        ] = { pos: groupIndex++, repeat: isCatchAll };\n        return isCatchAll ? '/(.+?)' : '/([^/]+?)';\n    });\n    let namedParameterizedRoute;\n    // dead code eliminate for browser since it's only needed\n    // while generating routes-manifest\n    if (typeof window === 'undefined') {\n        namedParameterizedRoute = escapedRoute.replace(/\\/\\\\\\[([^/]+?)\\\\\\](?=\\/|$)/g, (_, $1) => {\n            const isCatchAll = /^(\\\\\\.){3}/.test($1);\n            const key = $1\n                // Un-escape key\n                .replace(/\\\\([|\\\\{}()[\\]^$+*?.-])/g, '$1')\n                .replace(/^\\.{3}/, '');\n            return isCatchAll\n                ? `/(?<${escapeRegex(key)}>.+?)`\n                : `/(?<${escapeRegex(key)}>[^/]+?)`;\n        });\n    }\n    return Object.assign({ re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'), groups }, (namedParameterizedRoute\n        ? {\n            namedRegex: `^${namedParameterizedRoute}(?:/)?$`,\n        }\n        : {}));\n}\nexports.getRouteRegex = getRouteRegex;\n"]},"metadata":{},"sourceType":"script"}