UNPKG

1.77 kBTypeScriptView Raw
1import { Entity } from '../entity';
2import { Filterable, FilterLink } from '../filter';
3import { Orderable } from '../order';
4import { Link } from './link';
5/**
6 * Represents a one to many relation for OData v4 entities.
7 * For OData v2 entities the [[Link]] is used to represent one to many relation.
8 * See [[Link]] for more information.
9 */
10export declare class OneToManyLink<EntityT extends Entity, LinkedEntityT extends Entity> extends Link<EntityT, LinkedEntityT> {
11 _filters: FilterLink<EntityT, LinkedEntityT>;
12 _orderBy: Orderable<LinkedEntityT>[];
13 _top: number;
14 _skip: number;
15 clone(): this;
16 /**
17 * Create filter statements to be applied to the OData request based on the linked entity values.
18 * @param filters - Filters based on the linked entity.
19 * @returns Newly created `FilterLink`.
20 */
21 filter(...expressions: (Filterable<LinkedEntityT> | OneToManyLink<LinkedEntityT, any>)[]): this;
22 /**
23 * Add order-by statements to the request.
24 ** @param orderBy - OrderBy statements to order the response by.
25 * @returns The request builder itself, to facilitate method chaining.
26 */
27 orderBy(...orderBy: Orderable<LinkedEntityT>[]): this;
28 /**
29 * Number of returned entities.
30 * @param top - Maximum number of entities to return in the response. Can be less, if less entities match the request.
31 * @returns The request builder itself, to facilitate method chaining.
32 */
33 top(top: number): this;
34 /**
35 * Skip number of entities.
36 * @param skip - Number of matching entities to skip. Useful for paging.
37 * @returns The request builder itself, to facilitate method chaining.
38 */
39 skip(skip: number): this;
40}
41//# sourceMappingURL=one-to-many-link.d.ts.map
\No newline at end of file