chore: update js vendors

This commit is contained in:
Eneko Illarramendi 2020-09-02 14:39:20 +02:00
parent 0d0e00e699
commit d4f957a5c8
22 changed files with 5351 additions and 2035 deletions

View File

@ -88,7 +88,7 @@
{% endblock %} {% block scripts %}
<script src="{{ url_for('static', filename='vendor/vue-qrcode@1.0.2/vue-qrcode.min.js') }}"></script>
{% assets filters='rjsmin', output='__bundle__/core/chart.js',
'vendor/moment@2.25.1/moment.min.js', 'vendor/chart.js@2.9.3/chart.min.js' %}
'vendor/moment@2.27.0/moment.min.js', 'vendor/chart.js@2.9.3/chart.min.js' %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %} {% assets filters='rjsmin', output='__bundle__/core/wallet.js',
'vendor/bolt11/utils.js', 'vendor/bolt11/decoder.js',

View File

@ -50,10 +50,10 @@
}
</style>
{% endblock %} {% block scripts %}
<script src="{{ url_for('static', filename='vendor/vue@2.6.11/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue-router@3.1.6/vue-router.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vuex@3.1.3/vuex.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.10.4/quasar.umd.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue@2.6.12/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vuex@3.5.1/vuex.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue-router@3.4.3/vue-router.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.13.2/quasar.umd.js') }}"></script>
<script
type="text/javascript"
src="/static/__bundle__/base.js?a52a989e"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Quasar Framework v1.10.4
* Quasar Framework v1.13.2
* (c) 2015-present Razvan Stoenescu
* Released under the MIT License.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* vue-router v3.1.6
* vue-router v3.4.3
* (c) 2020 Evan You
* @license MIT
*/
@ -23,18 +23,6 @@
}
}
function isError (err) {
return Object.prototype.toString.call(err).indexOf('Error') > -1
}
function isExtendedError (constructor, err) {
return (
err instanceof constructor ||
// _name is to support IE9 too
(err && (err.name === constructor.name || err._name === constructor._name))
)
}
function extend (a, b) {
for (var key in b) {
a[key] = b[key];
@ -143,7 +131,7 @@
};
var configProps = matched.props && matched.props[name];
// save route and configProps in cachce
// save route and configProps in cache
if (configProps) {
extend(cache[name], {
route: route,
@ -204,8 +192,8 @@
// - escapes [!'()*]
// - preserve commas
var encode = function (str) { return encodeURIComponent(str)
.replace(encodeReserveRE, encodeReserveReplacer)
.replace(commaRE, ','); };
.replace(encodeReserveRE, encodeReserveReplacer)
.replace(commaRE, ','); };
var decode = decodeURIComponent;
@ -225,11 +213,16 @@
parsedQuery = {};
}
for (var key in extraQuery) {
parsedQuery[key] = extraQuery[key];
var value = extraQuery[key];
parsedQuery[key] = Array.isArray(value)
? value.map(castQueryParamValue)
: castQueryParamValue(value);
}
return parsedQuery
}
var castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };
function parseQuery (query) {
var res = {};
@ -242,9 +235,7 @@
query.split('&').forEach(function (param) {
var parts = param.replace(/\+/g, ' ').split('=');
var key = decode(parts.shift());
var val = parts.length > 0
? decode(parts.join('='))
: null;
var val = parts.length > 0 ? decode(parts.join('=')) : null;
if (res[key] === undefined) {
res[key] = val;
@ -259,34 +250,39 @@
}
function stringifyQuery (obj) {
var res = obj ? Object.keys(obj).map(function (key) {
var val = obj[key];
var res = obj
? Object.keys(obj)
.map(function (key) {
var val = obj[key];
if (val === undefined) {
return ''
}
if (val === null) {
return encode(key)
}
if (Array.isArray(val)) {
var result = [];
val.forEach(function (val2) {
if (val2 === undefined) {
return
if (val === undefined) {
return ''
}
if (val2 === null) {
result.push(encode(key));
} else {
result.push(encode(key) + '=' + encode(val2));
}
});
return result.join('&')
}
return encode(key) + '=' + encode(val)
}).filter(function (x) { return x.length > 0; }).join('&') : null;
if (val === null) {
return encode(key)
}
if (Array.isArray(val)) {
var result = [];
val.forEach(function (val2) {
if (val2 === undefined) {
return
}
if (val2 === null) {
result.push(encode(key));
} else {
result.push(encode(key) + '=' + encode(val2));
}
});
return result.join('&')
}
return encode(key) + '=' + encode(val)
})
.filter(function (x) { return x.length > 0; })
.join('&')
: null;
return res ? ("?" + res) : ''
}
@ -400,6 +396,8 @@
return aKeys.every(function (key) {
var aVal = a[key];
var bVal = b[key];
// query values can be null and undefined
if (aVal == null || bVal == null) { return aVal === bVal }
// check nested equality
if (typeof aVal === 'object' && typeof bVal === 'object') {
return isObjectEqual(aVal, bVal)
@ -610,7 +608,7 @@
* @return {!function(Object=, Object=)}
*/
function compile (str, options) {
return tokensToFunction(parse(str, options))
return tokensToFunction(parse(str, options), options)
}
/**
@ -640,14 +638,14 @@
/**
* Expose a method for transforming tokens into the path function.
*/
function tokensToFunction (tokens) {
function tokensToFunction (tokens, options) {
// Compile all the tokens into regexps.
var matches = new Array(tokens.length);
// Compile all the patterns before compilation.
for (var i = 0; i < tokens.length; i++) {
if (typeof tokens[i] === 'object') {
matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');
matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));
}
}
@ -760,7 +758,7 @@
* @return {string}
*/
function flags (options) {
return options.sensitive ? '' : 'i'
return options && options.sensitive ? '' : 'i'
}
/**
@ -1051,6 +1049,10 @@
replace: Boolean,
activeClass: String,
exactActiveClass: String,
ariaCurrentValue: {
type: String,
default: 'page'
},
event: {
type: eventTypes,
default: 'click'
@ -1096,6 +1098,8 @@
? classes[exactActiveClass]
: isIncludedRoute(current, compareTarget);
var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;
var handler = function (e) {
if (guardEvent(e)) {
if (this$1.replace) {
@ -1144,7 +1148,7 @@
if (this.tag === 'a') {
data.on = on;
data.attrs = { href: href };
data.attrs = { href: href, 'aria-current': ariaCurrentValue };
} else {
// find the first <a> child and apply listener and href
var a = findAnchor(this.$slots.default);
@ -1172,6 +1176,7 @@
var aAttrs = (a.data.attrs = extend({}, a.data.attrs));
aAttrs.href = href;
aAttrs['aria-current'] = ariaCurrentValue;
} else {
// doesn't have <a> child, apply listener to self
data.on = on;
@ -1690,6 +1695,10 @@
var positionStore = Object.create(null);
function setupScroll () {
// Prevent browser scroll behavior on History popstate
if ('scrollRestoration' in window.history) {
window.history.scrollRestoration = 'manual';
}
// Fix for #1585 for Firefox
// Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678
// Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with
@ -1701,12 +1710,10 @@
var stateCopy = extend({}, window.history.state);
stateCopy.key = getStateKey();
window.history.replaceState(stateCopy, '', absolutePath);
window.addEventListener('popstate', function (e) {
saveScrollPosition();
if (e.state && e.state.key) {
setStateKey(e.state.key);
}
});
window.addEventListener('popstate', handlePopState);
return function () {
window.removeEventListener('popstate', handlePopState);
}
}
function handleScroll (
@ -1768,6 +1775,13 @@
}
}
function handlePopState (e) {
saveScrollPosition();
if (e.state && e.state.key) {
setStateKey(e.state.key);
}
}
function getScrollPosition () {
var key = getStateKey();
if (key) {
@ -1853,7 +1867,7 @@
return false
}
return window.history && 'pushState' in window.history
return window.history && typeof window.history.pushState === 'function'
})();
function pushState (url, replace) {
@ -1898,6 +1912,88 @@
step(0);
}
var NavigationFailureType = {
redirected: 2,
aborted: 4,
cancelled: 8,
duplicated: 16
};
function createNavigationRedirectedError (from, to) {
return createRouterError(
from,
to,
NavigationFailureType.redirected,
("Redirected when going from \"" + (from.fullPath) + "\" to \"" + (stringifyRoute(
to
)) + "\" via a navigation guard.")
)
}
function createNavigationDuplicatedError (from, to) {
var error = createRouterError(
from,
to,
NavigationFailureType.duplicated,
("Avoided redundant navigation to current location: \"" + (from.fullPath) + "\".")
);
// backwards compatible with the first introduction of Errors
error.name = 'NavigationDuplicated';
return error
}
function createNavigationCancelledError (from, to) {
return createRouterError(
from,
to,
NavigationFailureType.cancelled,
("Navigation cancelled from \"" + (from.fullPath) + "\" to \"" + (to.fullPath) + "\" with a new navigation.")
)
}
function createNavigationAbortedError (from, to) {
return createRouterError(
from,
to,
NavigationFailureType.aborted,
("Navigation aborted from \"" + (from.fullPath) + "\" to \"" + (to.fullPath) + "\" via a navigation guard.")
)
}
function createRouterError (from, to, type, message) {
var error = new Error(message);
error._isRouter = true;
error.from = from;
error.to = to;
error.type = type;
return error
}
var propertiesToLog = ['params', 'query', 'hash'];
function stringifyRoute (to) {
if (typeof to === 'string') { return to }
if ('path' in to) { return to.path }
var location = {};
propertiesToLog.forEach(function (key) {
if (key in to) { location[key] = to[key]; }
});
return JSON.stringify(location, null, 2)
}
function isError (err) {
return Object.prototype.toString.call(err).indexOf('Error') > -1
}
function isNavigationFailure (err, errorType) {
return (
isError(err) &&
err._isRouter &&
(errorType == null || err.type === errorType)
)
}
/* */
function resolveAsyncComponents (matched) {
@ -2007,33 +2103,6 @@
}
}
var NavigationDuplicated = /*@__PURE__*/(function (Error) {
function NavigationDuplicated (normalizedLocation) {
Error.call(this);
this.name = this._name = 'NavigationDuplicated';
// passing the message to super() doesn't seem to work in the transpiled version
this.message = "Navigating to current location (\"" + (normalizedLocation.fullPath) + "\") is not allowed";
// add a stack property so services like Sentry can correctly display it
Object.defineProperty(this, 'stack', {
value: new Error().stack,
writable: true,
configurable: true
});
// we could also have used
// Error.captureStackTrace(this, this.constructor)
// but it only exists on node and chrome
}
if ( Error ) NavigationDuplicated.__proto__ = Error;
NavigationDuplicated.prototype = Object.create( Error && Error.prototype );
NavigationDuplicated.prototype.constructor = NavigationDuplicated;
return NavigationDuplicated;
}(Error));
// support IE9
NavigationDuplicated._name = 'NavigationDuplicated';
/* */
var History = function History (router, base) {
@ -2046,6 +2115,7 @@
this.readyCbs = [];
this.readyErrorCbs = [];
this.errorCbs = [];
this.listeners = [];
};
History.prototype.listen = function listen (cb) {
@ -2074,13 +2144,27 @@
) {
var this$1 = this;
var route = this.router.match(location, this.current);
var route;
// catch redirect option https://github.com/vuejs/vue-router/issues/3201
try {
route = this.router.match(location, this.current);
} catch (e) {
this.errorCbs.forEach(function (cb) {
cb(e);
});
// Exception should still be thrown
throw e
}
this.confirmTransition(
route,
function () {
var prev = this$1.current;
this$1.updateRoute(route);
onComplete && onComplete(route);
this$1.ensureURL();
this$1.router.afterHooks.forEach(function (hook) {
hook && hook(route, prev);
});
// fire ready cbs once
if (!this$1.ready) {
@ -2096,9 +2180,17 @@
}
if (err && !this$1.ready) {
this$1.ready = true;
this$1.readyErrorCbs.forEach(function (cb) {
cb(err);
});
// Initial redirection should still trigger the onReady onSuccess
// https://github.com/vuejs/vue-router/issues/3225
if (!isNavigationFailure(err, NavigationFailureType.redirected)) {
this$1.readyErrorCbs.forEach(function (cb) {
cb(err);
});
} else {
this$1.readyCbs.forEach(function (cb) {
cb(route);
});
}
}
}
);
@ -2109,11 +2201,10 @@
var current = this.current;
var abort = function (err) {
// after merging https://github.com/vuejs/vue-router/pull/2771 we
// When the user navigates through history through back/forward buttons
// we do not want to throw the error. We only throw it if directly calling
// push/replace. That's why it's not included in isError
if (!isExtendedError(NavigationDuplicated, err) && isError(err)) {
// changed after adding errors with
// https://github.com/vuejs/vue-router/pull/3047 before that change,
// redirect and aborted navigation would produce an err == null
if (!isNavigationFailure(err) && isError(err)) {
if (this$1.errorCbs.length) {
this$1.errorCbs.forEach(function (cb) {
cb(err);
@ -2125,13 +2216,16 @@
}
onAbort && onAbort(err);
};
var lastRouteIndex = route.matched.length - 1;
var lastCurrentIndex = current.matched.length - 1;
if (
isSameRoute(route, current) &&
// in the case the route map has been dynamically appended to
route.matched.length === current.matched.length
lastRouteIndex === lastCurrentIndex &&
route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]
) {
this.ensureURL();
return abort(new NavigationDuplicated(route))
return abort(createNavigationDuplicatedError(current, route))
}
var ref = resolveQueue(
@ -2158,12 +2252,15 @@
this.pending = route;
var iterator = function (hook, next) {
if (this$1.pending !== route) {
return abort()
return abort(createNavigationCancelledError(current, route))
}
try {
hook(route, current, function (to) {
if (to === false || isError(to)) {
if (to === false) {
// next(false) -> abort navigation, ensure current URL
this$1.ensureURL(true);
abort(createNavigationAbortedError(current, route));
} else if (isError(to)) {
this$1.ensureURL(true);
abort(to);
} else if (
@ -2172,7 +2269,7 @@
(typeof to.path === 'string' || typeof to.name === 'string'))
) {
// next('/') or next({ path: '/' }) -> redirect
abort();
abort(createNavigationRedirectedError(current, route));
if (typeof to === 'object' && to.replace) {
this$1.replace(to);
} else {
@ -2197,7 +2294,7 @@
var queue = enterGuards.concat(this$1.router.resolveHooks);
runQueue(queue, iterator, function () {
if (this$1.pending !== route) {
return abort()
return abort(createNavigationCancelledError(current, route))
}
this$1.pending = null;
onComplete(route);
@ -2213,12 +2310,19 @@
};
History.prototype.updateRoute = function updateRoute (route) {
var prev = this.current;
this.current = route;
this.cb && this.cb(route);
this.router.afterHooks.forEach(function (hook) {
hook && hook(route, prev);
};
History.prototype.setupListeners = function setupListeners () {
// Default implementation is empty
};
History.prototype.teardownListeners = function teardownListeners () {
this.listeners.forEach(function (cleanupListener) {
cleanupListener();
});
this.listeners = [];
};
function normalizeBase (base) {
@ -2363,25 +2467,37 @@
var HTML5History = /*@__PURE__*/(function (History) {
function HTML5History (router, base) {
var this$1 = this;
History.call(this, router, base);
this._startLocation = getLocation(this.base);
}
if ( History ) HTML5History.__proto__ = History;
HTML5History.prototype = Object.create( History && History.prototype );
HTML5History.prototype.constructor = HTML5History;
HTML5History.prototype.setupListeners = function setupListeners () {
var this$1 = this;
if (this.listeners.length > 0) {
return
}
var router = this.router;
var expectScroll = router.options.scrollBehavior;
var supportsScroll = supportsPushState && expectScroll;
if (supportsScroll) {
setupScroll();
this.listeners.push(setupScroll());
}
var initLocation = getLocation(this.base);
window.addEventListener('popstate', function (e) {
var handleRoutingEvent = function () {
var current = this$1.current;
// Avoiding first `popstate` event dispatched in some browsers but first
// history route not updated since async guard at the same time.
var location = getLocation(this$1.base);
if (this$1.current === START && location === initLocation) {
if (this$1.current === START && location === this$1._startLocation) {
return
}
@ -2390,12 +2506,12 @@
handleScroll(router, route, current, true);
}
});
};
window.addEventListener('popstate', handleRoutingEvent);
this.listeners.push(function () {
window.removeEventListener('popstate', handleRoutingEvent);
});
}
if ( History ) HTML5History.__proto__ = History;
HTML5History.prototype = Object.create( History && History.prototype );
HTML5History.prototype.constructor = HTML5History;
};
HTML5History.prototype.go = function go (n) {
window.history.go(n);
@ -2441,7 +2557,7 @@
function getLocation (base) {
var path = decodeURI(window.location.pathname);
if (base && path.indexOf(base) === 0) {
if (base && path.toLowerCase().indexOf(base.toLowerCase()) === 0) {
path = path.slice(base.length);
}
return (path || '/') + window.location.search + window.location.hash
@ -2468,31 +2584,40 @@
HashHistory.prototype.setupListeners = function setupListeners () {
var this$1 = this;
if (this.listeners.length > 0) {
return
}
var router = this.router;
var expectScroll = router.options.scrollBehavior;
var supportsScroll = supportsPushState && expectScroll;
if (supportsScroll) {
setupScroll();
this.listeners.push(setupScroll());
}
window.addEventListener(
supportsPushState ? 'popstate' : 'hashchange',
function () {
var current = this$1.current;
if (!ensureSlash()) {
return
}
this$1.transitionTo(getHash(), function (route) {
if (supportsScroll) {
handleScroll(this$1.router, route, current, true);
}
if (!supportsPushState) {
replaceHash(route.fullPath);
}
});
var handleRoutingEvent = function () {
var current = this$1.current;
if (!ensureSlash()) {
return
}
this$1.transitionTo(getHash(), function (route) {
if (supportsScroll) {
handleScroll(this$1.router, route, current, true);
}
if (!supportsPushState) {
replaceHash(route.fullPath);
}
});
};
var eventType = supportsPushState ? 'popstate' : 'hashchange';
window.addEventListener(
eventType,
handleRoutingEvent
);
this.listeners.push(function () {
window.removeEventListener(eventType, handleRoutingEvent);
});
};
HashHistory.prototype.push = function push (location, onComplete, onAbort) {
@ -2665,7 +2790,7 @@
this$1.updateRoute(route);
},
function (err) {
if (isExtendedError(NavigationDuplicated, err)) {
if (isNavigationFailure(err, NavigationFailureType.duplicated)) {
this$1.index = targetIndex;
}
}
@ -2686,8 +2811,6 @@
/* */
var VueRouter = function VueRouter (options) {
if ( options === void 0 ) options = {};
@ -2700,7 +2823,8 @@
this.matcher = createMatcher(options.routes || [], this);
var mode = options.mode || 'hash';
this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;
this.fallback =
mode === 'history' && !supportsPushState && options.fallback !== false;
if (this.fallback) {
mode = 'hash';
}
@ -2728,11 +2852,7 @@
var prototypeAccessors = { currentRoute: { configurable: true } };
VueRouter.prototype.match = function match (
raw,
current,
redirectedFrom
) {
VueRouter.prototype.match = function match (raw, current, redirectedFrom) {
return this.matcher.match(raw, current, redirectedFrom)
};
@ -2743,11 +2863,12 @@
VueRouter.prototype.init = function init (app /* Vue component instance */) {
var this$1 = this;
assert(
install.installed,
"not installed. Make sure to call `Vue.use(VueRouter)` " +
"before creating root instance."
);
assert(
install.installed,
"not installed. Make sure to call `Vue.use(VueRouter)` " +
"before creating root instance."
);
this.apps.push(app);
@ -2760,6 +2881,12 @@
// ensure we still have a main app or null if no apps
// we do not release the router so it can be reused
if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }
if (!this$1.app) {
// clean up event listeners
// https://github.com/vuejs/vue-router/issues/2341
this$1.history.teardownListeners();
}
});
// main app previously initialized
@ -2772,16 +2899,24 @@
var history = this.history;
if (history instanceof HTML5History) {
history.transitionTo(history.getCurrentLocation());
} else if (history instanceof HashHistory) {
var setupHashListener = function () {
if (history instanceof HTML5History || history instanceof HashHistory) {
var handleInitialScroll = function (routeOrError) {
var from = history.current;
var expectScroll = this$1.options.scrollBehavior;
var supportsScroll = supportsPushState && expectScroll;
if (supportsScroll && 'fullPath' in routeOrError) {
handleScroll(this$1, routeOrError, from, false);
}
};
var setupListeners = function (routeOrError) {
history.setupListeners();
handleInitialScroll(routeOrError);
};
history.transitionTo(
history.getCurrentLocation(),
setupHashListener,
setupHashListener
setupListeners,
setupListeners
);
}
@ -2859,11 +2994,14 @@
if (!route) {
return []
}
return [].concat.apply([], route.matched.map(function (m) {
return Object.keys(m.components).map(function (key) {
return m.components[key]
return [].concat.apply(
[],
route.matched.map(function (m) {
return Object.keys(m.components).map(function (key) {
return m.components[key]
})
})
}))
)
};
VueRouter.prototype.resolve = function resolve (
@ -2872,12 +3010,7 @@
append
) {
current = current || this.history.current;
var location = normalizeLocation(
to,
current,
append,
this
);
var location = normalizeLocation(to, current, append, this);
var route = this.match(location, current);
var fullPath = route.redirectedFrom || route.fullPath;
var base = this.history.base;
@ -2915,7 +3048,9 @@
}
VueRouter.install = install;
VueRouter.version = '3.1.6';
VueRouter.version = '3.4.3';
VueRouter.isNavigationFailure = isNavigationFailure;
VueRouter.NavigationFailureType = NavigationFailureType;
if (inBrowser && window.Vue) {
window.Vue.use(VueRouter);

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Vue.js v2.6.12
* (c) 2014-2020 Evan You
* Released under the MIT License.
*/
(function (global, factory) {
@ -5443,7 +5443,7 @@
value: FunctionalRenderContext
});
Vue.version = '2.6.11';
Vue.version = '2.6.12';
/* */
@ -7649,7 +7649,7 @@
// skip the update if old and new VDOM state is the same.
// `value` is handled separately because the DOM value may be temporarily
// out of sync with VDOM state due to focus, composition and modifiers.
// This #4521 by skipping the unnecesarry `checked` update.
// This #4521 by skipping the unnecessary `checked` update.
cur !== oldProps[key]
) {
// some property updates can throw
@ -9894,7 +9894,7 @@
}
},
comment: function comment (text, start, end) {
// adding anyting as a sibling to the root node is forbidden
// adding anything as a sibling to the root node is forbidden
// comments should still be allowed, but ignored
if (currentParent) {
var child = {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/**
* vuex v3.1.3
/*!
* vuex v3.5.1
* (c) 2020 Evan You
* @license MIT
*/
@ -7,7 +7,7 @@
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.Vuex = factory());
}(this, function () { 'use strict';
}(this, (function () { 'use strict';
function applyMixin (Vue) {
var version = Number(Vue.version.split('.')[0]);
@ -65,7 +65,11 @@
store.subscribe(function (mutation, state) {
devtoolHook.emit('vuex:mutation', mutation, state);
});
}, { prepend: true });
store.subscribeAction(function (action, state) {
devtoolHook.emit('vuex:action', action, state);
}, { prepend: true });
}
/**
@ -76,6 +80,47 @@
* @param {Function} f
* @return {*}
*/
function find (list, f) {
return list.filter(f)[0]
}
/**
* Deep copy the given object considering circular structure.
* This function caches all nested objects and its copies.
* If it detects circular structure, use cached copy to avoid infinite loop.
*
* @param {*} obj
* @param {Array<Object>} cache
* @return {*}
*/
function deepCopy (obj, cache) {
if ( cache === void 0 ) cache = [];
// just return if obj is immutable value
if (obj === null || typeof obj !== 'object') {
return obj
}
// if obj is hit, it is in circular structure
var hit = find(cache, function (c) { return c.original === obj; });
if (hit) {
return hit.copy
}
var copy = Array.isArray(obj) ? [] : {};
// put the copy into cache at first
// because we want to refer it in recursive deepCopy
cache.push({
original: obj,
copy: copy
});
Object.keys(obj).forEach(function (key) {
copy[key] = deepCopy(obj[key], cache);
});
return copy
}
/**
* forEach for object
@ -133,6 +178,10 @@
return this._children[key]
};
Module.prototype.hasChild = function hasChild (key) {
return key in this._children
};
Module.prototype.update = function update (rawModule) {
this._rawModule.namespaced = rawModule.namespaced;
if (rawModule.actions) {
@ -220,11 +269,32 @@
ModuleCollection.prototype.unregister = function unregister (path) {
var parent = this.get(path.slice(0, -1));
var key = path[path.length - 1];
if (!parent.getChild(key).runtime) { return }
var child = parent.getChild(key);
if (!child) {
{
console.warn(
"[vuex] trying to unregister module '" + key + "', which is " +
"not registered"
);
}
return
}
if (!child.runtime) {
return
}
parent.removeChild(key);
};
ModuleCollection.prototype.isRegistered = function isRegistered (path) {
var parent = this.get(path.slice(0, -1));
var key = path[path.length - 1];
return parent.hasChild(key)
};
function update (path, targetModule, newModule) {
{
assertRawModule(path, newModule);
@ -404,6 +474,7 @@
.forEach(function (sub) { return sub(mutation, this$1.state); });
if (
options && options.silent
) {
console.warn(
@ -446,28 +517,42 @@
? Promise.all(entry.map(function (handler) { return handler(payload); }))
: entry[0](payload);
return result.then(function (res) {
try {
this$1._actionSubscribers
.filter(function (sub) { return sub.after; })
.forEach(function (sub) { return sub.after(action, this$1.state); });
} catch (e) {
{
console.warn("[vuex] error in after action subscribers: ");
console.error(e);
return new Promise(function (resolve, reject) {
result.then(function (res) {
try {
this$1._actionSubscribers
.filter(function (sub) { return sub.after; })
.forEach(function (sub) { return sub.after(action, this$1.state); });
} catch (e) {
{
console.warn("[vuex] error in after action subscribers: ");
console.error(e);
}
}
}
return res
resolve(res);
}, function (error) {
try {
this$1._actionSubscribers
.filter(function (sub) { return sub.error; })
.forEach(function (sub) { return sub.error(action, this$1.state, error); });
} catch (e) {
{
console.warn("[vuex] error in error action subscribers: ");
console.error(e);
}
}
reject(error);
});
})
};
Store.prototype.subscribe = function subscribe (fn) {
return genericSubscribe(fn, this._subscribers)
Store.prototype.subscribe = function subscribe (fn, options) {
return genericSubscribe(fn, this._subscribers, options)
};
Store.prototype.subscribeAction = function subscribeAction (fn) {
Store.prototype.subscribeAction = function subscribeAction (fn, options) {
var subs = typeof fn === 'function' ? { before: fn } : fn;
return genericSubscribe(subs, this._actionSubscribers)
return genericSubscribe(subs, this._actionSubscribers, options)
};
Store.prototype.watch = function watch (getter, cb, options) {
@ -520,6 +605,16 @@
resetStore(this);
};
Store.prototype.hasModule = function hasModule (path) {
if (typeof path === 'string') { path = [path]; }
{
assert(Array.isArray(path), "module path must be a string or an Array.");
}
return this._modules.isRegistered(path)
};
Store.prototype.hotUpdate = function hotUpdate (newOptions) {
this._modules.update(newOptions);
resetStore(this, true);
@ -534,9 +629,11 @@
Object.defineProperties( Store.prototype, prototypeAccessors$1 );
function genericSubscribe (fn, subs) {
function genericSubscribe (fn, subs, options) {
if (subs.indexOf(fn) < 0) {
subs.push(fn);
options && options.prepend
? subs.unshift(fn)
: subs.push(fn);
}
return function () {
var i = subs.indexOf(fn);
@ -614,7 +711,7 @@
// register in namespace map
if (module.namespaced) {
if (store._modulesNamespaceMap[namespace] && "development" !== 'production') {
if (store._modulesNamespaceMap[namespace] && true) {
console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/'))));
}
store._modulesNamespaceMap[namespace] = module;
@ -675,7 +772,7 @@
if (!options || !options.root) {
type = namespace + type;
if (!store._actions[type]) {
if ( !store._actions[type]) {
console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type));
return
}
@ -692,7 +789,7 @@
if (!options || !options.root) {
type = namespace + type;
if (!store._mutations[type]) {
if ( !store._mutations[type]) {
console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type));
return
}
@ -839,7 +936,7 @@
*/
var mapState = normalizeNamespace(function (namespace, states) {
var res = {};
if (!isValidMap(states)) {
if ( !isValidMap(states)) {
console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');
}
normalizeMap(states).forEach(function (ref) {
@ -875,7 +972,7 @@
*/
var mapMutations = normalizeNamespace(function (namespace, mutations) {
var res = {};
if (!isValidMap(mutations)) {
if ( !isValidMap(mutations)) {
console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');
}
normalizeMap(mutations).forEach(function (ref) {
@ -911,7 +1008,7 @@
*/
var mapGetters = normalizeNamespace(function (namespace, getters) {
var res = {};
if (!isValidMap(getters)) {
if ( !isValidMap(getters)) {
console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');
}
normalizeMap(getters).forEach(function (ref) {
@ -924,7 +1021,7 @@
if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {
return
}
if (!(val in this.$store.getters)) {
if ( !(val in this.$store.getters)) {
console.error(("[vuex] unknown getter: " + val));
return
}
@ -944,7 +1041,7 @@
*/
var mapActions = normalizeNamespace(function (namespace, actions) {
var res = {};
if (!isValidMap(actions)) {
if ( !isValidMap(actions)) {
console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');
}
normalizeMap(actions).forEach(function (ref) {
@ -1035,23 +1132,115 @@
*/
function getModuleByNamespace (store, helper, namespace) {
var module = store._modulesNamespaceMap[namespace];
if (!module) {
if ( !module) {
console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace));
}
return module
}
var index = {
// Credits: borrowed code from fcomb/redux-logger
function createLogger (ref) {
if ( ref === void 0 ) ref = {};
var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;
var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };
var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };
var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };
var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };
var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };
var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;
var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;
var logger = ref.logger; if ( logger === void 0 ) logger = console;
return function (store) {
var prevState = deepCopy(store.state);
if (typeof logger === 'undefined') {
return
}
if (logMutations) {
store.subscribe(function (mutation, state) {
var nextState = deepCopy(state);
if (filter(mutation, prevState, nextState)) {
var formattedTime = getFormattedTime();
var formattedMutation = mutationTransformer(mutation);
var message = "mutation " + (mutation.type) + formattedTime;
startMessage(logger, message, collapsed);
logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));
logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);
logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));
endMessage(logger);
}
prevState = nextState;
});
}
if (logActions) {
store.subscribeAction(function (action, state) {
if (actionFilter(action, state)) {
var formattedTime = getFormattedTime();
var formattedAction = actionTransformer(action);
var message = "action " + (action.type) + formattedTime;
startMessage(logger, message, collapsed);
logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);
endMessage(logger);
}
});
}
}
}
function startMessage (logger, message, collapsed) {
var startMessage = collapsed
? logger.groupCollapsed
: logger.group;
// render
try {
startMessage.call(logger, message);
} catch (e) {
logger.log(message);
}
}
function endMessage (logger) {
try {
logger.groupEnd();
} catch (e) {
logger.log('—— log end ——');
}
}
function getFormattedTime () {
var time = new Date();
return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3)))
}
function repeat (str, times) {
return (new Array(times + 1)).join(str)
}
function pad (num, maxLength) {
return repeat('0', maxLength - num.toString().length) + num
}
var index_cjs = {
Store: Store,
install: install,
version: '3.1.3',
version: '3.5.1',
mapState: mapState,
mapMutations: mapMutations,
mapGetters: mapGetters,
mapActions: mapActions,
createNamespacedHelpers: createNamespacedHelpers
createNamespacedHelpers: createNamespacedHelpers,
createLogger: createLogger
};
return index;
return index_cjs;
}));
})));

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
<link
rel="stylesheet"
type="text/css"
href="{{ url_for('static', filename='vendor/quasar@1.10.4/quasar.min.css') }}"
href="{{ url_for('static', filename='vendor/quasar@1.13.2/quasar.min.css') }}"
/>
{% assets 'base_css' %}
<link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}" />
@ -109,17 +109,17 @@
</q-layout>
{% block vue_templates %}{% endblock %} {% if DEBUG %}
<script src="{{ url_for('static', filename='vendor/vue@2.6.11/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue-router@3.1.6/vue-router.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vuex@3.1.3/vuex.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.10.4/quasar.umd.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue@2.6.12/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vuex@3.5.1/vuex.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue-router@3.4.3/vue-router.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.13.2/quasar.umd.js') }}"></script>
{% else %} {% assets output='__bundle__/vue.js',
'vendor/quasar@1.10.4/quasar.ie.polyfills.umd.min.js',
'vendor/vue@2.6.11/vue.min.js', 'vendor/vue-router@3.1.6/vue-router.min.js',
'vendor/vuex@3.1.3/vuex.min.js', 'vendor/quasar@1.10.4/quasar.umd.min.js' %}
'vendor/quasar@1.13.2/quasar.ie.polyfills.umd.min.js',
'vendor/vue@2.6.12/vue.min.js', 'vendor/vue-router@3.4.3/vue-router.min.js',
'vendor/vuex@3.5.1/vuex.min.js', 'vendor/quasar@1.13.2/quasar.umd.min.js' %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %} {% endif %} {% assets filters='rjsmin',
output='__bundle__/base.js', 'vendor/axios@0.19.2/axios.min.js',
output='__bundle__/base.js', 'vendor/axios@0.20.0/axios.min.js',
'vendor/underscore@1.10.2/underscore.min.js', 'js/base.js',
'js/components.js' %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>

View File

@ -39,11 +39,11 @@
</q-layout>
{% if DEBUG %}
<script src="{{ url_for('static', filename='vendor/vue@2.6.11/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.10.4/quasar.umd.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/vue@2.6.12/vue.js') }}"></script>
<script src="{{ url_for('static', filename='vendor/quasar@1.13.2/quasar.umd.js') }}"></script>
{% else %} {% assets output='__bundle__/vue-print.js',
'vendor/quasar@1.10.4/quasar.ie.polyfills.umd.min.js',
'vendor/vue@2.6.11/vue.min.js', 'vendor/quasar@1.10.4/quasar.umd.min.js' %}
'vendor/quasar@1.13.2/quasar.ie.polyfills.umd.min.js',
'vendor/vue@2.6.12/vue.min.js', 'vendor/quasar@1.13.2/quasar.umd.min.js' %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %} {% endif %} {% block scripts %}{% endblock %}
</body>