All files / request/main main.request.ts

100% Statements 2/2
100% Branches 1/1
100% Functions 1/1
100% Lines 2/2

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                                199x   194x                                              
import { customIdentity, customPickBy } from "../../utils";
import { buildBatchAutocompleteFeedbackRequest, buildSingleAutocompleteFeedbackRequest } from "../autocomplete-feedback/autocomplete-feedback.request";
import { buildAutocompleteRequest } from "../autocomplete/autocomplete.request";
import { buildDeleteRequest } from "../delete/delete.request";
import { buildIndexingRequest } from "../indexing/indexing.request";
import { buildBatchRecommendFeedbackRequest, buildSingleRecommendFeedbackRequest } from "../recommend-feedback/recommend-feedback.request";
import { buildRecommendRequest } from "../recommend/recommend.request";
import {buildSearchByIdRequest} from "../search-by-id/search-by-id.request";
import { buildBatchSearchFeedbackRequest, buildSingleSearchFeedbackRequest } from "../search-feedback/search-feedback.request";
import { buildSearchRequest } from "../search/search.request";
import { mainRequestSchema } from "./main.request.schema";
import { GlobalRequestOptions } from "./main.request.type";
 
 
export function LablebRequestBuilder(options: GlobalRequestOptions = {}) {
 
    mainRequestSchema.validateSync(customPickBy(options, customIdentity))
 
    return {
        index: buildIndexingRequest.bind(options),
        search: buildSearchRequest.bind(options),
        searchById: buildSearchByIdRequest.bind(options),
        autocomplete: buildAutocompleteRequest.bind(options),
        recommend: buildRecommendRequest.bind(options),
        delete: buildDeleteRequest.bind(options),
        feedback: {
            search: {
                single: buildSingleSearchFeedbackRequest.bind(options),
                batch: buildBatchSearchFeedbackRequest.bind(options),
            },
            autocomplete: {
                single: buildSingleAutocompleteFeedbackRequest.bind(options),
                batch: buildBatchAutocompleteFeedbackRequest.bind(options),
            },
            recommend: {
                single: buildSingleRecommendFeedbackRequest.bind(options),
                batch: buildBatchRecommendFeedbackRequest.bind(options),
            },
        },
    }
}