UNPKG

@textlint/kernel

Version:
67 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextlintPluginDescriptors = void 0; const DescriptorUtil_1 = require("./DescriptorUtil"); /** * Collection class of TextlintPluginDescriptor */ class TextlintPluginDescriptors { constructor(pluginDescriptorList = []) { this.pluginDescriptorList = pluginDescriptorList; } /** * Return enabled descriptors */ get descriptors() { return this.pluginDescriptorList.filter((descriptor) => { return descriptor.enabled; }); } /** * Return all descriptors that include disabled descriptors */ get allDescriptors() { return this.pluginDescriptorList; } /** * Return available extensions * It is not includes disabled plugin's extensions. */ get availableExtensions() { return this.descriptors.reduce((extensions, descriptor) => { return extensions.concat(descriptor.availableExtensions); }, []); } /** * find PluginDescriptor with extension. * This is forward match. */ findPluginDescriptorWithExt(ext) { return this.descriptors.find((descriptor) => { return descriptor.availableExtensions.includes(ext); }); } /** * filter duplicated descriptors */ withoutDuplicated() { const newDescriptorList = (0, DescriptorUtil_1.filterDuplicateDescriptor)(this.pluginDescriptorList); return new TextlintPluginDescriptors(newDescriptorList); } /** * Convert this to TextlintKernel rules format * @returns {Array} */ toKernelPluginsFormat() { return this.descriptors.map((descriptor) => { return descriptor.toKernel(); }); } toJSON() { return this.descriptors.map((descriptor) => { return descriptor.toJSON(); }); } } exports.TextlintPluginDescriptors = TextlintPluginDescriptors; //# sourceMappingURL=TextlintPluginDescriptors.js.map