import { variadicArgumentToArray } from '@sap-cloud-sdk/util' ; import { Destination , DestinationFetchOptions } from '@sap-cloud-sdk/connectivity' ; import { HttpResponse } from '@sap-cloud-sdk/http-client' ; import { Constructable , EntityIdentifiable , EntityBase , EntityApi } from '../entity-base' ; import { Selectable } from '../selectable' ; import { ODataGetAllRequestConfig , ODataGetByKeyRequestConfig } from '../request' ; import { DeSerializers } from '../de-serializers' ; import { MethodRequestBuilder } from './request-builder-base' ; internal export abstract class GetRequestBuilderBase < EntityT extends EntityBase , DeSerializersT extends DeSerializers , RequestConfigT extends ODataGetAllRequestConfig < EntityT , DeSerializersT > | ODataGetByKeyRequestConfig < EntityT , DeSerializersT > > extends MethodRequestBuilder < RequestConfigT > implements EntityIdentifiable < EntityT , DeSerializersT > { readonly _entity : EntityT ; readonly _entityConstructor : Constructable < EntityT > ; readonly _deSerializers : DeSerializersT ; param _entityApi param requestConfig constructor ( readonly _entityApi , requestConfig ) { super ( requestConfig ) ; } param selects returns select ( ... selects ) ; select ( selects ) ; select ( first , ... rest ) { this . requestConfig . selects = variadicArgumentToArray ( first , rest ) ; return this ; } param destination returns async executeRaw ( destination ) { return this . build ( destination ) . then ( request => request . execute ( ) ) ; } }