forked from emeryberger/CSrankings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnavigo.min.js.map
1 lines (1 loc) · 42.6 KB
/
navigo.min.js.map
1
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///navigo.min.js","webpack:///webpack/bootstrap 19ec9d967d8c45925ef9","webpack:///./src/index.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_toConsumableArray","arr","Array","isArray","i","arr2","length","from","isPushStateAvailable","window","history","pushState","Navigo","r","useHash","hash","_routes","_useHash","_hash","_paused","_destroyed","_lastRouteResolved","_notFoundHandler","_defaultHandler","_usePushState","_onLocationChange","bind","_genericHooks","_historyAPIUpdateMethod","replace","_cLoc","split","_listen","updatePageLinks","clean","s","RegExp","regExpResultToParams","match","names","slice","reduce","params","value","index","decodeURIComponent","replaceDynamicURLParts","route","regexp","paramNames","PARAMETER_REGEXP","full","dots","name","push","REPLACE_VARIABLE_REGEXP","WILDCARD_REGEXP","REPLACE_WILDCARD","FOLLOWED_BY_SLASH_REGEXP","MATCH_REGEXP_FLAGS","getUrlDepth","url","compareUrlDepth","urlA","urlB","findMatchedRoutes","routes","arguments","undefined","map","_replaceDynamicURLPar","filter","matched","fallbackURL","result","isHashChangeAPIAvailable","extractGETParameters","join","getOnlyURL","onlyURL","manageHooks","handler","hooks","_typeof","before","shouldRoute","after","isHashedRoot","Object","defineProperty","Symbol","iterator","obj","constructor","prototype","helpers","navigate","path","absolute","to","_getRoot","resolve","location","href","on","_this","_len","args","_key","func","uses","_add","orderedRoutes","keys","sort","forEach","off","notFound","current","_this2","GETParameters","query","already","_callLeave","destroy","clearTimeout","_listeningInterval","removeEventListener","self","document","_findLinks","link","hasListenerAttached","addEventListener","e","getLinkPath","preventDefault","generate","data","key","toString","pause","status","resume","historyAPIUpdateMethod","disableIfAPINotAvailable","lastRouteResolved","pathname","getAttribute","encodeURI","as","_this3","cached","check","setTimeout","__NAVIGO_WINDOW_LOCATION_MOCK__","querySelectorAll","leave"],"mappings":"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","file":"navigo.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Navigo\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Navigo\"] = factory();\n\telse\n\t\troot[\"Navigo\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Navigo\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Navigo\"] = factory();\n\telse\n\t\troot[\"Navigo\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction isPushStateAvailable() {\n\t return !!(typeof window !== 'undefined' && window.history && window.history.pushState);\n\t}\n\t\n\tfunction Navigo(r, useHash, hash) {\n\t this.root = null;\n\t this._routes = [];\n\t this._useHash = useHash;\n\t this._hash = typeof hash === 'undefined' ? '#' : hash;\n\t this._paused = false;\n\t this._destroyed = false;\n\t this._lastRouteResolved = null;\n\t this._notFoundHandler = null;\n\t this._defaultHandler = null;\n\t this._usePushState = !useHash && isPushStateAvailable();\n\t this._onLocationChange = this._onLocationChange.bind(this);\n\t this._genericHooks = null;\n\t this._historyAPIUpdateMethod = 'pushState';\n\t\n\t if (r) {\n\t this.root = useHash ? r.replace(/\\/$/, '/' + this._hash) : r.replace(/\\/$/, '');\n\t } else if (useHash) {\n\t this.root = this._cLoc().split(this._hash)[0].replace(/\\/$/, '/' + this._hash);\n\t }\n\t\n\t this._listen();\n\t this.updatePageLinks();\n\t}\n\t\n\tfunction clean(s) {\n\t if (s instanceof RegExp) return s;\n\t return s.replace(/\\/+$/, '').replace(/^\\/+/, '^/');\n\t}\n\t\n\tfunction regExpResultToParams(match, names) {\n\t if (names.length === 0) return null;\n\t if (!match) return null;\n\t return match.slice(1, match.length).reduce(function (params, value, index) {\n\t if (params === null) params = {};\n\t params[names[index]] = decodeURIComponent(value);\n\t return params;\n\t }, null);\n\t}\n\t\n\tfunction replaceDynamicURLParts(route) {\n\t var paramNames = [],\n\t regexp;\n\t\n\t if (route instanceof RegExp) {\n\t regexp = route;\n\t } else {\n\t regexp = new RegExp(route.replace(Navigo.PARAMETER_REGEXP, function (full, dots, name) {\n\t paramNames.push(name);\n\t return Navigo.REPLACE_VARIABLE_REGEXP;\n\t }).replace(Navigo.WILDCARD_REGEXP, Navigo.REPLACE_WILDCARD) + Navigo.FOLLOWED_BY_SLASH_REGEXP, Navigo.MATCH_REGEXP_FLAGS);\n\t }\n\t return { regexp: regexp, paramNames: paramNames };\n\t}\n\t\n\tfunction getUrlDepth(url) {\n\t return url.replace(/\\/$/, '').split('/').length;\n\t}\n\t\n\tfunction compareUrlDepth(urlA, urlB) {\n\t return getUrlDepth(urlB) - getUrlDepth(urlA);\n\t}\n\t\n\tfunction findMatchedRoutes(url) {\n\t var routes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t\n\t return routes.map(function (route) {\n\t var _replaceDynamicURLPar = replaceDynamicURLParts(clean(route.route)),\n\t regexp = _replaceDynamicURLPar.regexp,\n\t paramNames = _replaceDynamicURLPar.paramNames;\n\t\n\t var match = url.replace(/^\\/+/, '/').match(regexp);\n\t var params = regExpResultToParams(match, paramNames);\n\t\n\t return match ? { match: match, route: route, params: params } : false;\n\t }).filter(function (m) {\n\t return m;\n\t });\n\t}\n\t\n\tfunction match(url, routes) {\n\t return findMatchedRoutes(url, routes)[0] || false;\n\t}\n\t\n\tfunction root(url, routes) {\n\t var matched = routes.map(function (route) {\n\t return route.route === '' || route.route === '*' ? url : url.split(new RegExp(route.route + '($|\\/)'))[0];\n\t });\n\t var fallbackURL = clean(url);\n\t\n\t if (matched.length > 1) {\n\t return matched.reduce(function (result, url) {\n\t if (result.length > url.length) result = url;\n\t return result;\n\t }, matched[0]);\n\t } else if (matched.length === 1) {\n\t return matched[0];\n\t }\n\t return fallbackURL;\n\t}\n\t\n\tfunction isHashChangeAPIAvailable() {\n\t return !!(typeof window !== 'undefined' && 'onhashchange' in window);\n\t}\n\t\n\tfunction extractGETParameters(url) {\n\t return url.split(/\\?(.*)?$/).slice(1).join('');\n\t}\n\t\n\tfunction getOnlyURL(url, useHash, hash) {\n\t var onlyURL = url.split(/\\?(.*)?$/)[0],\n\t split;\n\t\n\t if (typeof hash === 'undefined') {\n\t // To preserve BC\n\t hash = '#';\n\t }\n\t\n\t if (isPushStateAvailable() && !useHash) {\n\t onlyURL = onlyURL.split(hash)[0];\n\t } else {\n\t split = onlyURL.split(hash);\n\t onlyURL = split.length > 1 ? onlyURL.split(hash)[1] : split[0];\n\t }\n\t\n\t return onlyURL;\n\t}\n\t\n\tfunction manageHooks(handler, hooks, params) {\n\t if (hooks && (typeof hooks === 'undefined' ? 'undefined' : _typeof(hooks)) === 'object') {\n\t if (hooks.before) {\n\t hooks.before(function () {\n\t var shouldRoute = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\t\n\t if (!shouldRoute) return;\n\t handler();\n\t hooks.after && hooks.after(params);\n\t }, params);\n\t } else if (hooks.after) {\n\t handler();\n\t hooks.after && hooks.after(params);\n\t }\n\t return;\n\t }\n\t handler();\n\t};\n\t\n\tfunction isHashedRoot(url, useHash, hash) {\n\t if (isPushStateAvailable() && !useHash) {\n\t return false;\n\t }\n\t\n\t if (!url.match(hash)) {\n\t return false;\n\t }\n\t\n\t var split = url.split(hash);\n\t\n\t if (split.length < 2 || split[1] === '') {\n\t return true;\n\t }\n\t\n\t return false;\n\t};\n\t\n\tNavigo.prototype = {\n\t helpers: {\n\t match: match,\n\t root: root,\n\t clean: clean\n\t },\n\t navigate: function navigate(path, absolute) {\n\t var to;\n\t\n\t path = path || '';\n\t if (this._usePushState) {\n\t to = (!absolute ? this._getRoot() + '/' : '') + path.replace(/^\\/+/, '/');\n\t to = to.replace(/([^:])(\\/{2,})/g, '$1/');\n\t history[this._historyAPIUpdateMethod]({}, '', to);\n\t this.resolve();\n\t } else if (typeof window !== 'undefined') {\n\t path = path.replace(new RegExp('^' + this._hash), '');\n\t window.location.href = window.location.href.replace(/#$/, '').replace(new RegExp(this._hash + '.*$'), '') + this._hash + path;\n\t }\n\t return this;\n\t },\n\t on: function on() {\n\t var _this = this;\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t if (typeof args[0] === 'function') {\n\t this._defaultHandler = { handler: args[0], hooks: args[1] };\n\t } else if (args.length >= 2) {\n\t if (args[0] === '/') {\n\t var func = args[1];\n\t\n\t if (_typeof(args[1]) === 'object') {\n\t func = args[1].uses;\n\t }\n\t\n\t this._defaultHandler = { handler: func, hooks: args[2] };\n\t } else {\n\t this._add(args[0], args[1], args[2]);\n\t }\n\t } else if (_typeof(args[0]) === 'object') {\n\t var orderedRoutes = Object.keys(args[0]).sort(compareUrlDepth);\n\t\n\t orderedRoutes.forEach(function (route) {\n\t _this.on(route, args[0][route]);\n\t });\n\t }\n\t return this;\n\t },\n\t off: function off(handler) {\n\t if (this._defaultHandler !== null && handler === this._defaultHandler.handler) {\n\t this._defaultHandler = null;\n\t } else if (this._notFoundHandler !== null && handler === this._notFoundHandler.handler) {\n\t this._notFoundHandler = null;\n\t }\n\t this._routes = this._routes.reduce(function (result, r) {\n\t if (r.handler !== handler) result.push(r);\n\t return result;\n\t }, []);\n\t return this;\n\t },\n\t notFound: function notFound(handler, hooks) {\n\t this._notFoundHandler = { handler: handler, hooks: hooks };\n\t return this;\n\t },\n\t resolve: function resolve(current) {\n\t var _this2 = this;\n\t\n\t var handler, m;\n\t var url = (current || this._cLoc()).replace(this._getRoot(), '');\n\t\n\t if (this._useHash) {\n\t url = url.replace(new RegExp('^\\/' + this._hash), '/');\n\t }\n\t\n\t var GETParameters = extractGETParameters(current || this._cLoc());\n\t var onlyURL = getOnlyURL(url, this._useHash, this._hash);\n\t\n\t if (this._paused) return false;\n\t\n\t if (this._lastRouteResolved && onlyURL === this._lastRouteResolved.url && GETParameters === this._lastRouteResolved.query) {\n\t if (this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.already) {\n\t this._lastRouteResolved.hooks.already(this._lastRouteResolved.params);\n\t }\n\t return false;\n\t }\n\t\n\t m = match(onlyURL, this._routes);\n\t\n\t if (m) {\n\t this._callLeave();\n\t this._lastRouteResolved = {\n\t url: onlyURL,\n\t query: GETParameters,\n\t hooks: m.route.hooks,\n\t params: m.params,\n\t name: m.route.name\n\t };\n\t handler = m.route.handler;\n\t manageHooks(function () {\n\t manageHooks(function () {\n\t m.route.route instanceof RegExp ? handler.apply(undefined, _toConsumableArray(m.match.slice(1, m.match.length))) : handler(m.params, GETParameters);\n\t }, m.route.hooks, m.params, _this2._genericHooks);\n\t }, this._genericHooks, m.params);\n\t return m;\n\t } else if (this._defaultHandler && (onlyURL === '' || onlyURL === '/' || onlyURL === this._hash || isHashedRoot(onlyURL, this._useHash, this._hash))) {\n\t manageHooks(function () {\n\t manageHooks(function () {\n\t _this2._callLeave();\n\t _this2._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: _this2._defaultHandler.hooks };\n\t _this2._defaultHandler.handler(GETParameters);\n\t }, _this2._defaultHandler.hooks);\n\t }, this._genericHooks);\n\t return true;\n\t } else if (this._notFoundHandler) {\n\t manageHooks(function () {\n\t manageHooks(function () {\n\t _this2._callLeave();\n\t _this2._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: _this2._notFoundHandler.hooks };\n\t _this2._notFoundHandler.handler(GETParameters);\n\t }, _this2._notFoundHandler.hooks);\n\t }, this._genericHooks);\n\t }\n\t return false;\n\t },\n\t destroy: function destroy() {\n\t this._routes = [];\n\t this._destroyed = true;\n\t clearTimeout(this._listeningInterval);\n\t if (typeof window !== 'undefined') {\n\t window.removeEventListener('popstate', this._onLocationChange);\n\t window.removeEventListener('hashchange', this._onLocationChange);\n\t }\n\t },\n\t updatePageLinks: function updatePageLinks() {\n\t var self = this;\n\t\n\t if (typeof document === 'undefined') return;\n\t\n\t this._findLinks().forEach(function (link) {\n\t if (!link.hasListenerAttached) {\n\t link.addEventListener('click', function (e) {\n\t var location = self.getLinkPath(link);\n\t\n\t if (!self._destroyed) {\n\t e.preventDefault();\n\t self.navigate(location.replace(/\\/+$/, '').replace(/^\\/+/, '/'));\n\t }\n\t });\n\t link.hasListenerAttached = true;\n\t }\n\t });\n\t },\n\t generate: function generate(name) {\n\t var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t var result = this._routes.reduce(function (result, route) {\n\t var key;\n\t\n\t if (route.name === name) {\n\t result = route.route;\n\t for (key in data) {\n\t result = result.toString().replace(':' + key, data[key]);\n\t }\n\t }\n\t return result;\n\t }, '');\n\t\n\t return this._useHash ? this._hash + result : result;\n\t },\n\t link: function link(path) {\n\t return this._getRoot() + path;\n\t },\n\t pause: function pause() {\n\t var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\t\n\t this._paused = status;\n\t if (status) {\n\t this._historyAPIUpdateMethod = 'replaceState';\n\t } else {\n\t this._historyAPIUpdateMethod = 'pushState';\n\t }\n\t },\n\t resume: function resume() {\n\t this.pause(false);\n\t },\n\t historyAPIUpdateMethod: function historyAPIUpdateMethod(value) {\n\t if (typeof value === 'undefined') return this._historyAPIUpdateMethod;\n\t this._historyAPIUpdateMethod = value;\n\t return value;\n\t },\n\t disableIfAPINotAvailable: function disableIfAPINotAvailable() {\n\t if (!isPushStateAvailable()) {\n\t this.destroy();\n\t }\n\t },\n\t lastRouteResolved: function lastRouteResolved() {\n\t return this._lastRouteResolved;\n\t },\n\t getLinkPath: function getLinkPath(link) {\n\t return link.pathname || link.getAttribute('href');\n\t },\n\t hooks: function hooks(_hooks) {\n\t this._genericHooks = _hooks;\n\t },\n\t\n\t _add: function _add(route) {\n\t var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\t var hooks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\t\n\t if (typeof route === 'string') {\n\t route = encodeURI(route);\n\t }\n\t if ((typeof handler === 'undefined' ? 'undefined' : _typeof(handler)) === 'object') {\n\t this._routes.push({\n\t route: route,\n\t handler: handler.uses,\n\t name: handler.as,\n\t hooks: hooks || handler.hooks\n\t });\n\t } else {\n\t this._routes.push({ route: route, handler: handler, hooks: hooks });\n\t }\n\t return this._add;\n\t },\n\t _getRoot: function _getRoot() {\n\t if (this.root !== null) return this.root;\n\t this.root = root(this._cLoc().split('?')[0], this._routes);\n\t return this.root;\n\t },\n\t _listen: function _listen() {\n\t var _this3 = this;\n\t\n\t if (this._usePushState) {\n\t window.addEventListener('popstate', this._onLocationChange);\n\t } else if (isHashChangeAPIAvailable()) {\n\t window.addEventListener('hashchange', this._onLocationChange);\n\t } else {\n\t var cached = this._cLoc(),\n\t current = void 0,\n\t _check = void 0;\n\t\n\t _check = function check() {\n\t current = _this3._cLoc();\n\t if (cached !== current) {\n\t cached = current;\n\t _this3.resolve();\n\t }\n\t _this3._listeningInterval = setTimeout(_check, 200);\n\t };\n\t _check();\n\t }\n\t },\n\t _cLoc: function _cLoc() {\n\t if (typeof window !== 'undefined') {\n\t if (typeof window.__NAVIGO_WINDOW_LOCATION_MOCK__ !== 'undefined') {\n\t return window.__NAVIGO_WINDOW_LOCATION_MOCK__;\n\t }\n\t return clean(window.location.href);\n\t }\n\t return '';\n\t },\n\t _findLinks: function _findLinks() {\n\t return [].slice.call(document.querySelectorAll('[data-navigo]'));\n\t },\n\t _onLocationChange: function _onLocationChange() {\n\t this.resolve();\n\t },\n\t _callLeave: function _callLeave() {\n\t if (this._lastRouteResolved && this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.leave) {\n\t this._lastRouteResolved.hooks.leave();\n\t }\n\t }\n\t};\n\t\n\tNavigo.PARAMETER_REGEXP = /([:*])(\\w+)/g;\n\tNavigo.WILDCARD_REGEXP = /\\*/g;\n\tNavigo.REPLACE_VARIABLE_REGEXP = '([^\\/]+)';\n\tNavigo.REPLACE_WILDCARD = '(?:.*)';\n\tNavigo.FOLLOWED_BY_SLASH_REGEXP = '(?:\\/$|$)';\n\tNavigo.MATCH_REGEXP_FLAGS = '';\n\t\n\texports.default = Navigo;\n\tmodule.exports = exports['default'];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** navigo.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 19ec9d967d8c45925ef9\n **/","function isPushStateAvailable() {\n return !!(\n typeof window !== 'undefined' &&\n window.history &&\n window.history.pushState\n );\n}\n\nfunction Navigo(r, useHash, hash) {\n this.root = null;\n this._routes = [];\n this._useHash = useHash;\n this._hash = typeof hash === 'undefined' ? '#' : hash;\n this._paused = false;\n this._destroyed = false;\n this._lastRouteResolved = null;\n this._notFoundHandler = null;\n this._defaultHandler = null;\n this._usePushState = !useHash && isPushStateAvailable();\n this._onLocationChange = this._onLocationChange.bind(this);\n this._genericHooks = null;\n this._historyAPIUpdateMethod = 'pushState';\n\n if (r) {\n this.root = useHash ? r.replace(/\\/$/, '/' + this._hash) : r.replace(/\\/$/, '');\n } else if (useHash) {\n this.root = this._cLoc().split(this._hash)[0].replace(/\\/$/, '/' + this._hash);\n }\n\n this._listen();\n this.updatePageLinks();\n}\n\nfunction clean(s) {\n if (s instanceof RegExp) return s;\n return s.replace(/\\/+$/, '').replace(/^\\/+/, '^/');\n}\n\nfunction regExpResultToParams(match, names) {\n if (names.length === 0) return null;\n if (!match) return null;\n return match\n .slice(1, match.length)\n .reduce((params, value, index) => {\n if (params === null) params = {};\n params[names[index]] = decodeURIComponent(value);\n return params;\n }, null);\n}\n\nfunction replaceDynamicURLParts(route) {\n var paramNames = [], regexp;\n\n if (route instanceof RegExp) {\n regexp = route;\n } else {\n regexp = new RegExp(\n route.replace(Navigo.PARAMETER_REGEXP, function (full, dots, name) {\n paramNames.push(name);\n return Navigo.REPLACE_VARIABLE_REGEXP;\n })\n .replace(Navigo.WILDCARD_REGEXP, Navigo.REPLACE_WILDCARD) + Navigo.FOLLOWED_BY_SLASH_REGEXP\n , Navigo.MATCH_REGEXP_FLAGS);\n }\n return { regexp, paramNames };\n}\n\nfunction getUrlDepth(url) {\n return url.replace(/\\/$/, '').split('/').length;\n}\n\nfunction compareUrlDepth(urlA, urlB) {\n return getUrlDepth(urlB) - getUrlDepth(urlA);\n}\n\nfunction findMatchedRoutes(url, routes = []) {\n return routes\n .map(route => {\n var { regexp, paramNames } = replaceDynamicURLParts(clean(route.route));\n var match = url.replace(/^\\/+/, '/').match(regexp);\n var params = regExpResultToParams(match, paramNames);\n\n return match ? { match, route, params } : false;\n })\n .filter(m => m);\n}\n\nfunction match(url, routes) {\n return findMatchedRoutes(url, routes)[0] || false;\n}\n\nfunction root(url, routes) {\n var matched = routes.map(\n route => route.route === '' || route.route === '*' ? url : url.split(new RegExp(route.route + '($|\\/)'))[0]\n );\n var fallbackURL = clean(url);\n\n if (matched.length > 1) {\n return matched.reduce((result, url) => {\n if (result.length > url.length) result = url;\n return result;\n }, matched[0]);\n } else if (matched.length === 1) {\n return matched[0];\n }\n return fallbackURL;\n}\n\nfunction isHashChangeAPIAvailable() {\n return !!(\n typeof window !== 'undefined' &&\n 'onhashchange' in window\n );\n}\n\nfunction extractGETParameters(url) {\n return url.split(/\\?(.*)?$/).slice(1).join('');\n}\n\nfunction getOnlyURL(url, useHash, hash) {\n var onlyURL = url.split(/\\?(.*)?$/)[0], split;\n\n if (typeof hash === 'undefined') {\n // To preserve BC\n hash = '#';\n }\n\n if (isPushStateAvailable() && !useHash) {\n onlyURL = onlyURL.split(hash)[0];\n } else {\n split = onlyURL.split(hash);\n onlyURL = split.length > 1 ? onlyURL.split(hash)[1] : split[0];\n }\n\n return onlyURL;\n}\n\nfunction manageHooks(handler, hooks, params) {\n if (hooks && typeof hooks === 'object') {\n if (hooks.before) {\n hooks.before((shouldRoute = true) => {\n if (!shouldRoute) return;\n handler();\n hooks.after && hooks.after(params);\n }, params);\n } else if (hooks.after) {\n handler();\n hooks.after && hooks.after(params);\n }\n return;\n }\n handler();\n};\n\nfunction isHashedRoot(url, useHash, hash) {\n if (isPushStateAvailable() && !useHash) {\n return false;\n }\n\n if (!url.match(hash)) {\n return false;\n }\n\n let split = url.split(hash);\n\n if (split.length < 2 || split[1] === '') {\n return true;\n }\n\n return false;\n};\n\nNavigo.prototype = {\n helpers: {\n match,\n root,\n clean\n },\n navigate: function (path, absolute) {\n var to;\n\n path = path || '';\n if (this._usePushState) {\n to = (!absolute ? this._getRoot() + '/' : '') + path.replace(/^\\/+/, '/');\n to = to.replace(/([^:])(\\/{2,})/g, '$1/');\n history[this._historyAPIUpdateMethod]({}, '', to);\n this.resolve();\n } else if (typeof window !== 'undefined') {\n path = path.replace(new RegExp('^' + this._hash), '');\n window.location.href =\n window.location.href\n .replace(/#$/, '')\n .replace(new RegExp(this._hash + '.*$'), '') + this._hash + path;\n }\n return this;\n },\n on: function (...args) {\n if (typeof args[0] === 'function') {\n this._defaultHandler = { handler: args[0], hooks: args[1] };\n } else if (args.length >= 2) {\n if (args[0] === '/') {\n let func = args[1];\n\n if (typeof args[1] === 'object') {\n func = args[1].uses;\n }\n\n this._defaultHandler = { handler: func, hooks: args[2] };\n } else {\n this._add(args[0], args[1], args[2]);\n }\n } else if (typeof args[0] === 'object') {\n let orderedRoutes = Object.keys(args[0]).sort(compareUrlDepth);\n\n orderedRoutes.forEach(route => {\n this.on(route, args[0][route]);\n });\n }\n return this;\n },\n off: function (handler) {\n if (this._defaultHandler !== null && handler === this._defaultHandler.handler) {\n this._defaultHandler = null;\n } else if (this._notFoundHandler !== null && handler === this._notFoundHandler.handler) {\n this._notFoundHandler = null;\n }\n this._routes = this._routes.reduce((result, r) => {\n if (r.handler !== handler) result.push(r);\n return result;\n }, []);\n return this;\n },\n notFound: function (handler, hooks) {\n this._notFoundHandler = { handler, hooks: hooks };\n return this;\n },\n resolve: function (current) {\n var handler, m;\n var url = (current || this._cLoc()).replace(this._getRoot(), '');\n\n if (this._useHash) {\n url = url.replace(new RegExp('^\\/' + this._hash), '/');\n }\n\n let GETParameters = extractGETParameters(current || this._cLoc());\n let onlyURL = getOnlyURL(url, this._useHash, this._hash);\n\n if (this._paused) return false;\n\n if (\n this._lastRouteResolved &&\n onlyURL === this._lastRouteResolved.url &&\n GETParameters === this._lastRouteResolved.query\n ) {\n if (this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.already) {\n this._lastRouteResolved.hooks.already(this._lastRouteResolved.params);\n }\n return false;\n }\n\n m = match(onlyURL, this._routes);\n\n if (m) {\n this._callLeave();\n this._lastRouteResolved = {\n url: onlyURL,\n query: GETParameters,\n hooks: m.route.hooks,\n params: m.params,\n name: m.route.name\n };\n handler = m.route.handler;\n manageHooks(() => {\n manageHooks(() => {\n m.route.route instanceof RegExp ?\n handler(...(m.match.slice(1, m.match.length))) :\n handler(m.params, GETParameters);\n }, m.route.hooks, m.params, this._genericHooks);\n }, this._genericHooks, m.params);\n return m;\n } else if (this._defaultHandler && (\n onlyURL === '' ||\n onlyURL === '/' ||\n onlyURL === this._hash ||\n isHashedRoot(onlyURL, this._useHash, this._hash)\n )) {\n manageHooks(() => {\n manageHooks(() => {\n this._callLeave();\n this._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: this._defaultHandler.hooks };\n this._defaultHandler.handler(GETParameters);\n }, this._defaultHandler.hooks);\n }, this._genericHooks);\n return true;\n } else if (this._notFoundHandler) {\n manageHooks(() => {\n manageHooks(() => {\n this._callLeave();\n this._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: this._notFoundHandler.hooks };\n this._notFoundHandler.handler(GETParameters);\n }, this._notFoundHandler.hooks);\n }, this._genericHooks);\n }\n return false;\n },\n destroy: function () {\n this._routes = [];\n this._destroyed = true;\n clearTimeout(this._listeningInterval);\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this._onLocationChange);\n window.removeEventListener('hashchange', this._onLocationChange);\n }\n },\n updatePageLinks: function () {\n var self = this;\n\n if (typeof document === 'undefined') return;\n\n this._findLinks().forEach(link => {\n if (!link.hasListenerAttached) {\n link.addEventListener('click', function (e) {\n var location = self.getLinkPath(link);\n\n if (!self._destroyed) {\n e.preventDefault();\n self.navigate(location.replace(/\\/+$/, '').replace(/^\\/+/, '/'));\n }\n });\n link.hasListenerAttached = true;\n }\n });\n },\n generate: function (name, data = {}) {\n var result = this._routes.reduce((result, route) => {\n var key;\n\n if (route.name === name) {\n result = route.route;\n for (key in data) {\n result = result.toString().replace(':' + key, data[key]);\n }\n }\n return result;\n }, '');\n\n return this._useHash ? this._hash + result : result;\n },\n link: function (path) {\n return this._getRoot() + path;\n },\n pause: function (status = true) {\n this._paused = status;\n if (status) {\n this._historyAPIUpdateMethod = 'replaceState';\n } else {\n this._historyAPIUpdateMethod = 'pushState';\n }\n },\n resume: function () {\n this.pause(false);\n },\n historyAPIUpdateMethod: function (value) {\n if (typeof value === 'undefined') return this._historyAPIUpdateMethod;\n this._historyAPIUpdateMethod = value;\n return value;\n },\n disableIfAPINotAvailable: function () {\n if (!isPushStateAvailable()) {\n this.destroy();\n }\n },\n lastRouteResolved() {\n return this._lastRouteResolved;\n },\n getLinkPath(link) {\n return link.pathname || link.getAttribute('href');\n },\n hooks(hooks) {\n this._genericHooks = hooks;\n },\n _add: function (route, handler = null, hooks = null) {\n if (typeof route === 'string') {\n route = encodeURI(route);\n }\n if (typeof handler === 'object') {\n this._routes.push({\n route,\n handler: handler.uses,\n name: handler.as,\n hooks: hooks || handler.hooks\n });\n } else {\n this._routes.push({ route, handler, hooks: hooks });\n }\n return this._add;\n },\n _getRoot: function () {\n if (this.root !== null) return this.root;\n this.root = root(this._cLoc().split('?')[0], this._routes);\n return this.root;\n },\n _listen: function () {\n if (this._usePushState) {\n window.addEventListener('popstate', this._onLocationChange);\n } else if (isHashChangeAPIAvailable()) {\n window.addEventListener('hashchange', this._onLocationChange);\n } else {\n let cached = this._cLoc(), current, check;\n\n check = () => {\n current = this._cLoc();\n if (cached !== current) {\n cached = current;\n this.resolve();\n }\n this._listeningInterval = setTimeout(check, 200);\n };\n check();\n }\n },\n _cLoc: function () {\n if (typeof window !== 'undefined') {\n if (typeof window.__NAVIGO_WINDOW_LOCATION_MOCK__ !== 'undefined') {\n return window.__NAVIGO_WINDOW_LOCATION_MOCK__;\n }\n return clean(window.location.href);\n }\n return '';\n },\n _findLinks: function () {\n return [].slice.call(document.querySelectorAll('[data-navigo]'));\n },\n _onLocationChange: function () {\n this.resolve();\n },\n _callLeave() {\n if (this._lastRouteResolved && this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.leave) {\n this._lastRouteResolved.hooks.leave();\n }\n }\n};\n\nNavigo.PARAMETER_REGEXP = /([:*])(\\w+)/g;\nNavigo.WILDCARD_REGEXP = /\\*/g;\nNavigo.REPLACE_VARIABLE_REGEXP = '([^\\/]+)';\nNavigo.REPLACE_WILDCARD = '(?:.*)';\nNavigo.FOLLOWED_BY_SLASH_REGEXP = '(?:\\/$|$)';\nNavigo.MATCH_REGEXP_FLAGS = '';\n\nexport default Navigo;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/"],"sourceRoot":""}