UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

41 lines (40 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Orderings_1 = require("../Orderings"); exports.default = (Parent) => { class ResolvesOrderings extends Parent { /** * Get the orders that are available for the given request. */ availableOrderings(request) { return this.resolveOrderings(request) .concat(this.resolveOrderingsFromFields(request)) .filter((order) => order.authorizedToSee(request)); } /** * Get the orders for the given request. */ resolveOrderings(request) { return this.orders(request); } /** * Get the orders from orderable fields for the given request. */ resolveOrderingsFromFields(request) { return request .resource() .orderableFields(request) .map((field) => field.resolveOrdering(request)) .filter((order) => order instanceof Orderings_1.Ordering) .unique((order) => order.key()) .all(); } /** * Get the orders available on the entity. */ orders(request) { return []; } } return ResolvesOrderings; };