@sap-cloud-sdk/odata-common
Version:
SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.
38 lines • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FilterLink = void 0;
exports.isFilterLink = isFilterLink;
/**
* Data structure to represent filter on properties of a navigation property (link).
* In OData v2 filtering for navigation properties is ONLY supported for properties with a one-to-one cardinality ({@link OneToOneLink}).
* @example
* In the following filter statement `Entity.requestBuilder().filter(Entity.to_NavProperty.filter(LinkedEntity.property.equals(value)))`,
* `Entity.to_NavProperty.filter(LinkedEntity.property.equals(value))` is a `FilterLink`.
*
* In OData v4 filtering is also possible on one-to-many links. See {@link OneToManyLink}.
* @typeParam EntityT - Type of the entity to be filtered.
* @typeParam LinkedEntityT - Type of the linked entity which is used in the filter.
*/
class FilterLink {
/**
* Creates an instance of `FilterLink`.
* @param link - Linked entity to be used in the filter.
* @param filters - List of filterables for the linked entity.
*/
constructor(link, filters) {
this.link = link;
this.filters = filters;
}
}
exports.FilterLink = FilterLink;
/**
* Type guard for the FilterLink.
* @param filterable - Object to be checked.
* @returns boolean
* @internal
*/
function isFilterLink(filterable) {
return (typeof filterable['link'] !== 'undefined' &&
typeof filterable['filters'] !== 'undefined');
}
//# sourceMappingURL=filter-link.js.map