UNPKG

stellar-plus

Version:

beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain

25 lines (24 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MultiBeltPipeline = void 0; const conveyor_belts_1 = require("../../../../stellar-plus/utils/pipeline/conveyor-belts"); const types_1 = require("../../../../stellar-plus/utils/pipeline/conveyor-belts/types"); const helpers_1 = require("../plugins/helpers"); class MultiBeltPipeline extends conveyor_belts_1.ConveyorBelt { constructor(options) { const mainPlugins = (0, helpers_1.filterPluginsByTypes)(options.plugins || [], [options.beltType, types_1.GenericPlugin.id]); super({ type: options.beltType, plugins: mainPlugins || [], }); const innerPlugins = (0, helpers_1.filterPluginsByTypes)(options.plugins || [], [options.beltType], true); this.innerPlugins = innerPlugins || []; } getInnerPluginsByType(executionPlugins, pipelineType, excludeGeneric) { const filterTypes = excludeGeneric ? [pipelineType] : [pipelineType, types_1.GenericPlugin.id]; return (0, helpers_1.filterPluginsByTypes)([...this.innerPlugins, ...executionPlugins], filterTypes); } } exports.MultiBeltPipeline = MultiBeltPipeline;