@sap-cloud-sdk/odata-v4
Version:
SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.
32 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OperationRequestBuilder = void 0;
// eslint-disable-next-line max-classes-per-file
const internal_1 = require("@sap-cloud-sdk/odata-common/internal");
const request_1 = require("../request");
const uri_conversion_1 = require("../uri-conversion");
/**
* Create OData request to execute an operation.
* @typeParam ParametersT - Type of the operation parameters.
* @typeParam ReturnT - Type of the operation return value.
*/
class OperationRequestBuilder extends internal_1.OperationRequestBuilderBase {
/**
* Creates an instance of OperationRequestBuilder.
* @param defaultBasePath - Default base path for the service the operation belongs to.
* @param operationName - The name of the operation.
* @param responseTransformer - Transformation function for the response.
* @param parameters - Parameters to be set in the operation.
* @param deSerializers - (De-)serializers used for transformation.
* @param type - Type of operation, whether it is a function or an action.
*/
constructor(defaultBasePath, operationName, responseTransformer, parameters, deSerializers, type) {
const requestConfig = type === 'function'
? new request_1.ODataFunctionRequestConfig('get', defaultBasePath, operationName, parameters, (0, uri_conversion_1.createODataUri)(deSerializers))
: new request_1.ODataActionRequestConfig(defaultBasePath, operationName, parameters, (0, uri_conversion_1.createODataUri)(deSerializers));
super(responseTransformer, requestConfig, deSerializers);
this.responseTransformer = responseTransformer;
}
}
exports.OperationRequestBuilder = OperationRequestBuilder;
//# sourceMappingURL=operation-request-builder.js.map