UNPKG

@sap-cloud-sdk/odata-common

Version:

SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.

14 lines (13 loc) 1.23 kB
import type { EntityBase, ODataVersionOf } from '../entity-base'; import type { DeSerializers } from '../de-serializers'; import type { EntityApi } from '../entity-api'; import type { CollectionField } from './collection-field'; import type { AllFields } from './all-fields'; import type { ComplexTypeField } from './complex-type-field'; import type { CustomField } from './custom-field'; import type { Link } from './link'; import type { SimpleTypeFields } from './simple-type-fields'; /** * Union type of all selectable fields. */ export type Selectable<EntityT extends EntityBase, DeSerializersT extends DeSerializers> = ODataVersionOf<EntityT> extends 'v2' ? SimpleTypeFields<EntityT> | Link<EntityT, DeSerializersT, EntityApi<EntityBase, DeSerializersT>> | ComplexTypeField<EntityT, DeSerializersT, any, boolean, boolean> | CustomField<EntityT, any, boolean> | CollectionField<EntityT, DeSerializersT, any, boolean, boolean> | AllFields<EntityT> : ODataVersionOf<EntityT> extends 'v4' ? SimpleTypeFields<EntityT> | ComplexTypeField<EntityT, DeSerializersT, any, boolean, boolean> | CustomField<EntityT, DeSerializersT, boolean> | CollectionField<EntityT, DeSerializersT, any, boolean, boolean> | AllFields<EntityT> : never;