import { BaseStarXpandCommandBuilder } from './BaseStarXpandCommandBuilder'; import { StarXpandCommand } from '../../index'; import { StarXpandCommandParameterConverter } from './StarXpandCommandParameterConverter'; export class BuzzerBuilder extends BaseStarXpandCommandBuilder { public _parameters: Map; constructor() { super(); this._parameters = new Map([ ["category", "Buzzer"], ["contents", new Array>()] ]); } actionDrive(parameter: StarXpandCommand.Buzzer.DriveParameter): BuzzerBuilder { this._addAction(async() => { let contents = this._parameters.get("contents") as Array>; contents.push( new Map([ ["method", "Action.Drive"], ["parameter", new Map([ ["channel", StarXpandCommandParameterConverter.convertBuzzerChannel(parameter.channel)], ["repeat", Math.floor(parameter.repeat)], ["on_time", Math.floor(parameter.onTime)], ["off_time", Math.floor(parameter.offTime)] ])] ]) ); }); return this; } }