UNPKG

@sap-cloud-sdk/odata-common

Version:

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

50 lines (49 loc) 2.52 kB
import { FilterLink } from '../filter/filter-link'; import { Link } from './link'; import type { EntityBase } from '../entity-base'; import type { Orderable } from '../order'; import type { Filterable } from '../filter'; import type { DeSerializers } from '../de-serializers'; import type { EntityApi, EntityType } from '../entity-api'; /** * @param filters - filters * @returns filtered list * @internal */ export declare function toFilterableList<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityApiT extends EntityApi<EntityBase, DeSerializersT>>(filters: Filterable<EntityT, DeSerializersT, LinkedEntityApiT>[]): Filterable<EntityT, DeSerializersT, LinkedEntityApiT>[]; /** * Represents a one to many relation for OData v4 entities. * For OData v2 entities the {@link Link} is used to represent one to many relation. * See {@link Link} for more information. */ export declare class OneToManyLink<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityApiT extends EntityApi<EntityBase, DeSerializersT>> extends Link<EntityT, DeSerializersT, LinkedEntityApiT> { _filters: FilterLink<EntityT, DeSerializersT, LinkedEntityApiT>; _orderBy: Orderable<EntityType<LinkedEntityApiT>>[]; _top: number; _skip: number; clone(): this; /** * Create filter statements to be applied to the OData request based on the linked entity values. * @param expressions - Filters based on the linked entity. * @returns Newly created `FilterLink`. */ filter(...expressions: (Filterable<EntityType<LinkedEntityApiT>, DeSerializersT> | OneToManyLink<EntityType<LinkedEntityApiT>, DeSerializersT, EntityApi<EntityBase, DeSerializersT>>)[]): this; /** * Add order-by statements to the request. * @param orderBy - OrderBy statements to order the response by. * @returns The request builder itself, to facilitate method chaining. */ orderBy(...orderBy: Orderable<EntityType<LinkedEntityApiT>>[]): this; /** * Number of returned entities. * @param top - Maximum number of entities to return in the response. Can be less, if less entities match the request. * @returns The request builder itself, to facilitate method chaining. */ top(top: number): this; /** * Skip number of entities. * @param skip - Number of matching entities to skip. Useful for paging. * @returns The request builder itself, to facilitate method chaining. */ skip(skip: number): this; }