{"version":3,"file":"install.mjs","sources":["../../../../packages/utils/install.ts"],"sourcesContent":["import type { App, Directive } from 'vue'\nimport type { SFCWithInstall } from '../types'\n\n// 注册组件\nexport const withInstall = <T>(main: T) => {\n  ;(main as SFCWithInstall<T>).install = (app): void => {\n    const comp: Record<string, any> = main as Record<string, any>\n    app.component(comp.name, comp)\n  }\n  return main as SFCWithInstall<T>\n}\n\n// 注册指令\nexport const withInstallDirectives = <T extends Directive>(main: T, name: string) => {\n  return {\n    install: (app: App): void => {\n      app.directive(name, main)\n    },\n    directive: main\n  }\n}\n"],"names":[],"mappings":";;AAIa,MAAA,WAAA,2BAAkB,IAAY,KAAA;AACzC,EAAA;AAAC,EAAC,IAAA,CAA2B,OAAU,GAAA,CAAC,GAAc,KAAA;AACpD,IAAA,MAAM,IAA4B,GAAA,IAAA;AAClC,IAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA;AAAA,GAC/B;AACA,EAAO,OAAA,IAAA;AACT,CAN2B,EAAA,aAAA;AASd,MAAA,qBAAA,mBAA8C,MAAA,CAAA,CAAA,IAAA,EAAS,IAAiB,KAAA;AACnF,EAAO,OAAA;AAAA,IACL,OAAA,0BAAU,GAAmB,KAAA;AAC3B,MAAI,GAAA,CAAA,SAAA,CAAU,MAAM,IAAI,CAAA;AAAA,KADjB,EAAA,SAAA,CAAA;AAAA,IAGT,SAAW,EAAA;AAAA,GACb;AACF,CAPqC,EAAA,uBAAA;;;;"}