import { BaseStarXpandCommandBuilder } from './BaseStarXpandCommandBuilder'; import { StarXpandCommand } from '../../index'; import { StarXpandCommandParameterConverter } from './StarXpandCommandParameterConverter'; export class PresenterSettingBuilder extends BaseStarXpandCommandBuilder { public _parameters: Map; constructor() { super(); this._parameters = new Map([ ["category", "Presenter"], ["contents", new Array>()] ]); } settingMode(parameter: StarXpandCommand.Presenter.ModeParameter): PresenterSettingBuilder { this._addAction(async() => { let contents = this._parameters.get("contents") as Array>; contents.push( new Map([ ["method", "Mode"], ["parameter", new Map([ ["loop", parameter.loop], ["hold", parameter.hold], ["retract", parameter.retract], ["hold_time", parameter.holdTime] ])] ]) ); }); return this; } settingLedAutomaticBlink(parameter: StarXpandCommand.Presenter.LedAutomaticBlinkParameter): PresenterSettingBuilder { this._addAction(async() => { let contents = this._parameters.get("contents") as Array>; contents.push( new Map([ ["method", "Led.AutomaticBlink"], ["parameter", new Map([ ["type", StarXpandCommandParameterConverter.convertPresenterLedType(parameter.type)], ["on_time", parameter.onTime], ["off_time", parameter.offTime] ])] ]) ); }); return this; } }