UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

36 lines (35 loc) 1.26 kB
import { type AbstractMixable, type AnyValue, type Model, type OrderingCallback } from '../Contracts'; import type AvonRequest from '../Http/Requests/AvonRequest'; import type { Ordering } from '../Orderings'; import type { Repository } from '../Repositories'; declare const _default: <T extends AbstractMixable = AbstractMixable>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => { /** * The callback to be used for the field's default value. */ orderableCallback?: OrderingCallback; /** * Apply the order to the given query. */ applyOrdering(request: AvonRequest, queryBuilder: Repository<Model>, value: AnyValue): void; /** * Make the field order. */ resolveOrdering(request: AvonRequest): Ordering | undefined; /** * The callback used to determine if the field is orderable. */ orderable(callback?: OrderingCallback): any; /** * Define the default orderable callback. */ defaultOrderingCallback(): OrderingCallback; /** * Make the field order. */ makeOrdering(request: AvonRequest): Ordering; /** * Define orderable attribute. */ orderableAttribute(request: AvonRequest): string; }) & T; export default _default;