UNPKG

@bye_past/vue-keep

Version:

缓存你的页面组件, 使得可以比手机APP更好的体验效果

4 lines (3 loc) 22.6 kB
import*as t from"vue";function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var r={exports:{}};!function(t){function e(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,a){var i=t.apply(r,n);function c(t){e(i,o,a,c,u,"next",t)}function u(t){e(i,o,a,c,u,"throw",t)}c(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports}(r);var n=e(r.exports),o={exports:{}},a={exports:{}};!function(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(a);var i=e(a.exports);!function(t){var e=a.exports.default;function r(){ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ t.exports=r=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var n={},o=Object.prototype,a=o.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var o=e&&e.prototype instanceof d?e:d,a=Object.create(o.prototype),i=new L(n||[]);return a._invoke=function(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return P()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var c=_(i,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,i),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}n.wrap=p;var h={};function d(){}function v(){}function y(){}var m={};l(m,c,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(S([])));x&&x!==o&&a.call(x,c)&&(m=x);var g=y.prototype=d.prototype=Object.create(m);function w(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,r){function n(o,i,c,u){var s=f(t[o],t,i);if("throw"!==s.type){var l=s.arg,p=l.value;return p&&"object"==e(p)&&a.call(p,"__await")?r.resolve(p.__await).then((function(t){n("next",t,c,u)}),(function(t){n("throw",t,c,u)})):r.resolve(p).then((function(t){l.value=t,c(l)}),(function(t){return n("throw",t,c,u)}))}u(s.arg)}var o;this._invoke=function(t,e){function a(){return new r((function(r,o){n(t,e,r,o)}))}return o=o?o.then(a,a):a()}}function _(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=f(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,h;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function S(t){if(t){var e=t[c];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(a.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:P}}function P(){return{value:void 0,done:!0}}return v.prototype=y,l(g,"constructor",y),l(y,"constructor",v),v.displayName=l(y,s,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,l(t,s,"GeneratorFunction")),t.prototype=Object.create(g),t},n.awrap=function(t){return{__await:t}},w(b.prototype),l(b.prototype,u,(function(){return this})),n.AsyncIterator=b,n.async=function(t,e,r,o,a){void 0===a&&(a=Promise);var i=new b(p(t,e,r,o),a);return n.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},w(g),l(g,s,"Generator"),l(g,c,(function(){return this})),l(g,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},n.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&a.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return i.type="throw",i.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=a.call(o,"catchLoc"),u=a.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),O(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},n}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}(o),e(o.exports);var c=o.exports(),u=c;try{regeneratorRuntime=c}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=c:Function("r","regeneratorRuntime = r")(c)}function s(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function l(t){var e=location,r=e.pathname,n=e.search,o=e.hash,a=t.indexOf("#");if(a>-1){var i=o.includes(t.slice(a))?t.slice(a).length:1,c=o.slice(i);return"/"!==c[0]&&(c="/"+c),s(c,"")}return(s(r,t)+n+o).replace(/^\/#/,"")}function p(){var t=window.location,e=t.protocol+"//"+t.host;return t.href.replace(e,"")}function f(t){var e,r;return t.mode?r=t.options.base:(!(r=null===(e=t.options.history)||void 0===e?void 0:e.base)&&location.hash&&(r=location.pathname),r||"/")}function h(t,e){"string"==typeof e&&(e={path:e}),e.path&&!/^\//.test(e.path)&&(e.path="/"+e.path);var r=t.resolve(e);return r.resolved&&(r=r.resolved),r}function d(t){return h(t,l(f(t)))}function v(t){try{return decodeURIComponent(""+t)}catch(e){console.warn('Error decoding "'.concat(t,'". Using original value'))}return""+t}function y(t){var e={};if(""===t||"?"===t)return e;for(var r=("?"===t[0]?t.slice(1):t).split("&"),n=0;n<r.length;++n){var o=r[n].replace(/\+/g," "),a=o.indexOf("="),i=v(a<0?o:o.slice(0,a)),c=a<0?null:v(o.slice(a+1));if(i in e){var u=e[i];Array.isArray(u)||(u=e[i]=[u]),u.push(c)}else e[i]=c}return e}var m,E=Object.assign,x={exports:{}},g={exports:{}},w={exports:{}};(m=w).exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n},m.exports.__esModule=!0,m.exports.default=m.exports,e(w.exports),function(t){var e=w.exports;t.exports=function(t){if(Array.isArray(t))return e(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(g),e(g.exports);var b={exports:{}};!function(t){t.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(b),e(b.exports);var _={exports:{}};!function(t){var e=w.exports;t.exports=function(t,r){if(t){if("string"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports}(_),e(_.exports);var k={exports:{}};!function(t){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.__esModule=!0,t.exports.default=t.exports}(k),e(k.exports),function(t){var e=g.exports,r=b.exports,n=_.exports,o=k.exports;t.exports=function(t){return e(t)||r(t)||n(t)||o()},t.exports.__esModule=!0,t.exports.default=t.exports}(x);var O,L=e(x.exports);function S(t,e){var r;(null===(r=t.constructor.version)||void 0===r?void 0:r.replace(/\.(\d+)$/,"$1"))<3.5?console.error("vue-keep: vue-router version is lower than 3.5.0, please upgrade vue-router"):(e?t:t.getRoutes()).forEach((function(t){var e,r;if(null!=t&&null!==(e=t.components)&&void 0!==e&&e.default){if((null===(r=t.children)||void 0===r?void 0:r.length)>0&&S(t.children,!0),"function"==typeof t.components.default){var o=t.components.default;return t.components.default=n(u.mark((function e(){var r,n,a;return u.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o();case 2:return r=e.sent,n=Object.getOwnPropertyDescriptor(r.default,"name")||{writable:!0},a=n.writable,r.default._canCoveredName=a,a&&(r.default.name=t.name),a&&!t.name&&console.error("vue-keep: this component is not cached, did you forget to set the name in the route?"),e.abrupt("return",r);case 8:case"end":return e.stop()}}),e)})))}t.components.default.name=t.name}}))}function P(){return{extendList:["push","replace","go","back","forward"],obj:Object.create(null)}}function C(t){var e=t.constructor.prototype,r=t.addRoute;if(e.addRoute)return r=e.addRoute,e.addRoute=o;t.addRoute=o;var n=!1;function o(){var e;(e=r).call.apply(e,[this].concat(Array.prototype.slice.call(arguments))),n||(n=!0,Promise.resolve().then((function(){S(t)})))}}function R(t,e){return function(){var r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.type,a=void 0===o?"push":o;if(O=!0,"number"==typeof arguments[0]){var c=arguments[1];if("object"!==i(c))return;return a=c.type||"go",e(a,E({delta:arguments[0]||0},c)),t[c.type||"go"].call(this,arguments[0]||0),O=!1}e(a,arguments[0]),(r=t[a]).call.apply(r,[this].concat(Array.prototype.slice.call(arguments))),O=!1}}var A,N={push:"push",replace:"replace",go:"go",forward:"forward",back:"back"},j={replaceState:"replaceState",pushState:"pushState",go:"go",forward:"forward",back:"back"},T="back",M="forward",K=JSON.parse(sessionStorage.getItem("keep_history_record")||"[]");function G(t,e){var r=history.state.keepPosition,n=t.fullPath||t.path;K[r]=n,e===j.pushState&&(K.push(n),K=K.slice(0,r+1)),sessionStorage.setItem("keep_history_record",JSON.stringify(K))}function U(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return B(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return B(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){c=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(c)throw a}}}}function B(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var I,F,D,H,$,Y,q,J=(I=[],{add:function(t,e){var r="function"==typeof t?t:{name:t,handler:e};return I.push(r),function(){var t=I.indexOf(r);t>-1&&I.splice(t,1)}},list:function(){return I},reset:function(){I=[]}}),V=(null===(A=history.state)||void 0===A?void 0:A.keepPosition)||history.length-1,W=V,z=Object.create(null),Q=Object.create(null),X=!0;function Z(t){F=t;var e=history.constructor.prototype,r={back:e.back,forward:e.forward,go:e.go,pushState:e.pushState,replaceState:e.replaceState},n=Object.keys(r),o=p();function a(t,e,r){var n,o=function(t,e){var r,n,o;return[N.go,N.forward,N.back].includes(e)?((H=E({},H)).path=K[t],H):((null!==(r=H)&&void 0!==r&&r.name||null!==(n=H)&&void 0!==n&&n.path)&&(o=h(F,H)),o||(o={path:l(f(F))}),o)}(t,e),a=o.fullPath||o.path,i=Array.from(K);[j.pushState,N.push].includes(e)&&(i[t]=a,i=K.slice(0,t));var c=([N.forward,j.pushState,N.push].includes(e)?K[t-1]:K[t])||a,u=K[t-1];if(Y&&K.length>history.length){if(e===N.replace){var s=K.map((function(t,e){return e<V?null:t}));u=s[t-1]}var p=Math.abs(K.length-history.length-V);!K[p-1]&&(u=null)}return{keepPosition:t,keepBack:u,keepCurrent:c,keepNext:a,keepForward:i[t+1],keepReplace:!(null===(n=Q)||void 0===n||!n.keepReplace),keepDirection:r?T:M}}function i(t,e){var r;if("string"==typeof e?e={path:e}:"number"==typeof e&&(e={delta:e}),(H=E({method:t},e)).path!==(null===(r=z)||void 0===r?void 0:r.path)){q=!0;var n,o=t===N.back||H.delta<0,i=o?T:M;switch(Y=!!o,t){case N.go:n=V+H.delta;break;case N.replace:n=V;break;default:n=V+(o?-1:1)}Q=a(n,t,o),t===N.push&&($=!0),t===N.replace&&(Q.keepReplace=!0),function(t,e){var r=H;if(!H.path&&!H.name){var n,o=history.state.keepPosition;switch(e){case"go":n=o+H.delta;break;case"forward":n=o+1;break;case"back":n=o-1;break;default:n=o}if(!(r=K[n]))return console.warn("vue-keep:","empty jump"),D=!0,void new Promise((function(t){return t()})).then((function(){return D=!1}))}var a=h(F,r);et("KEEP_BEFORE_ROUTE_CHANGE",t,a)}(i,t)}}return history.replaceState(a(V,j.replaceState),o),nt(M,"popstate"),q=!0,t.constructor.version&&Promise.resolve().then((function(){return nt(M,"popstate")})),n.forEach((function(t){return function(t){history.constructor.prototype[t]=function(){var e;if(W=V,!D){switch(t){case j.pushState:case N.forward:V+=1;break;case N.go:V+=arguments[0];break;case N.back:V-=1}if([N.go,N.forward,N.back].includes(t)){var n;(n=r[t]).call.apply(n,[this].concat(Array.prototype.slice.call(arguments)))}else{var o=a(V,t,Y);if(arguments[0]=E(arguments[0],o),(e=r[t]).call.apply(e,[this].concat(Array.prototype.slice.call(arguments))),[j.pushState,j.replaceState].includes(t)){if($&&t===j.replaceState)return;nt(Y?T:M,t),q=!1,Q=null}Y=!1,$=!1}}}}(t)})),Object.prototype.hasOwnProperty.call(t,N.push)?function(t,e){var r=P(),n=r.extendList,o=r.obj;C(t),t.jump=R(t,e),n.forEach((function(r){o[r]=t[r],t[r]=function(t){return O||e.apply(void 0,[r].concat(Array.prototype.slice.call(arguments))),o[r](t)}}))}(t,i):function(t,e){var r=P(),n=r.extendList,o=r.obj,a=t.history.constructor.prototype,i=t.constructor.prototype;return C(t),i.jump=R(t,e),n.forEach((function(t){o[t]=a[t]||function(){return a.go(1)},a[t]=function(){var r=arguments,n=this;O||e.apply(void 0,[t].concat(Array.prototype.slice.call(arguments))),new Promise((function(t){return t()})).then((function(){var e;return(e=o[t]).call.apply(e,[n].concat(L(r)))}))}})),t}(t,i)}function tt(t){var e,r=U(J.list());try{for(r.s();!(e=r.n()).done;){var n=e.value;t.name===n.name?n.handler(t,z):"function"==typeof n&&n(t,z)}}catch(t){r.e(t)}finally{r.f()}}function et(t,e,r){return rt.apply(this,arguments)}function rt(){return(rt=n(u.mark((function t(e,r,n){var o,a,i,c,s,l,p,f,h,d,v,m,x,g,w,b;return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=E({},n),"KEEP_BEFORE_ROUTE_CHANGE"===e?(a="beforeChange",i=Q,c=/^.+\?/,Q.keepNext&&c.test(Q.keepNext)&&(l=y(null===(s=Q.keepNext)||void 0===s?void 0:s.replace(c,"")),n.query=E(l,n.query))):(a="change",i=history.state),p=E({direction:r,triggerType:a,state:i},H,n),"KEEP_BEFORE_ROUTE_CHANGE"===e&&tt(p),q||tt(p),f=Object.create(null),X){t.next=17;break}if(v=n.matched,null==(m=null===(d=v[v.length-1])||void 0===d?void 0:d.components.default)||!m.prototype){t.next=17;break}if(x=m.name,m.name||"KEEP_BEFORE_ROUTE_CHANGE"===e){t.next=16;break}return t.next=14,m();case 14:g=t.sent,x=g._canCoveredName?null:g.default.name;case 16:h={name:x};case 17:return f.detail={direction:r,destroy:null==p?void 0:p.destroy,cache:null==p?void 0:p.cache,constCache:null===(o=H)||void 0===o?void 0:o.constCache,toLocation:E({},n,h)},w=new CustomEvent(e,f),(b=function(){return window.dispatchEvent(w)})(),window.addEventListener("KEEP_SUBSCRIBE_COMPLETE",b),setTimeout((function(){window.removeEventListener("KEEP_SUBSCRIBE_COMPLETE",b)}),300),t.abrupt("return",p);case 24:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function nt(t,e){return ot.apply(this,arguments)}function ot(){return(ot=n(u.mark((function t(e,r){var n,o;return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=d(F),t.next=3,et("KEEP_ROUTE_CHANGE",e,n);case 3:G(o=t.sent,r),z=o,H=null,X=!1;case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}window.addEventListener("popstate",(function(t){var e=(V=t.state.keepPosition)<=W?T:M,r=p();e===T&&(Y=!0),history.replaceState(history.state,r),W=V}));function at(){var t=this,e=t.$createElement,r=t._self.c||e;return r("keep-alive",{attrs:{include:[].concat(t.includeList),max:t.max,exclude:t.exclude}},[r("router-view")],1)}function it(e,r,n,o,a){var i=t,c=i.resolveComponent("router-view"),u=i.openBlock,s=i.createBlock,l=i.withCtx,p=i.KeepAlive,f=i.resolveDynamicComponent;return u(),s(c,{key:0},{default:l((function(t){var e=t.Component;return[(u(),s(p,{include:a.includeList,max:n.max,exclude:n.exclude},[(u(),s(f(e)))],1032,["include","max","exclude"]))]})),_:1})}var ct,ut={name:"KeepRouteView",render:function(){return this.vueNext?it.apply(void 0,arguments):at.call(this)},props:{max:{type:Number,default:5},exclude:{type:[Array,RegExp,String],default:function(){return[]}}},data:function(){return{vueNext:Number(ct.version.slice(0,3))>=3,includeList:[]}},created:function(){this.isForward=!1,this.addEvents()},activated:function(){this.addEvents()},deactivated:function(){this.removeEvents()},beforeDestroy:function(){this.removeEvents()},beforeUnmount:function(){this.removeEvents()},methods:{addEvents:function(){window.addEventListener("KEEP_BEFORE_ROUTE_CHANGE",this.beforeRouteChangeEvent),window.addEventListener("KEEP_ROUTE_CHANGE",this.routerChangeEvent),window.addEventListener("KEEP_COMPONENT_DESTROY",this.componentDestroyEvent);var t=new CustomEvent("KEEP_SUBSCRIBE_COMPLETE");window.dispatchEvent(t)},removeEvents:function(){window.removeEventListener("KEEP_BEFORE_ROUTE_CHANGE",this.beforeRouteChangeEvent),window.removeEventListener("KEEP_ROUTE_CHANGE",this.routerChangeEvent),window.removeEventListener("KEEP_COMPONENT_DESTROY",this.componentDestroyEvent)},beforeRouteChangeEvent:function(t){var e=this;return n(u.mark((function r(){var n,o,a,i,c,s;return u.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(n=t.detail,o=n.direction,a=n.destroy,i=n.cache,c=n.constCache,s=n.toLocation,"forward"===o){r.next=3;break}return r.abrupt("return");case 3:if(i||c||e.destroyTraverse(s.name),"string"!=typeof a||"ALL"!==a){r.next=6;break}return r.abrupt("return",e.includeList=[]);case 6:e.handelDestroy(a);case 7:case"end":return r.stop()}}),r)})))()},routerChangeEvent:function(t){var e=this,r=t.detail.toLocation;r.matched.forEach((function(t){var n,o=(null===(n=t.components)||void 0===n?void 0:n.default.name)||r.name;e.includeList.includes(o)||o&&e.forward(o)})),r.name||console.warn("keep-router-view: Please pay attention to whether the router base path you configured is correct!")},componentDestroyEvent:function(t){var e=t.detail;if("ALL"===e)return this.includeList=[];this.handelDestroy(e)},forward:function(t){var e=this.includeList;if(!this.exclude.includes(t)){if(e.includes(t)){var r=e.indexOf(t);e.splice(r,1)}e.length===this.max&&e.splice(0,1),e.push(t)}},handelDestroy:function(t){var e=this.destroyTraverse;"string"==typeof t&&t?e(t):Array.isArray(t)&&t.forEach((function(t){return e(t)}))},destroyTraverse:function(t){for(var e=this.includeList,r=0;r<e.length;r++)if(t===e[r]){e.splice(r,1);break}}}};function st(t){var e=new CustomEvent("KEEP_COMPONENT_DESTROY",{detail:t});window.dispatchEvent(e)}var lt=J.add,pt={beforeEach:lt,install:function(t,e){ct=t,function(t){S(t),Z(t)}(e),t.component("KeepRouterView",ut);var r={destroy:st,beforeEach:lt};Number(t.version.slice(0,1))<3?t.prototype.$keepRouter=r:t.config.globalProperties.$keepRouter=r}};export{ut as KeepRouterView,lt as beforeEach,pt as default,st as destroy,ct as vueApp};