UNPKG

@textlint/kernel

Version:
67 lines 2.21 kB
// LICENSE : MIT "use strict"; 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