UNPKG

matterbridge-roborock-vacuum-plugin

Version:
30 lines 1.32 kB
import { ProtocolVersion } from '../../enums/index.js'; import { A01MessageBodyBuilder } from './A01MessageBodyBuilder.js'; import { B01MessageBodyBuilder } from './B01MessageBodyBuilder.js'; import { L01MessageBodyBuilder } from './L01MessageBodyBuilder.js'; import { UnknownMessageBodyBuilder } from './UnknownMessageBodyBuilder.js'; import { V01MessageBodyBuilder } from './V01MessageBodyBuilder.js'; export class MessageBodyBuilderFactory { builders; unknownMessageBodyBuilder; constructor() { this.builders = { [ProtocolVersion.A01]: new A01MessageBodyBuilder(), [ProtocolVersion.B01]: new B01MessageBodyBuilder(), [ProtocolVersion.V1]: new V01MessageBodyBuilder(), [ProtocolVersion.L01]: new L01MessageBodyBuilder(), }; this.unknownMessageBodyBuilder = new UnknownMessageBodyBuilder(); } getMessageBodyBuilder(version, useUnknownMessageBodyBuilder = false) { if (useUnknownMessageBodyBuilder) { return this.unknownMessageBodyBuilder; } const builder = this.builders[version]; if (!builder) { throw new Error('No message body builder found for protocol version ' + version); } return builder; } } //# sourceMappingURL=messageBodyBuilderFactory.js.map