vue-autowire
Version:
Autowiring plugin for VueJS
11 lines • 2.83 kB
JavaScript
/*!
* vue-autowire v0.2.2
* (c) 2020 Kaizen Dorks
* @license MIT
*/
/*!
* vue-autowire v0.2.2
* (c) 2020 Kaizen Dorks
* @license MIT
*/
var e,t;e=this,t=function(){"use strict";function e(e){return e.split("/").pop().replace(/\.js$|\.vue$/,"").replace(/\.async$/,"")}function t(e,t){return t.keys().map((function(e){var n=t(e);return n.default?n.default:n}))}function n(t,n){return n.keys().map((function(r){var i=e(r),o=n(r);return o.hasOwnProperty("default")&&(o=o.default),t.filter(i,o),{name:i,filter:t.filter(i)}}))}function r(t,n){return n.keys().map((function(r){var i=e(r),o=n(r);return o.hasOwnProperty("default")&&(o=o.default),t.directive(i,o),{name:i,directive:t.directive(i)}}))}function i(t,n){return n.keys().map((function(r){var i=e(r),o=n(r);return o.hasOwnProperty("default")&&(o=o.default),t.component(i,o),{name:i,component:t.component(i)}}))}function o(t,n){if("string"==typeof n.id&&!n.id.includes("lazy"))throw new Error("require.context for async components should be created in lazy mode. See https://github.com/webpack/docs/wiki/context#context-module-api");return n.keys().map((function(r){var i=e(r);return t.component(i,(function(){return n(r)})),{name:i,component:t.component(i)}}))}return function(e,s){var c={components:(s=Object.assign({routes:{requireContext:null},filters:{requireContext:null},directives:{requireContext:null},components:{requireContext:null,requireAsyncContext:null},views:{requireContext:null,requireAsyncContext:null}},s)).components.requireContext?i(e,s.components.requireContext):[],asyncComponents:s.components.requireAsyncContext?o(e,s.components.requireAsyncContext):[],views:s.views.requireContext?i(e,s.views.requireContext):[],asyncViews:s.views.requireAsyncContext?o(e,s.views.requireAsyncContext):[],routes:s.routes.requireContext?t(0,s.routes.requireContext):[],filters:s.filters.requireContext?n(e,s.filters.requireContext):[],directives:s.directives.requireContext?r(e,s.directives.requireContext):[]},u={components:c.components,asyncComponents:c.asyncComponents,views:c.views,asyncViews:c.asyncViews,routes:c.routes,filters:c.filters,directives:c.directives,registerComponents:function(t){this.components=this.components.concat(i(e,t))},registerAsyncComponents:function(t){this.asyncComponents=this.asyncComponents.concat(o(e,t))},registerViews:function(t){this.views=this.views.concat(i(e,t))},registerAsyncViews:function(t){this.asyncViews=this.asyncViews.concat(o(e,t))},registerRoutes:function(e){this.routes=this.routes.concat(t(0,e))},registerFilters:function(t){this.filters=this.filters.concat(n(e,t))},registerDirectives:function(t){this.directives=this.directives.concat(r(e,t))}};e.autowire=u}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).VueAutowire=t();