@sap-cloud-sdk/odata-v4
Version:
SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.
79 lines • 3.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformReturnValueForUndefined = transformReturnValueForUndefined;
exports.transformReturnValueForEntity = transformReturnValueForEntity;
exports.transformReturnValueForEntityList = transformReturnValueForEntityList;
exports.transformReturnValueForComplexType = transformReturnValueForComplexType;
exports.transformReturnValueForComplexTypeList = transformReturnValueForComplexTypeList;
exports.transformReturnValueForEdmType = transformReturnValueForEdmType;
exports.transformReturnValueForEdmTypeList = transformReturnValueForEdmTypeList;
const de_serializers_1 = require("../de-serializers");
const response_data_accessor_1 = require("./response-data-accessor");
/**
* Transform the payload of the OData response to undefined.
* This function is used in function imports, when no values need to be returned.
* @param data - The OData payload.
* @param builderFn - The deserialization function for transforming the payload.
* @returns The transformed value.
*/
function transformReturnValueForUndefined(data, builderFn) {
return builderFn(data);
}
/**
* Transform the payload of an OData response to an entity by using the given (de-)serializers.
* @param data - The OData payload.
* @param entityApi - Entity API that holds the (de-)serializers.
* @returns The transformed value.
*/
function transformReturnValueForEntity(data, entityApi) {
return (0, de_serializers_1.entityDeserializer)(entityApi.deSerializers)
.deserializeEntity((0, response_data_accessor_1.getSingleResult)(data), entityApi)
.setOrInitializeRemoteState();
}
/**
* Transform the payload of the OData response to array of entities by using given (de-)serializers.
* @param data - The OData payload.
* @param entityApi - Entity API that holds the (de-)serializers.
* @returns The transformed value.
*/
function transformReturnValueForEntityList(data, entityApi) {
const deserializeEntity = (0, de_serializers_1.entityDeserializer)(entityApi.deSerializers).deserializeEntity;
return (0, response_data_accessor_1.getCollectionResult)(data).map(entityJson => deserializeEntity(entityJson, entityApi).setOrInitializeRemoteState());
}
/**
* Transform the payload of the OData response to a complex type by using given deserialization function.
* @param data - The OData payload.
* @param builderFn - The deserialization function for transforming the payload.
* @returns The transformed value.
*/
function transformReturnValueForComplexType(data, builderFn) {
return builderFn((0, response_data_accessor_1.getSingleResult)(data));
}
/**
* Transform the payload of the OData response to complex type array by using given deserialization function.
* @param data - The OData payload.
* @param builderFn - The deserialization function for transforming the payload.
* @returns The transformed value.
*/
function transformReturnValueForComplexTypeList(data, builderFn) {
return (0, response_data_accessor_1.getCollectionResult)(data).map(json => builderFn(json));
}
/**
* Transform the payload of the OData response to edm type by using given deserialization function.
* @param data - The OData payload.
* @param builderFn - The deserialization function for transforming the payload.
* @returns The transformed value.
*/
function transformReturnValueForEdmType(data, builderFn) {
return builderFn((0, response_data_accessor_1.getSingleResult)(data));
}
/**
* Transform the payload of the OData response to edm type array by using given deserialization function.
* @param data - The OData payload.
* @param builderFn - The deserialization function for transforming the payload.
* @returns The transformed value.
*/
function transformReturnValueForEdmTypeList(data, builderFn) {
return (0, response_data_accessor_1.getCollectionResult)(data).map(builderFn);
}
//# sourceMappingURL=response-transformers.js.map