@avonjs/avonjs
Version:
A fluent Node.js API generator.
36 lines (35 loc) • 1.6 kB
TypeScript
import { type AbstractMixable, Direction, type Model } from '../Contracts';
import type { Field } from '../Fields';
import type AvonRequest from '../Http/Requests/AvonRequest';
import type { Ordering } from '../Orderings';
import type { Repository } from '../Repositories';
declare const _default: <T extends AbstractMixable<Ordering>>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => {
/**
* The field instance.
*/
field: Field;
/**
* Indicates if the field is nullable.
*/
acceptsNullValues: boolean;
/**
* Apply the filter into the given repository.
*/
apply(request: AvonRequest, queryBuilder: Repository<Model>, direction: Direction): Promise<void>;
/**
* Get the query parameter key for filter.
*/
key(): string;
serializeParameters(request: AvonRequest): import("openapi-types").OpenAPIV3.ParameterObject[];
schema(request: AvonRequest): import("../Contracts").OpenApiSchema;
canSee(callback: import("../Contracts").SeeCallback): any;
seeCallback: import("../Contracts").SeeCallback;
authorizedToSee(request: AvonRequest): boolean;
nullable(nullable?: boolean, validator?: import("../Contracts").NullableCallback | undefined): any;
nullValidator: import("../Contracts").NullableCallback;
nullValues(nullValidator: import("../Contracts").NullableCallback): any;
isNullable(): boolean;
isValidNullValue(value: import("../Contracts").AnyValue): boolean;
valueIsConsideredNull(value: import("../Contracts").AnyValue): boolean;
}) & T;
export default _default;