{"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,GAAc,CAAI,IAAY,KAAA;AACzC,EAAC,IAAA,CAA2B,OAAU,GAAA,CAAC,GAAc,KAAA;AACnD,IAAA,MAAM,IAA4B,GAAA,IAAA,CAAA;AAClC,IAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,GAC/B,CAAA;AACA,EAAO,OAAA,IAAA,CAAA;AACT,EAAA;AAGa,MAAA,qBAAA,GAAwB,CAAsB,IAAA,EAAS,IAAiB,KAAA;AACnF,EAAO,OAAA;AAAA,IACL,OAAA,EAAS,CAAC,GAAmB,KAAA;AAC3B,MAAI,GAAA,CAAA,SAAA,CAAU,MAAM,IAAI,CAAA,CAAA;AAAA,KAC1B;AAAA,IACA,SAAW,EAAA,IAAA;AAAA,GACb,CAAA;AACF;;;;"}