From 42cc8bf7a9375a1c1a45fb5c2a0eabe30b9d4f0d Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sat, 16 Jul 2022 14:41:30 +0800 Subject: [PATCH] refactor: format code --- lib/index.iife.js | 185 +++++++++++++++++++++++----------------------- 1 file changed, 93 insertions(+), 92 deletions(-) diff --git a/lib/index.iife.js b/lib/index.iife.js index 4123055..76c8f0a 100644 --- a/lib/index.iife.js +++ b/lib/index.iife.js @@ -1,111 +1,112 @@ -;var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) { +var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) { if (VueDemi.install) { return VueDemi } - if (Vue) { - if (Vue.version.slice(0, 4) === '2.7.') { - for (var key in Vue) { - VueDemi[key] = Vue[key] + if (!Vue) { + console.error('[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.') + return VueDemi + } + + // Vue 2.7 + if (Vue.version.slice(0, 4) === '2.7.') { + for (var key in Vue) { + VueDemi[key] = Vue[key] + } + VueDemi.isVue2 = true + VueDemi.isVue3 = false + VueDemi.install = function () {} + VueDemi.Vue = Vue + VueDemi.Vue2 = Vue + VueDemi.version = Vue.version + function createApp(rootComponent, rootProps) { + var vm + var provide = {} + var app = { + config: Vue.config, + use: Vue.use.bind(Vue), + mixin: Vue.mixin.bind(Vue), + component: Vue.component.bind(Vue), + provide: function (key, value) { + provide[key] = value + return this + }, + directive: function (name, dir) { + if (dir) { + Vue.directive(name, dir) + return app + } else { + return Vue.directive(name) + } + }, + mount: function (el, hydrating) { + if (!vm) { + vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) })) + vm.$mount(el, hydrating) + return vm + } else { + return vm + } + }, + unmount: function () { + if (vm) { + vm.$destroy() + vm = undefined + } + }, + } + return app + } + VueDemi.createApp = createApp + } + // Vue 2.6.x + else if (Vue.version.slice(0, 2) === '2.') { + if (VueCompositionAPI) { + for (var key in VueCompositionAPI) { + VueDemi[key] = VueCompositionAPI[key] } VueDemi.isVue2 = true VueDemi.isVue3 = false - VueDemi.install = function (){} + VueDemi.install = function () {} VueDemi.Vue = Vue VueDemi.Vue2 = Vue VueDemi.version = Vue.version - function createApp(rootComponent, rootProps) { - var vm - var provide = {} - var app = { - config: Vue.config, - use: Vue.use.bind(Vue), - mixin: Vue.mixin.bind(Vue), - component: Vue.component.bind(Vue), - provide: function (key, value) { - provide[key] = value - return this - }, - directive: function (name, dir) { - if (dir) { - Vue.directive(name, dir) - return app - } else { - return Vue.directive(name) - } - }, - mount: function (el, hydrating) { - if (!vm) { - vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) })) - vm.$mount(el, hydrating) - return vm - } else { - return vm - } - }, - unmount: function () { - if (vm) { - vm.$destroy() - vm = undefined - } - }, - } - return app - } - VueDemi.createApp = createApp + } else { + console.error('[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.') } - else if (Vue.version.slice(0, 2) === '2.') { - if (VueCompositionAPI) { - for (var key in VueCompositionAPI) { - VueDemi[key] = VueCompositionAPI[key] - } - VueDemi.isVue2 = true - VueDemi.isVue3 = false - VueDemi.install = function (){} - VueDemi.Vue = Vue - VueDemi.Vue2 = Vue - VueDemi.version = Vue.version - } else { - console.error( - '[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.' - ) - } - } else if (Vue.version.slice(0, 2) === '3.') { - for (var key in Vue) { - VueDemi[key] = Vue[key] - } - VueDemi.isVue2 = false - VueDemi.isVue3 = true - VueDemi.install = function (){} - VueDemi.Vue = Vue - VueDemi.Vue2 = undefined - VueDemi.version = Vue.version - VueDemi.set = function(target, key, val) { - if (Array.isArray(target)) { - target.length = Math.max(target.length, key) - target.splice(key, 1, val) - return val - } - target[key] = val + } + // Vue 3 + else if (Vue.version.slice(0, 2) === '3.') { + for (var key in Vue) { + VueDemi[key] = Vue[key] + } + VueDemi.isVue2 = false + VueDemi.isVue3 = true + VueDemi.install = function () {} + VueDemi.Vue = Vue + VueDemi.Vue2 = undefined + VueDemi.version = Vue.version + VueDemi.set = function (target, key, val) { + if (Array.isArray(target)) { + target.length = Math.max(target.length, key) + target.splice(key, 1, val) return val } - VueDemi.del = function(target, key) { - if (Array.isArray(target)) { - target.splice(key, 1) - return - } - delete target[key] + target[key] = val + return val + } + VueDemi.del = function (target, key) { + if (Array.isArray(target)) { + target.splice(key, 1) + return } - } else { - console.error('[vue-demi] Vue version ' + Vue.version + ' is unsupported.') + delete target[key] } } else { - console.error( - '[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.' - ) + console.error('[vue-demi] Vue version ' + Vue.version + ' is unsupported.') } return VueDemi })( - this.VueDemi = this.VueDemi || (typeof VueDemi !== "undefined" ? VueDemi : {}), - this.Vue || (typeof Vue !== "undefined" ? Vue : undefined), - this.VueCompositionAPI || (typeof VueCompositionAPI !== "undefined" ? VueCompositionAPI : undefined) + (this.VueDemi = this.VueDemi || (typeof VueDemi !== 'undefined' ? VueDemi : {})), + this.Vue || (typeof Vue !== 'undefined' ? Vue : undefined), + this.VueCompositionAPI || (typeof VueCompositionAPI !== 'undefined' ? VueCompositionAPI : undefined) );