import { MultiSchemaTestEntityApi } from './MultiSchemaTestEntityApi' ; import { BigNumber } from 'bignumber.js' ; import { batch } from './BatchRequest' ; import { Moment } from 'moment' ; import { defaultDeSerializers , DeSerializers , DefaultDeSerializers , mergeDefaultDeSerializersWith , Time } from '@sap-cloud-sdk/odata-v2' ; export function multipleSchemasService < BinaryT = string , BooleanT = boolean , ByteT = number , DecimalT = BigNumber , DoubleT = number , FloatT = number , Int16T = number , Int32T = number , Int64T = BigNumber , GuidT = string , SByteT = number , SingleT = number , StringT = string , AnyT = any , DateTimeOffsetT = Moment , DateTimeT = Moment , TimeT = Time > ( deSerializers = defaultDeSerializers as any ) { return new MultipleSchemasService ( mergeDefaultDeSerializersWith ( deSerializers ) ) ; } export class MultipleSchemasService < DeSerializersT extends DeSerializers = DefaultDeSerializers > { private apis : Record < string , any > = { } ; private deSerializers : DeSerializersT ; constructor ( deSerializers ) { this . deSerializers = deSerializers ; } private initApi ( key , ctor ) { if ( ! this . apis [ key ] ) { this . apis [ key ] = new ctor ( this . deSerializers ) ; } return this . apis [ key ] ; } get multiSchemaTestEntityApi ( ) : MultiSchemaTestEntityApi < DeSerializersT > { return this . initApi ( 'multiSchemaTestEntityApi' , MultiSchemaTestEntityApi ) ; } get batch ( ) : typeof batch { return batch ; } }