UNPKG

@textlint/kernel

Version:
64 lines 1.86 kB
"use strict"; import { filterDuplicateDescriptor } from "./DescriptorUtil"; /** * Collection class of TextlintPluginDescriptor */ export 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 = 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(); }); } } //# sourceMappingURL=TextlintPluginDescriptors.js.map