@textlint/kernel
Version:
textlint kernel is core logic by pure JavaScript.
67 lines • 2.21 kB
JavaScript
// LICENSE : MIT
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TextlintRuleDescriptors = void 0;
const TextlintLintableRuleDescriptor_1 = require("./TextlintLintableRuleDescriptor");
const DescriptorUtil_1 = require("./DescriptorUtil");
const TextlintFixableRuleDescriptor_1 = require("./TextlintFixableRuleDescriptor");
/**
* The collection class of TextlintRuleDescriptor
*/
class TextlintRuleDescriptors {
constructor(ruleDescriptorList = []) {
this.ruleDescriptorList = ruleDescriptorList;
}
/**
* Convert this to TextlintKernel rules format
* @returns {Array}
*/
toKernelRulesFormat() {
return this.withoutDuplicated().lintableDescriptors.map((descriptor) => {
return descriptor.toKernel();
});
}
/**
* Return enabled lintable descriptors
*/
get lintableDescriptors() {
return this.descriptors.filter((descriptor) => {
// fixable is also lintable
return descriptor instanceof TextlintLintableRuleDescriptor_1.TextlintLintableRuleDescriptor;
});
}
/**
* Return enabled fixable descriptors
*/
get fixableDescriptors() {
return this.descriptors.filter((descriptor) => {
return descriptor instanceof TextlintFixableRuleDescriptor_1.TextlintFixableRuleDescriptor;
});
}
/**
* Return enabled descriptors
*/
get descriptors() {
return this.ruleDescriptorList.filter((descriptor) => descriptor.enabled);
}
/**
* Return all descriptors that include disabled descriptors
*/
get allDescriptors() {
return this.ruleDescriptorList;
}
/**
* filter duplicated descriptors
*/
withoutDuplicated() {
const newDescriptorList = (0, DescriptorUtil_1.filterDuplicateDescriptor)(this.ruleDescriptorList);
return new TextlintRuleDescriptors(newDescriptorList);
}
toJSON() {
return this.ruleDescriptorList.map((descriptor) => {
return descriptor.toJSON();
});
}
}
exports.TextlintRuleDescriptors = TextlintRuleDescriptors;
//# sourceMappingURL=TextlintRuleDescriptors.js.map