UNPKG

@sap-cloud-sdk/odata-common

Version:

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

45 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isOrderable = isOrderable; exports.asc = asc; exports.desc = desc; // eslint-disable-next-line import/no-internal-modules const link_1 = require("../selectable/link"); const order_1 = require("./order"); /** * @internal * Convenience function to check whether a given type is of type {@link Orderable}. * @typeParam EntityT - Type of the entity to be ordered * @typeParam DeSerializersT - Type of the (de-)serializers * @param orderType - Type {@link Orderable} or {@link OrderableInput}. * @returns Whether the given `orderType` is of type {@link Orderable}. */ function isOrderable(orderType) { return (!!orderType.orderType || !!orderType.link); } /** * Create new Order by `orderBy._fieldName` in ascending order. * @template EntityT - Type of the entity to be ordered. * @param orderBy - Field or link to be ordered by. * @returns New order. */ function asc(orderBy) { if (orderBy instanceof link_1.Link) { return new order_1.Order(orderBy._fieldName); } return new order_1.Order(orderBy.fieldPath()); } /** * Create new Order by `orderBy._fieldName` in descending order. * @template EntityT - Type of the entity to be ordered. * @param orderBy - Field or link to be ordered by. * @returns New order. */ function desc(orderBy) { if (orderBy instanceof link_1.Link) { return new order_1.Order(orderBy._fieldName); } return new order_1.Order(orderBy.fieldPath(), 'desc'); } //# sourceMappingURL=orderable.js.map