UNPKG

@textlint/kernel

Version:
43 lines 1.35 kB
// LICENSE : MIT "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class MessageProcessManager { /** * Preprossor */ constructor(preProcessors) { this._preProcessors = preProcessors || []; this._processors = []; } add(messageProcessor) { this._processors.push(messageProcessor); } remove(process) { const index = this._processors.indexOf(process); if (index !== -1) { this._processors.splice(index, 1); } } /** * process `messages` with registered processes * @param {TextlintMessage[]} messages * @returns {TextlintMessage[]} */ process(messages) { const originalMessages = messages; if (this._preProcessors.length === 0) { throw new Error("pre process should be > 0"); } const preProcessedMesssages = this._preProcessors.reduce((messages, filter) => { return filter(messages); }, originalMessages); if (this._processors.length === 0) { return preProcessedMesssages; } return this._processors.reduce((messages, filter) => { return filter(messages); }, preProcessedMesssages); } } exports.default = MessageProcessManager; //# sourceMappingURL=MessageProcessManager.js.map