UNPKG

@textlint/kernel

Version:
64 lines 1.97 kB
// LICENSE : MIT "use strict"; import { TextlintLintableRuleDescriptor } from "./TextlintLintableRuleDescriptor"; import { filterDuplicateDescriptor } from "./DescriptorUtil"; import { TextlintFixableRuleDescriptor } from "./TextlintFixableRuleDescriptor"; /** * The collection class of TextlintRuleDescriptor */ export 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; }); } /** * Return enabled fixable descriptors */ get fixableDescriptors() { return this.descriptors.filter((descriptor) => { return descriptor instanceof 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 = filterDuplicateDescriptor(this.ruleDescriptorList); return new TextlintRuleDescriptors(newDescriptorList); } toJSON() { return this.ruleDescriptorList.map((descriptor) => { return descriptor.toJSON(); }); } } //# sourceMappingURL=TextlintRuleDescriptors.js.map