{"version":3,"file":"install.mjs","sources":["../../../../packages/utils/vue/install.ts"],"sourcesContent":["import type { SFCWithInstall } from './types'\n\nexport const withInstall = <T, E extends Record<string, any>>(\n  main: T,\n  extra?: E\n) => {\n  ;(main as SFCWithInstall<T>).install = (app): void => {\n    for (const comp of [main, ...Object.values(extra ?? {})]) {\n      app.component(comp.name, comp)\n    }\n  }\n\n  if (extra) {\n    for (const [key, comp] of Object.entries(extra)) {\n      ;(main as any)[key] = comp\n    }\n  }\n  return main as SFCWithInstall<T> & E\n}\n\nexport const withNoopInstall = <T>(component: T) => {\n  ;(component as SFCWithInstall<T>).install = () => {\n    //\n  }\n  return component as SFCWithInstall<T>\n}\n"],"names":[],"mappings":"AAEa,MAAA,WAAA,GAAc,CACzB,IAAA,EACA,KACG,KAAA;AACH,EAAA,CAAA;AAAC,EAAC,IAAA,CAA2B,OAAU,GAAA,CAAC,GAAc,KAAA;AACpD,IAAW,KAAA,MAAA,IAAA,IAAQ,CAAC,IAAA,EAAM,GAAG,MAAA,CAAO,OAAO,KAAS,IAAA,IAAA,GAAA,KAAA,GAAA,EAAE,CAAC,CAAG,EAAA;AACxD,MAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,KAC/B;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,KAAA,MAAW,CAAC,GAAK,EAAA,IAAI,KAAK,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAG,EAAA;AAC/C,MAAA,CAAA;AAAC,MAAC,KAAa,GAAO,CAAA,GAAA,IAAA,CAAA;AAAA,KACxB;AAAA,GACF;AACA,EAAO,OAAA,IAAA,CAAA;AACT,EAAA;AAEa,MAAA,eAAA,GAAkB,CAAI,SAAiB,KAAA;AAClD,EAAA,CAAA;AAAC,EAAC,SAAA,CAAgC,UAAU,MAAM;AAAA,GAElD,CAAA;AACA,EAAO,OAAA,SAAA,CAAA;AACT;;;;"}