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 46 47 48 49 50 51 52 53 | 11x 11x 8x 8x | import { LablebHttpClient } from "../../http-client";
import { SearchRequestParams } from "../../request/search/search.request.type";
import { camelCaseToSnackCaseObject, } from "../../utils";
import { LablebAPIResponseWrapper, LablebSDKContext } from "../lableb-client/lableb-client.type";
import { injectFeedbackDataIntoSearchResponse } from "./search.injector";
import { SearchResponse, SearchResponseWithFeedback } from "./search.type";
/**
* call the api(including creating the request and intercept the response)
* then inject the feedback data in
*/
export async function lablebClientSearch(
this: LablebSDKContext,
searchOptions: SearchRequestParams
): Promise<LablebAPIResponseWrapper<SearchResponseWithFeedback>> {
return injectFeedbackDataIntoSearchResponse({
searchOptions,
searchResponse: await lablebClientNativeSearch.bind(this)(searchOptions),
globalOptions: this.globalOptions
});
}
/**
* use request builder to form the search request
* call any interceptor before doing the request
* call the api
*/
async function lablebClientNativeSearch(
this: LablebSDKContext,
searchOptions: SearchRequestParams
): Promise<LablebAPIResponseWrapper<SearchResponse>> {
const { url, headers, method, params } = await this.requestBuilder.search(searchOptions);
const interceptedRequestParams = ({
method,
url,
headers,
params: camelCaseToSnackCaseObject(params),
});
return await LablebHttpClient(interceptedRequestParams);
}
|