@nextcloud/vue
Version:
Nextcloud vue components
26 lines (25 loc) • 796 B
JavaScript
import Vue, { getCurrentInstance, computed } from "vue";
function useModelMigration(oldModelName, oldModelEvent, required = false) {
const vm = getCurrentInstance().proxy;
if (required && vm.$props[oldModelName] === void 0 && vm.$props.modelValue === void 0) {
Vue.util.warn(`Missing required prop: "modelValue" or old "${oldModelName}"`);
}
const model = computed({
get() {
if (vm.$props[oldModelName] !== void 0) {
return vm.$props[oldModelName];
}
return vm.$props.modelValue;
},
set(value) {
vm.$emit("update:modelValue", value);
vm.$emit("update:model-value", value);
vm.$emit(oldModelEvent, value);
}
});
return model;
}
export {
useModelMigration as u
};
//# sourceMappingURL=useModelMigration-EhAWvqDD.mjs.map