{"version":3,"file":"with-install.mjs","sources":["../../../../src/utils/with-install.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\r\nimport type { SFCWithInstall } from './types'\r\n\r\nexport const withInstall = >(\r\n main: T,\r\n extra?: E\r\n) => {\r\n (main as SFCWithInstall).install = (app): void => {\r\n for (const comp of [main, ...Object.values(extra ?? {})]) {\r\n app.component(comp.name, comp)\r\n }\r\n }\r\n\r\n if (extra) {\r\n for (const [key, comp] of Object.entries(extra)) {\r\n (main as any)[key] = comp\r\n }\r\n }\r\n return main as SFCWithInstall & E\r\n}\r\n\r\nexport const withInstallFunction = (fn: T, name: string) => {\r\n (fn as SFCWithInstall).install = (app) => {\r\n app.config.globalProperties[name] = fn\r\n }\r\n\r\n return fn as SFCWithInstall\r\n}\r\n\r\nexport const withNoopInstall = (component: T) => {\r\n (component as SFCWithInstall).install = NOOP\r\n\r\n return component as SFCWithInstall\r\n}\r\n"],"names":[],"mappings":";;AAGa,MAAA,WAAA,GAAc,CACzB,IAAA,EACA,KACG,KAAA;AACH,EAAC,IAAA,CAA2B,OAAU,GAAA,CAAC,GAAc,KAAA;AACnD,IAAA,KAAA,MAAW,QAAQ,CAAC,IAAA,EAAM,GAAG,MAAO,CAAA,MAAA,CAAO,wBAAS,EAAM,CAAA,CAAA,EAAA;AACxD,MAAI,GAAA,CAAA,SAAA,CAAU,KAAK,IAAM,EAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAI7B,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,IAAS,CAAA,IAAA,MAAA,CAAO,QAAQ,KAAQ,CAAA,EAAA;AAC/C,MAAC,KAAa,GAAO,CAAA,GAAA,IAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAGzB,EAAO,OAAA,IAAA,CAAA;AAAA,EAAA;AAGI,MAAA,mBAAA,GAAsB,CAAI,EAAA,EAAO,IAAiB,KAAA;AAC7D,EAAC,EAAA,CAAyB,OAAU,GAAA,CAAC,GAAQ,KAAA;AAC3C,IAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,IAAQ,CAAA,GAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAGtC,EAAO,OAAA,EAAA,CAAA;AAAA,EAAA;AAGI,MAAA,eAAA,GAAkB,CAAI,SAAiB,KAAA;AAClD,EAAC,UAAgC,OAAU,GAAA,IAAA,CAAA;AAE3C,EAAO,OAAA,SAAA,CAAA;AAAA;;;;"}