2020-03-07 11:45:40 +08:00
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
|
// These validator functions answer the question “Is the config valid?” – return
|
|
|
|
|
// `false` if the options DO conflict with Prettier, and `true` if they don’t.
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
curly(options) {
|
|
|
|
|
if (options.length === 0) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const firstOption = options[0];
|
|
|
|
|
return firstOption !== "multi-line" && firstOption !== "multi-or-nest";
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"lines-around-comment"(options) {
|
|
|
|
|
if (options.length === 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const firstOption = options[0];
|
|
|
|
|
return Boolean(
|
|
|
|
|
firstOption &&
|
|
|
|
|
firstOption.allowBlockStart &&
|
|
|
|
|
firstOption.allowBlockEnd &&
|
|
|
|
|
firstOption.allowObjectStart &&
|
|
|
|
|
firstOption.allowObjectEnd &&
|
|
|
|
|
firstOption.allowArrayStart &&
|
|
|
|
|
firstOption.allowArrayEnd
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"no-confusing-arrow"(options) {
|
|
|
|
|
if (options.length === 0) {
|
2020-03-31 20:40:00 +08:00
|
|
|
|
return false;
|
2020-03-07 11:45:40 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const firstOption = options[0];
|
2020-03-31 20:40:00 +08:00
|
|
|
|
return firstOption ? firstOption.allowParens === false : false;
|
2020-03-07 11:45:40 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"vue/html-self-closing"(options) {
|
|
|
|
|
if (options.length === 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const firstOption = options[0];
|
|
|
|
|
return Boolean(
|
2020-03-31 20:40:00 +08:00
|
|
|
|
firstOption && firstOption.html && firstOption.html.void === "any"
|
2020-03-07 11:45:40 +08:00
|
|
|
|
// Enable when Prettier supports SVG: https://github.com/prettier/prettier/issues/5322
|
|
|
|
|
// && firstOption.svg === "any"
|
|
|
|
|
);
|
2020-03-31 20:40:00 +08:00
|
|
|
|
},
|
2020-03-07 11:45:40 +08:00
|
|
|
|
};
|