ivue-material-plus
Version:
A high quality UI components Library with Vue.js
1 lines • 2.18 kB
Source Map (JSON)
{"version":3,"file":"registrable.mjs","sources":["../../../../../src/utils/mixins/registrable.ts"],"sourcesContent":["import { createApp } from 'vue';\r\n\r\nfunction generateWarning(child, parent) {\r\n // eslint-disable-next-line no-console\r\n return () =>\r\n console.error(`The ${child} component must be used inside a ${parent}`);\r\n}\r\n\r\n// 注入\r\nexport function inject(\r\n namespace: string,\r\n child: Record<string, any>,\r\n parent: Record<string, any>\r\n): any {\r\n const defaultImpl =\r\n child && parent\r\n ? {\r\n register: generateWarning(child, parent),\r\n unregister: generateWarning(child, parent),\r\n }\r\n : null;\r\n\r\n return createApp({\r\n name: 'registrable-inject',\r\n\r\n inject: {\r\n [namespace]: {\r\n default: defaultImpl,\r\n },\r\n },\r\n });\r\n}\r\n\r\n// 提供\r\nexport function provide(namespace: string): any {\r\n return createApp({\r\n name: 'registrable-provide',\r\n\r\n methods: {\r\n register: null,\r\n unregister: null,\r\n },\r\n provide() {\r\n return {\r\n [namespace]: {\r\n register: this.register,\r\n unregister: this.unregister,\r\n },\r\n };\r\n },\r\n });\r\n}\r\n"],"names":[],"mappings":";;AAEA,SAAS,eAAA,CAAgB,OAAO,MAAQ,EAAA;AAEtC,EAAA,OAAO,MACL,OAAA,CAAQ,KAAM,CAAA,CAAA,IAAA,EAAO,yCAAyC,MAAQ,CAAA,CAAA,CAAA,CAAA;AAC1E,CAAA;AAGgB,SAAA,MAAA,CACd,SACA,EAAA,KAAA,EACA,MACK,EAAA;AACL,EAAM,MAAA,WAAA,GACJ,SAAS,MACL,GAAA;AAAA,IACE,QAAA,EAAU,eAAgB,CAAA,KAAA,EAAO,MAAM,CAAA;AAAA,IACvC,UAAA,EAAY,eAAgB,CAAA,KAAA,EAAO,MAAM,CAAA;AAAA,GAE3C,GAAA,IAAA,CAAA;AAEN,EAAA,OAAO,SAAU,CAAA;AAAA,IACf,IAAM,EAAA,oBAAA;AAAA,IAEN,MAAQ,EAAA;AAAA,MACN,CAAC,SAAY,GAAA;AAAA,QACX,OAAS,EAAA,WAAA;AAAA,OACX;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH,CAAA;AAGO,SAAS,QAAQ,SAAwB,EAAA;AAC9C,EAAA,OAAO,SAAU,CAAA;AAAA,IACf,IAAM,EAAA,qBAAA;AAAA,IAEN,OAAS,EAAA;AAAA,MACP,QAAU,EAAA,IAAA;AAAA,MACV,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,OAAU,GAAA;AACR,MAAO,OAAA;AAAA,QACL,CAAC,SAAY,GAAA;AAAA,UACX,UAAU,IAAK,CAAA,QAAA;AAAA,UACf,YAAY,IAAK,CAAA,UAAA;AAAA,SACnB;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH;;;;"}