import { Campaign, ChoiceRequest, CampaignGroup } from "../../models"; import { AbstractStep } from "../abstractStep"; import { StepResult } from "../stepResult"; class CampaignSizeStep extends AbstractStep { constructor() { super("campaign_size"); this.autoPassCampaignGroup = CampaignGroup.Marketplace | CampaignGroup.Fallback; } async run(request: ChoiceRequest): Promise { const result: StepResult = new StepResult(); const res: Campaign[] = request.campaigns; const response = request.size ? res.slice(0, Math.min(request.size, res.length)) : res; result.passCampaigns(...response); return result; } } export default CampaignSizeStep;