'use strict';
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
var vue = require('vue');
|
var Component = require('vue-class-component');
|
var vuexModuleDecorators = require('vuex-module-decorators');
|
var vuexClass = require('vuex-class');
|
var vuePropertyDecorator = require('vue-property-decorator');
|
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
var vue__default = /*#__PURE__*/_interopDefaultLegacy(vue);
|
var Component__default = /*#__PURE__*/_interopDefaultLegacy(Component);
|
|
Component__default['default'].registerHooks([
|
"beforeRouteEnter",
|
"beforeRouteUpdate",
|
"beforeRouteLeave",
|
"asyncData",
|
"fetch",
|
"fetchOnServer",
|
"head",
|
"key",
|
"layout",
|
"loading",
|
"middleware",
|
"scrollToTop",
|
"transition",
|
"validate",
|
"watchQuery",
|
"meta",
|
]);
|
// Code copied from Vue/src/shared/util.js
|
var hyphenateRE = /\B([A-Z])/g;
|
var hyphenate = function (str) { return str.replace(hyphenateRE, "-$1").toLowerCase(); };
|
/**
|
* decorator of $off
|
* @public
|
* @param event - The name of the event
|
* @param method - The name of the method
|
*/
|
function Off(event, method) {
|
return function (target, key, descriptor) {
|
key = hyphenate(key);
|
var original = descriptor.value;
|
descriptor.value = function offer() {
|
var args = [];
|
for (var _i = 0; _i < arguments.length; _i++) {
|
args[_i] = arguments[_i];
|
}
|
if (original.apply(this, args) !== false) {
|
if (method) {
|
if (typeof this[method] === "function") {
|
this.$off(event || key, this[method]);
|
}
|
else {
|
throw new TypeError("must be a method name");
|
}
|
}
|
else if (event) {
|
this.$off(event || key);
|
}
|
else {
|
this.$off();
|
}
|
}
|
};
|
};
|
}
|
/**
|
* decorator of $on
|
* @public
|
* @param event - The name of the event
|
*/
|
function On(event) {
|
return Component.createDecorator(function (componentOptions, k) {
|
var key = hyphenate(k);
|
if (typeof componentOptions.created !== "function") {
|
componentOptions.created = function () { };
|
}
|
var original = componentOptions.created;
|
componentOptions.created = function () {
|
original();
|
if (typeof componentOptions.methods !== "undefined") {
|
this.$on(event || key, componentOptions.methods[k]);
|
}
|
};
|
});
|
}
|
/**
|
* decorator of $once
|
* @public
|
* @param event - The name of the event
|
*/
|
function Once(event) {
|
return Component.createDecorator(function (componentOptions, k) {
|
var key = hyphenate(k);
|
if (typeof componentOptions.created !== "function") {
|
componentOptions.created = function () { };
|
}
|
var original = componentOptions.created;
|
componentOptions.created = function () {
|
original();
|
if (typeof componentOptions.methods !== "undefined") {
|
this.$once(event || key, componentOptions.methods[k]);
|
}
|
};
|
});
|
}
|
/**
|
* decorator of $nextTick
|
*
|
* @public
|
* @param method - Method name
|
* @returns Method Decorator
|
*/
|
function NextTick(method) {
|
return function (target, key, descriptor) {
|
var original = descriptor.value;
|
descriptor.value = function emitter() {
|
var args = [];
|
for (var _i = 0; _i < arguments.length; _i++) {
|
args[_i] = arguments[_i];
|
}
|
if (original.apply(this, args) !== false)
|
if (typeof this[method] === "function") {
|
this.$nextTick(this[method]);
|
}
|
else {
|
throw new TypeError("must be a method name");
|
}
|
};
|
};
|
}
|
|
Object.defineProperty(exports, 'Vue', {
|
enumerable: true,
|
get: function () {
|
return vue__default['default'];
|
}
|
});
|
Object.defineProperty(exports, 'Component', {
|
enumerable: true,
|
get: function () {
|
return Component__default['default'];
|
}
|
});
|
Object.defineProperty(exports, 'mixins', {
|
enumerable: true,
|
get: function () {
|
return Component.mixins;
|
}
|
});
|
Object.defineProperty(exports, 'Module', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.Module;
|
}
|
});
|
Object.defineProperty(exports, 'MutationAction', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.MutationAction;
|
}
|
});
|
Object.defineProperty(exports, 'VuexAction', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.Action;
|
}
|
});
|
Object.defineProperty(exports, 'VuexModule', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.VuexModule;
|
}
|
});
|
Object.defineProperty(exports, 'VuexMutation', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.Mutation;
|
}
|
});
|
Object.defineProperty(exports, 'getModule', {
|
enumerable: true,
|
get: function () {
|
return vuexModuleDecorators.getModule;
|
}
|
});
|
Object.defineProperty(exports, 'Action', {
|
enumerable: true,
|
get: function () {
|
return vuexClass.Action;
|
}
|
});
|
Object.defineProperty(exports, 'Getter', {
|
enumerable: true,
|
get: function () {
|
return vuexClass.Getter;
|
}
|
});
|
Object.defineProperty(exports, 'Mutation', {
|
enumerable: true,
|
get: function () {
|
return vuexClass.Mutation;
|
}
|
});
|
Object.defineProperty(exports, 'State', {
|
enumerable: true,
|
get: function () {
|
return vuexClass.State;
|
}
|
});
|
Object.defineProperty(exports, 'namespace', {
|
enumerable: true,
|
get: function () {
|
return vuexClass.namespace;
|
}
|
});
|
Object.defineProperty(exports, 'Emit', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Emit;
|
}
|
});
|
Object.defineProperty(exports, 'Inject', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Inject;
|
}
|
});
|
Object.defineProperty(exports, 'InjectReactive', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.InjectReactive;
|
}
|
});
|
Object.defineProperty(exports, 'Model', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Model;
|
}
|
});
|
Object.defineProperty(exports, 'ModelSync', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.ModelSync;
|
}
|
});
|
Object.defineProperty(exports, 'Prop', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Prop;
|
}
|
});
|
Object.defineProperty(exports, 'PropSync', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.PropSync;
|
}
|
});
|
Object.defineProperty(exports, 'Provide', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Provide;
|
}
|
});
|
Object.defineProperty(exports, 'ProvideReactive', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.ProvideReactive;
|
}
|
});
|
Object.defineProperty(exports, 'Ref', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Ref;
|
}
|
});
|
Object.defineProperty(exports, 'VModel', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.VModel;
|
}
|
});
|
Object.defineProperty(exports, 'Watch', {
|
enumerable: true,
|
get: function () {
|
return vuePropertyDecorator.Watch;
|
}
|
});
|
exports.NextTick = NextTick;
|
exports.Off = Off;
|
exports.On = On;
|
exports.Once = Once;
|
//# sourceMappingURL=nuxt-property-decorator.common.js.map
|