ivue-material-plus
Version:
A high quality UI components Library with Vue.js
45 lines (40 loc) • 980 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function generateWarning(child, parent) {
return () => console.error(`The ${child} component must be used inside a ${parent}`);
}
function inject(namespace, child, parent) {
const defaultImpl = child && parent ? {
register: generateWarning(child, parent),
unregister: generateWarning(child, parent)
} : null;
return vue.createApp({
name: "registrable-inject",
inject: {
[namespace]: {
default: defaultImpl
}
}
});
}
function provide(namespace) {
return vue.createApp({
name: "registrable-provide",
methods: {
register: null,
unregister: null
},
provide() {
return {
[namespace]: {
register: this.register,
unregister: this.unregister
}
};
}
});
}
exports.inject = inject;
exports.provide = provide;
//# sourceMappingURL=registrable.js.map