{"version":3,"file":"withInstall.mjs","sources":["../../src/utils/withInstall.ts"],"sourcesContent":["import { App, Plugin, Component, Directive } from 'vue';\n\nfunction withInstall<T>(comp: T, alias?: string, directive?: { name: string; comp: Directive<T> }): T & Plugin {\n  const componentPlugin = comp as T & Component & Plugin;\n\n  componentPlugin.install = (app: App, name?: string) => {\n    app.component(alias || name || componentPlugin.name, comp);\n    directive && app.directive(directive.name, directive.comp);\n  };\n\n  return componentPlugin as T & Plugin;\n}\n\nexport default withInstall;\n"],"names":["componentPlugin","app","directive"],"mappings":";;;;;;AAEA,sCAAA,SAAA,WAAA,CAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA;;AAGkBA,EAAAA,eAAAA,CAAAA,OAAAA,GAAAA,UAAAA,GAAAA,EAAAA,IAAAA,EAAAA;AACdC,IAAAA,GAAAA,CAAAA,SAAAA,CAAAA,KAAAA,IAAAA,IAAAA,IAAAA,eAAAA,CAAAA,IAAAA,EAAAA,IAAAA,CAAAA,CAAAA;AACAC,IAAAA,SAAAA,IAAAA,GAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA,IAAAA,CAAAA,CAAAA;;AAGK,EAAA,OAAA,eAAA,CAAA;AACT;;;;"}