All files / core/recommend recommend.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                                9x                                 9x   7x             7x    
import { LablebHttpClient } from "../../http-client";
import { RecommendRequestParams } from "../../request/recommend/recommend.request.type";
import { camelCaseToSnackCaseObject } from "../../utils";
import { LablebAPIResponseWrapper, LablebSDKContext } from "../lableb-client/lableb-client.type";
import { injectFeedbackDataIntoRecommendResponse } from "./recommend.injector";
import { RecommendResponse, RecommendResponseWithFeedback } from "./recommend.type";
 
 
export async function lablebClientRecommend(
 
    this: LablebSDKContext,
 
    recommendOptions: RecommendRequestParams
 
): Promise<LablebAPIResponseWrapper<RecommendResponseWithFeedback>> {
 
    return injectFeedbackDataIntoRecommendResponse({
        recommendOptions,
        recommendResponse: await lablebClientNativeRecommend.bind(this)(recommendOptions),
        globalOptions: this.globalOptions,
    });
}
 
 
 
async function lablebClientNativeRecommend(
 
    this: LablebSDKContext,
 
    recommendOptions: RecommendRequestParams
 
): Promise<LablebAPIResponseWrapper<RecommendResponse>> {
 
    const { url, headers, method, params } = await this.requestBuilder.recommend(recommendOptions);
 
    const interceptedRequestParams = ({
        method,
        url,
        headers,
        params: camelCaseToSnackCaseObject(params),
    });
 
    return await LablebHttpClient(interceptedRequestParams);
}