UNPKG

matting-editor

Version:

matting-editor

42 lines (32 loc) 1.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var eventBusName = '_eventBus'; var eventsName = '$events'; var getRootConstructor = function getRootConstructor(ctx) { var Ctor = ctx.constructor; while (Ctor.super) { Ctor = Ctor.super; } return Ctor; }; exports.default = { computed: _defineProperty({}, eventsName, function () { var vm = this; while (vm && !vm.hasOwnProperty(eventBusName)) { vm = vm.$parent; } return vm && vm[eventBusName] || this.$createEvents(); }), methods: { $createEvents: function $createEvents() { if (!this.hasOwnProperty(eventBusName)) { var Events = getRootConstructor(this); this[eventBusName] = new Events(); } return this[eventBusName]; } } };