rudy-history
Version:
Fork of the history package for Rudy
1 lines • 15.6 kB
JavaScript
!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.History=t():n.History=t()}(this,function(){return function(n){function t(o){if(e[o])return e[o].exports;var r=e[o]={exports:{},id:o,loaded:!1};return n[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var e={};return t.m=n,t.c=e,t.p="",t(0)}([function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0,t.createPath=t.parsePath=t.locationsAreEqual=t.createLocation=t.createMemoryHistory=t.createHashHistory=t.createBrowserHistory=void 0;var r=e(2);Object.defineProperty(t,"createLocation",{enumerable:!0,get:function(){return r.createLocation}}),Object.defineProperty(t,"locationsAreEqual",{enumerable:!0,get:function(){return r.locationsAreEqual}});var i=e(1);Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return i.parsePath}}),Object.defineProperty(t,"createPath",{enumerable:!0,get:function(){return i.createPath}});var a=e(7),c=o(a),u=e(8),s=o(u),f=e(9),l=o(f);t.createBrowserHistory=c.default,t.createHashHistory=s.default,t.createMemoryHistory=l.default},function(n,t){"use strict";t.__esModule=!0;var e=(t.addLeadingSlash=function(n){return"/"===n.charAt(0)?n:"/"+n},t.stripLeadingSlash=function(n){return"/"===n.charAt(0)?n.substr(1):n},t.hasBasename=function(n,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(n)});t.stripBasename=function(n,t){return e(n,t)?n.substr(t.length):n},t.stripTrailingSlash=function(n){return"/"===n.charAt(n.length-1)?n.slice(0,-1):n},t.parsePath=function(n){var t=n||"/",e="",o="",r=t.indexOf("#");r!==-1&&(o=t.substr(r),t=t.substr(0,r));var i=t.indexOf("?");return i!==-1&&(e=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===e?"":e,hash:"#"===o?"":o}},t.createPath=function(n){var t=n.pathname,e=n.search,o=n.hash,r=t||"/";return e&&"?"!==e&&(r+="?"===e.charAt(0)?e:"?"+e),o&&"#"!==o&&(r+="#"===o.charAt(0)?o:"#"+o),r}},function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0,t.locationsAreEqual=t.createLocation=void 0;var r=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n},i=e(10),a=o(i),c=e(11),u=o(c),s=e(1);t.createLocation=function(n,t,e,o){var i=void 0;"string"==typeof n?(i=(0,s.parsePath)(n),i.state=t):(i=r({},n),void 0===i.pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(n){throw n instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):n}return e&&(i.key=e),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=(0,a.default)(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i},t.locationsAreEqual=function(n,t){return n.pathname===t.pathname&&n.search===t.search&&n.hash===t.hash&&n.key===t.key&&(0,u.default)(n.state,t.state)}},function(n,t,e){"use strict";var o=function(){};n.exports=o},function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0;var r=e(3),i=(o(r),function(){var n=null,t=function(t){return n=t,function(){n===t&&(n=null)}},e=function(t,e,o,r){if(null!=n){var i="function"==typeof n?n(t,e):n;"string"==typeof i?"function"==typeof o?o(i,r):r(!0):r(i!==!1)}else r(!0)},o=[],r=function(n){var t=!0,e=function(){t&&n.apply(void 0,arguments)};return o.push(e),function(){t=!1,o=o.filter(function(n){return n!==e})}},i=function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];o.forEach(function(n){return n.apply(void 0,t)})};return{setPrompt:t,confirmTransitionTo:e,appendListener:r,notifyListeners:i}});t.default=i},function(n,t,e){"use strict";var o=function(n,t,e,o,r,i,a,c){if(!n){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[e,o,r,i,a,c],f=0;u=new Error(t.replace(/%s/g,function(){return s[f++]})),u.name="Invariant Violation"}throw u.framesToPop=1,u}};n.exports=o},function(n,t){"use strict";t.__esModule=!0;t.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement),t.addEventListener=function(n,t,e){return n.addEventListener?n.addEventListener(t,e,!1):n.attachEvent("on"+t,e)},t.removeEventListener=function(n,t,e){return n.removeEventListener?n.removeEventListener(t,e,!1):n.detachEvent("on"+t,e)},t.getConfirmation=function(n,t){return t(window.confirm(n))},t.supportsHistory=function(){var n=window.navigator.userAgent;return(n.indexOf("Android 2.")===-1&&n.indexOf("Android 4.0")===-1||n.indexOf("Mobile Safari")===-1||n.indexOf("Chrome")!==-1||n.indexOf("Windows Phone")!==-1)&&(window.history&&"pushState"in window.history)},t.supportsPopStateOnHashChange=function(){return window.navigator.userAgent.indexOf("Trident")===-1},t.supportsGoWithoutReloadUsingHash=function(){return window.navigator.userAgent.indexOf("Firefox")===-1},t.isExtraneousPopstateEvent=function(n){return void 0===n.state&&navigator.userAgent.indexOf("CriOS")===-1}},function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0;var r=("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n}),i=e(3),a=(o(i),e(5)),c=o(a),u=e(2),s=e(1),f=e(4),l=o(f),d=e(6),h="popstate",p="hashchange",v=function(){try{return window.history.state||{}}catch(n){return{}}},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};d.canUseDOM?void 0:(0,c.default)(!1);var t=window.history,e=(0,d.supportsHistory)(),o=!(0,d.supportsPopStateOnHashChange)(),i=n.forceRefresh,a=void 0!==i&&i,f=n.getUserConfirmation,y=void 0===f?d.getConfirmation:f,g=n.keyLength,m=void 0===g?6:g,w=n.basename?(0,s.stripTrailingSlash)((0,s.addLeadingSlash)(n.basename)):"",b=function(n){var t=n||{},e=t.key,o=t.state,r=window.location,i=r.pathname,a=r.search,c=r.hash,f=i+a+c;return w&&(f=(0,s.stripBasename)(f,w)),(0,u.createLocation)(f,o,e)},P=function(){return Math.random().toString(36).substr(2,m)},O=(0,l.default)(),L=function(n){r(G,n),G.length=t.length,O.notifyListeners(G.location,G.action)},x=function(n){(0,d.isExtraneousPopstateEvent)(n)||_(b(n.state))},S=function(){_(b(v()))},E=!1,_=function(n){if(E)E=!1,L();else{var t="POP";O.confirmTransitionTo(n,t,y,function(e){e?L({action:t,location:n}):A(n)})}},A=function(n){var t=G.location,e=k.indexOf(t.key);e===-1&&(e=0);var o=k.indexOf(n.key);o===-1&&(o=0);var r=e-o;r&&(E=!0,U(r))},T=b(v()),k=[T.key],M=function(n){return w+(0,s.createPath)(n)},H=function(n,o){var r="PUSH",i=(0,u.createLocation)(n,o,P(),G.location);O.confirmTransitionTo(i,r,y,function(n){if(n){var o=M(i),c=i.key,u=i.state;if(e)if(t.pushState({key:c,state:u},null,o),a)window.location.href=o;else{var s=k.indexOf(G.location.key),f=k.slice(0,s===-1?0:s+1);f.push(i.key),k=f,L({action:r,location:i})}else window.location.href=o}})},j=function(n,o){var r="REPLACE",i=(0,u.createLocation)(n,o,P(),G.location);O.confirmTransitionTo(i,r,y,function(n){if(n){var o=M(i),c=i.key,u=i.state;if(e)if(t.replaceState({key:c,state:u},null,o),a)window.location.replace(o);else{var s=k.indexOf(G.location.key);s!==-1&&(k[s]=i.key),L({action:r,location:i})}else window.location.replace(o)}})},U=function(n){t.go(n)},C=function(){return U(-1)},B=function(){return U(1)},R=0,I=function(n){R+=n,1===R?((0,d.addEventListener)(window,h,x),o&&(0,d.addEventListener)(window,p,S)):0===R&&((0,d.removeEventListener)(window,h,x),o&&(0,d.removeEventListener)(window,p,S))},q=!1,F=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=O.setPrompt(n);return q||(I(1),q=!0),function(){return q&&(q=!1,I(-1)),t()}},D=function(n){var t=O.appendListener(n);return I(1),function(){I(-1),t()}},G={length:t.length,action:"POP",location:T,createHref:M,push:H,replace:j,go:U,goBack:C,goForward:B,block:F,listen:D};return G};t.default=y},function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0;var r=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n},i=e(3),a=(o(i),e(5)),c=o(a),u=e(2),s=e(1),f=e(4),l=o(f),d=e(6),h="hashchange",p={hashbang:{encodePath:function(n){return"!"===n.charAt(0)?n:"!/"+(0,s.stripLeadingSlash)(n)},decodePath:function(n){return"!"===n.charAt(0)?n.substr(1):n}},noslash:{encodePath:s.stripLeadingSlash,decodePath:s.addLeadingSlash},slash:{encodePath:s.addLeadingSlash,decodePath:s.addLeadingSlash}},v=function(){var n=window.location.href,t=n.indexOf("#");return t===-1?"":n.substring(t+1)},y=function(n){return window.location.hash=n},g=function(n){var t=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,t>=0?t:0)+"#"+n)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};d.canUseDOM?void 0:(0,c.default)(!1);var t=window.history,e=((0,d.supportsGoWithoutReloadUsingHash)(),n.getUserConfirmation),o=void 0===e?d.getConfirmation:e,i=n.hashType,a=void 0===i?"slash":i,f=n.basename?(0,s.stripTrailingSlash)((0,s.addLeadingSlash)(n.basename)):"",m=p[a],w=m.encodePath,b=m.decodePath,P=function(){var n=b(v());return f&&(n=(0,s.stripBasename)(n,f)),(0,u.createLocation)(n)},O=(0,l.default)(),L=function(n){r(V,n),V.length=t.length,O.notifyListeners(V.location,V.action)},x=!1,S=null,E=function(){var n=v(),t=w(n);if(n!==t)g(t);else{var e=P(),o=V.location;if(!x&&(0,u.locationsAreEqual)(o,e))return;if(S===(0,s.createPath)(e))return;S=null,_(e)}},_=function(n){if(x)x=!1,L();else{var t="POP";O.confirmTransitionTo(n,t,o,function(e){e?L({action:t,location:n}):A(n)})}},A=function(n){var t=V.location,e=H.lastIndexOf((0,s.createPath)(t));e===-1&&(e=0);var o=H.lastIndexOf((0,s.createPath)(n));o===-1&&(o=0);var r=e-o;r&&(x=!0,B(r))},T=v(),k=w(T);T!==k&&g(k);var M=P(),H=[(0,s.createPath)(M)],j=function(n){return"#"+w(f+(0,s.createPath)(n))},U=function(n,t){var e="PUSH",r=(0,u.createLocation)(n,void 0,void 0,V.location);O.confirmTransitionTo(r,e,o,function(n){if(n){var t=(0,s.createPath)(r),o=w(f+t),i=v()!==o;if(i){S=t,y(o);var a=H.lastIndexOf((0,s.createPath)(V.location)),c=H.slice(0,a===-1?0:a+1);c.push(t),H=c,L({action:e,location:r})}else L()}})},C=function(n,t){var e="REPLACE",r=(0,u.createLocation)(n,void 0,void 0,V.location);O.confirmTransitionTo(r,e,o,function(n){if(n){var t=(0,s.createPath)(r),o=w(f+t),i=v()!==o;i&&(S=t,g(o));var a=H.indexOf((0,s.createPath)(V.location));a!==-1&&(H[a]=t),L({action:e,location:r})}})},B=function(n){t.go(n)},R=function(){return B(-1)},I=function(){return B(1)},q=0,F=function(n){q+=n,1===q?(0,d.addEventListener)(window,h,E):0===q&&(0,d.removeEventListener)(window,h,E)},D=!1,G=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=O.setPrompt(n);return D||(F(1),D=!0),function(){return D&&(D=!1,F(-1)),t()}},W=function(n){var t=O.appendListener(n);return F(1),function(){F(-1),t()}},V={length:t.length,action:"POP",location:M,createHref:j,push:U,replace:C,go:B,goBack:R,goForward:I,block:G,listen:W};return V};t.default=m},function(n,t,e){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}t.__esModule=!0;var r=("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n}),i=e(3),a=(o(i),e(5)),c=o(a),u=e(1),s=e(2),f=e(4),l=o(f),d=function(n,t,e){return Math.min(Math.max(n,t),e)},h=!("undefined"==typeof window||"undefined"==typeof window.confirm),p=function(n,t){return h?void 0:(0,c.default)(!1),t(window.confirm(n))},v=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n.getUserConfirmation,e=void 0===t?p:t,o=n.initialEntries,i=void 0===o?["/"]:o,a=n.initialIndex,c=void 0===a?0:a,f=n.keyLength,h=void 0===f?6:f,v=n.basename?(0,u.stripTrailingSlash)((0,u.addLeadingSlash)(n.basename)):"",y=(0,l.default)(),g=function(n){r(M,n),M.length=M.entries.length,y.notifyListeners(M.location,M.action)},m=function(){return Math.random().toString(36).substr(2,h)},w=d(c,0,i.length-1),b=function(n){return v?(0,u.stripBasename)(n,v):n},P=i.map(function(n){return"string"==typeof n?(0,s.createLocation)(b(n),void 0,m()):(0,s.createLocation)(b(n),void 0,n.key||m())}),O=function(n){return v+(0,u.createPath)(n)},L=function(n,t){var o="PUSH",r=(0,s.createLocation)(b(n),t,m(),M.location);y.confirmTransitionTo(r,o,e,function(n){if(n){var t=M.index,e=t+1,i=M.entries.slice(0);i.length>e?i.splice(e,i.length-e,r):i.push(r),g({action:o,location:r,index:e,entries:i})}})},x=function(n,t){var o="REPLACE",r=(0,s.createLocation)(b(n),t,m(),M.location);y.confirmTransitionTo(r,o,e,function(n){n&&(M.entries[M.index]=r,g({action:o,location:r}))})},S=function(n){var t=d(M.index+n,0,M.entries.length-1),o="POP",r=M.entries[t];y.confirmTransitionTo(r,o,e,function(n){n?g({action:o,location:r,index:t}):g()})},E=function(){return S(-1)},_=function(){return S(1)},A=function(n){var t=M.index+n;return t>=0&&t<M.entries.length},T=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return y.setPrompt(n)},k=function(n){return y.appendListener(n)},M={length:P.length,action:"POP",location:P[w],index:w,entries:P,createHref:O,push:L,replace:x,go:S,goBack:E,goForward:_,canGo:A,block:T,listen:k};return M};t.default=v},function(n,t){"use strict";function e(n){return"/"===n.charAt(0)}function o(n,t){for(var e=t,o=e+1,r=n.length;o<r;e+=1,o+=1)n[e]=n[o];n.pop()}function r(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=n&&n.split("/")||[],i=t&&t.split("/")||[],a=n&&e(n),c=t&&e(t),u=a||c;if(n&&e(n)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";var s=void 0;if(i.length){var f=i[i.length-1];s="."===f||".."===f||""===f}else s=!1;for(var l=0,d=i.length;d>=0;d--){var h=i[d];"."===h?o(i,d):".."===h?(o(i,d),l++):l&&(o(i,d),l--)}if(!u)for(;l--;l)i.unshift("..");!u||""===i[0]||i[0]&&e(i[0])||i.unshift("");var p=i.join("/");return s&&"/"!==p.substr(-1)&&(p+="/"),p}t.__esModule=!0,t.default=r,n.exports=t.default},function(n,t){"use strict";function e(n,t){if(n===t)return!0;if(null==n||null==t)return!1;if(Array.isArray(n))return Array.isArray(t)&&n.length===t.length&&n.every(function(n,o){return e(n,t[o])});var r="undefined"==typeof n?"undefined":o(n),i="undefined"==typeof t?"undefined":o(t);if(r!==i)return!1;if("object"===r){var a=n.valueOf(),c=t.valueOf();if(a!==n||c!==t)return e(a,c);var u=Object.keys(n),s=Object.keys(t);return u.length===s.length&&u.every(function(o){return e(n[o],t[o])})}return!1}t.__esModule=!0;var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};t.default=e,n.exports=t.default}])});