@lableb/javascript-sdk
Version:
Lableb cloud search client for javascript
53 lines (33 loc) • 1.75 kB
text/typescript
import { LablebHttpClient } from "../../http-client";
import { BatchAutocompleteFeedbackRequestParams, SingleAutocompleteFeedbackRequestParams } from "../../request/autocomplete-feedback/autocomplete-feedback.request.type";
import { camelCaseToSnackCaseObject } from "../../utils";
import { LablebAPIResponseWrapper, LablebSDKContext } from "../lableb-client/lableb-client.type";
import { AutocompleteFeedbackResponse } from "./autocomplete-feedback.type";
export async function lablebClientSingleAutocompleteFeedback(
this: LablebSDKContext,
singleAutocompleteFeedbackOptions: SingleAutocompleteFeedbackRequestParams
): Promise<LablebAPIResponseWrapper<AutocompleteFeedbackResponse>> {
const { url, headers, method, params, body } = await this.requestBuilder.feedback.autocomplete.single(singleAutocompleteFeedbackOptions);
const interceptedRequestParams = ({
method,
url,
headers,
params: camelCaseToSnackCaseObject(params),
body: body.map(camelCaseToSnackCaseObject),
});
return await LablebHttpClient(interceptedRequestParams);
}
export async function lablebClientBatchAutocompleteFeedback(
this: LablebSDKContext,
batchAutocompleteFeedbackOptions: BatchAutocompleteFeedbackRequestParams
): Promise<LablebAPIResponseWrapper<AutocompleteFeedbackResponse>> {
const { url, headers, method, params, body } = await this.requestBuilder.feedback.autocomplete.batch(batchAutocompleteFeedbackOptions);
const interceptedRequestParams = ({
method,
url,
headers,
params: camelCaseToSnackCaseObject(params),
body: body.map(camelCaseToSnackCaseObject),
});
return await LablebHttpClient(interceptedRequestParams);
}