import { edmToTs , entityDeserializer , FunctionImportRequestBuilder , DeSerializers , transformReturnValueForUndefined , transformReturnValueForEdmType , transformReturnValueForEdmTypeList , transformReturnValueForEntity , transformReturnValueForEntityList , transformReturnValueForComplexType , transformReturnValueForComplexTypeList , DefaultDeSerializers , defaultDeSerializers , FunctionImportParameter , throwErrorWhenReturnTypeIsUnionType } from '@sap-cloud-sdk/odata-v2' ; import { testService } from './service' ; import { TestEntity } from './TestEntity' ; import { TestEntityApi } from './TestEntityApi' ; import { TestComplexType } from './TestComplexType' ; /**
 * Type of the parameters to be passed to [[testFunctionImportNoReturnType]].
 */ export interface TestFunctionImportNoReturnTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportNoReturnType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'post' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportNoReturnType' , data => transformReturnValueForUndefined ( data , val => undefined ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportEdmReturnType]].
 */ export interface TestFunctionImportEdmReturnTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportEdmReturnType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportEdmReturnType' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . TestFunctionImportEdmReturnType , 'Edm.Boolean' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportEdmReturnTypeCollection]].
 */ export interface TestFunctionImportEdmReturnTypeCollectionParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportEdmReturnTypeCollection < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportEdmReturnTypeCollection' , data => transformReturnValueForEdmTypeList ( data , val => edmToTs ( val , 'Edm.String' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportEntityReturnType]].
 */ export interface TestFunctionImportEntityReturnTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportEntityReturnType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportEntityReturnType' , data => transformReturnValueForEntity ( data , testService ( deSerializers ) . testEntityApi ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportEntityReturnTypeCollection]].
 */ export interface TestFunctionImportEntityReturnTypeCollectionParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportEntityReturnTypeCollection < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportEntityReturnTypeCollection' , data => transformReturnValueForEntityList ( data , testService ( deSerializers ) . testEntityApi ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportSharedEntityReturnType]].
 */ export interface TestFunctionImportSharedEntityReturnTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportSharedEntityReturnType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportSharedEntityReturnType' , data => throwErrorWhenReturnTypeIsUnionType ( data , 'TestFunctionImportSharedEntityReturnType' ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportSharedEntityReturnTypeCollection]].
 */ export interface TestFunctionImportSharedEntityReturnTypeCollectionParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportSharedEntityReturnTypeCollection < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportSharedEntityReturnTypeCollection' , data => throwErrorWhenReturnTypeIsUnionType ( data , 'TestFunctionImportSharedEntityReturnTypeCollection' ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportComplexReturnType]].
 */ export interface TestFunctionImportComplexReturnTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportComplexReturnType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportComplexReturnType' , data => transformReturnValueForComplexType ( data , data => entityDeserializer ( deSerializers ) . deserializeComplexType ( data , TestComplexType ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportUnsupportedEdmTypes]].
 */ export interface TestFunctionImportUnsupportedEdmTypesParameters < DeSerializersT extends DeSerializers > { /**
     * Simple Param.
     */ simpleParam : any ; } param parameters returns export function testFunctionImportUnsupportedEdmTypes < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { simpleParam : new FunctionImportParameter ( 'SimpleParam' , 'Edm.Any' , parameters . simpleParam ) } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportUnsupportedEdmTypes' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . TestFunctionImportUnsupportedEdmTypes , 'Edm.Any' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportComplexReturnTypeCollection]].
 */ export interface TestFunctionImportComplexReturnTypeCollectionParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function testFunctionImportComplexReturnTypeCollection < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportComplexReturnTypeCollection' , data => transformReturnValueForComplexTypeList ( data , data => entityDeserializer ( deSerializers ) . deserializeComplexType ( data , TestComplexType ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportGet]].
 */ export interface TestFunctionImportGetParameters < DeSerializersT extends DeSerializers > { /**
     * Simple Param.
     */ simpleParam : string ; } param parameters returns export function testFunctionImportGet < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { simpleParam : new FunctionImportParameter ( 'SimpleParam' , 'Edm.String' , parameters . simpleParam ) } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportGET' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . TestFunctionImportGET , 'Edm.Boolean' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportPost]].
 */ export interface TestFunctionImportPostParameters < DeSerializersT extends DeSerializers > { /**
     * Simple Param.
     */ simpleParam : string ; } param parameters returns export function testFunctionImportPost < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { simpleParam : new FunctionImportParameter ( 'SimpleParam' , 'Edm.String' , parameters . simpleParam ) } ; return new FunctionImportRequestBuilder ( 'post' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportPOST' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . TestFunctionImportPOST , 'Edm.Boolean' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[testFunctionImportMultipleParams]].
 */ export interface TestFunctionImportMultipleParamsParameters < DeSerializersT extends DeSerializers > { /**
     * String Param.
     */ stringParam : string ; /**
     * Boolean Param.
     */ booleanParam : boolean ; } param parameters returns export function testFunctionImportMultipleParams < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { stringParam : new FunctionImportParameter ( 'StringParam' , 'Edm.String' , parameters . stringParam ) , booleanParam : new FunctionImportParameter ( 'BooleanParam' , 'Edm.Boolean' , parameters . booleanParam ) } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'TestFunctionImportMultipleParams' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . TestFunctionImportMultipleParams , 'Edm.Boolean' , deSerializers ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[createTestComplexType]].
 */ export interface CreateTestComplexTypeParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function createTestComplexType < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'CreateTestComplexType' , data => transformReturnValueForComplexType ( data , data => entityDeserializer ( deSerializers ) . deserializeComplexType ( data , TestComplexType ) ) , params , deSerializers ) ; } /**
 * Type of the parameters to be passed to [[fContinue]].
 */ export interface FContinueParameters < DeSerializersT extends DeSerializers > { } param parameters returns export function fContinue < DeSerializersT extends DeSerializers = DefaultDeSerializers > ( parameters , deSerializers = defaultDeSerializers as any ) { const params = { } ; return new FunctionImportRequestBuilder ( 'get' , '/sap/opu/odata/sap/API_TEST_SRV' , 'Continue' , data => transformReturnValueForEdmType ( data , val => edmToTs ( val . Continue , 'Edm.Boolean' , deSerializers ) ) , params , deSerializers ) ; } export const functionImports = { testFunctionImportNoReturnType , testFunctionImportEdmReturnType , testFunctionImportEdmReturnTypeCollection , testFunctionImportEntityReturnType , testFunctionImportEntityReturnTypeCollection , testFunctionImportSharedEntityReturnType , testFunctionImportSharedEntityReturnTypeCollection , testFunctionImportComplexReturnType , testFunctionImportUnsupportedEdmTypes , testFunctionImportComplexReturnTypeCollection , testFunctionImportGet , testFunctionImportPost , testFunctionImportMultipleParams , createTestComplexType , fContinue } ;