All files / core/autocomplete autocomplete.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                                  10x                               10x   9x             9x    
import { LablebHttpClient } from "../../http-client";
import { AutocompleteRequestParams } from "../../request/autocomplete/autocomplete.request.type";
import { camelCaseToSnackCaseObject } from "../../utils";
import { LablebAPIResponseWrapper, LablebSDKContext } from "../lableb-client/lableb-client.type";
import { injectFeedbackDataIntoAutocompleteResponse } from "./autocomplete.injector";
import { AutocompleteResponse, AutocompleteResponseWithFeedback } from "./autocomplete.type";
 
 
export async function lablebClientAutocomplete(
 
    this: LablebSDKContext,
 
    autocompleteOptions: AutocompleteRequestParams
 
): Promise<LablebAPIResponseWrapper<AutocompleteResponseWithFeedback>> {
 
 
    return injectFeedbackDataIntoAutocompleteResponse({
        autocompleteOptions,
        autocompleteResponse: await lablebClientNativeAutocomplete.bind(this)(autocompleteOptions),
        globalOptions: this.globalOptions,
    });
}
 
 
export async function lablebClientNativeAutocomplete(
 
    this: LablebSDKContext,
 
    autocompleteOptions: AutocompleteRequestParams
 
): Promise<LablebAPIResponseWrapper<AutocompleteResponse>> {
 
    const { url, headers, method, params } = await this.requestBuilder.autocomplete(autocompleteOptions);
 
    const interceptedRequestParams = ({
        method,
        url,
        headers,
        params: camelCaseToSnackCaseObject(params),
    });
 
    return await LablebHttpClient(interceptedRequestParams);
}