comic-plus
Version:
<p align="center"> <img width="200px" src="./logo.png"/> </p>
31 lines (30 loc) • 816 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const type = require("../components/form/src/type.js");
function flattenArray(a) {
let n = [];
a.forEach((o) => {
if (Array.isArray(o)) {
n = n.concat(flattenArray(o));
} else {
n.push(o);
}
});
return Array.from(new Set(n));
}
function useItemValidate() {
const validate = vue.inject(type.FORMITEM_PROVIDE, void 0);
const validateTriggers = vue.computed(() => {
return flattenArray((validate == null ? void 0 : validate.trigger) ?? []);
});
const itemValidate = function(trigger) {
if (validate && validateTriggers.value.includes(trigger)) {
validate.fn();
}
};
return {
itemValidate
};
}
exports.useItemValidate = useItemValidate;