UNPKG

vuestic-ui

Version:
1 lines 1.2 kB
{"version":3,"file":"use-plugin.mjs","sources":["../../../../../../src/services/vue-plugin/utils/use-plugin.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { VuesticPluginFabric, VuesticPlugin } from '../types'\n\nconst isPluginFabric = <O extends any[]>(plugin: VuesticPlugin | VuesticPluginFabric<O>): plugin is VuesticPluginFabric<O> => typeof plugin === 'function'\n\n/**\n * Allow user to use plugin as function or just pass it.\n *\n * @example\n * ```\n * createVuesticEssential({\n * plugins: [GlobalConfigPlugin]\n * })\n * ```\n *\n * or\n *\n * ```\n * createVuesticEssential({\n * plugins: [GlobalConfigPlugin({ VaButton: { color: 'primary' } })]\n * })\n * ```\n */\nexport const usePlugin = <O>(app: App, plugin: VuesticPlugin | VuesticPluginFabric<O[]>, ...options: O[]) => {\n if (isPluginFabric(plugin)) {\n app.use(plugin(...options))\n } else {\n app.use(plugin) // Do not pass options, because it should be passed to fabric\n }\n}\n"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,CAAkB,WAAqF,OAAO,WAAW;AAoBzI,MAAM,YAAY,CAAI,KAAU,WAAqD,YAAiB;AACvG,MAAA,eAAe,MAAM,GAAG;AAC1B,QAAI,IAAI,OAAO,GAAG,OAAO,CAAC;AAAA,EAAA,OACrB;AACL,QAAI,IAAI,MAAM;AAAA,EAChB;AACF;"}