vue-amap
Version:
43 lines (40 loc) • 752 B
JavaScript
import registerComponent from '../mixins/register-component';
export default (options) => {
const {
init,
data = () => ({}),
converters = {},
handlers = {},
computed,
methods,
name,
render,
contextReady,
template,
mixins = [],
props = {}
} = options;
const result = {
...options,
props,
data() {
return {
...data(),
converters,
handlers
};
},
mixins: [registerComponent, ...mixins],
computed,
methods: {
...methods,
__initComponent: init,
__contextReady: contextReady
}
};
if (!template && !render) {
result.render = () => null;
}
result.install = Vue => Vue.use(name, result);
return result;
};