UNPKG

@volley/recognition-client-sdk

Version:

Recognition Service TypeScript/Node.js Client SDK

47 lines (44 loc) 1.48 kB
/** * Factory function for creating Recognition Client instances */ import { RealTimeTwoWayWebSocketRecognitionClient } from './recognition-client.js'; import { ConfigBuilder } from './config-builder.js'; import type { IRecognitionClient, RealTimeTwoWayWebSocketRecognitionClientConfig } from './recognition-client.types.js'; /** * Create a recognition client from a configuration object * * Example: * ```typescript * const client = createClient({ * url: 'ws://localhost:3101/ws/v1/recognize', * audioUtteranceId: 'unique-id', * onTranscript: (result) => console.log(result) * }); * ``` * * @param config - Client configuration * @returns Configured recognition client instance */ export function createClient(config: RealTimeTwoWayWebSocketRecognitionClientConfig): IRecognitionClient { return new RealTimeTwoWayWebSocketRecognitionClient(config); } /** * Create a recognition client using the builder pattern * * Example: * ```typescript * const client = createClientWithBuilder((builder) => * builder * .url('ws://localhost:3101/ws/v1/recognize') * .onTranscript((result) => console.log(result)) * .onError((error) => console.error(error)) * ); * ``` */ export function createClientWithBuilder( configure: (builder: ConfigBuilder) => ConfigBuilder ): IRecognitionClient { const builder = new ConfigBuilder(); const config = configure(builder).build(); return new RealTimeTwoWayWebSocketRecognitionClient(config); }