UNPKG

@compas/code-gen

Version:

Generate various boring parts of your server

223 lines (222 loc) 6.75 kB
export class RouteBuilder extends TypeBuilder { static baseData: { tags: never[]; idempotent: boolean; invalidates: never[]; }; constructor(method: any, group: any, name: any, path: any); invalidates: any[]; queryBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; paramsBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; bodyBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; filesBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; responseBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; /** * @param {...string} values * @returns {RouteBuilder} */ tags(...values: string[]): RouteBuilder; /** * Guarantee to the client that this call does not have any side-effects. * Can only be used for "POST" requests. Doesn't do anything to the generated router, * but some clients may use it to their advantage like the react-query generator. * * @returns {RouteBuilder} */ idempotent(): RouteBuilder; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteBuilder} */ query(builder: import("../../index").TypeBuilderLike): RouteBuilder; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteBuilder} */ params(builder: import("../../index").TypeBuilderLike): RouteBuilder; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteBuilder} */ body(builder: import("../../index").TypeBuilderLike): RouteBuilder; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteBuilder} */ files(builder: import("../../index").TypeBuilderLike): RouteBuilder; /** * Specify routes that can be invalidated when this route is called. * * @param {...import("./RouteInvalidationType.js").RouteInvalidationType} invalidates * @returns {RouteBuilder} */ invalidations( ...invalidates: import("./RouteInvalidationType.js").RouteInvalidationType[] ): RouteBuilder; /** * Prefer the api client / router to use form-data instead of expecting json. * This can be used to conform to non Compas api's. * * @returns {RouteBuilder} */ preferFormData(): RouteBuilder; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteBuilder} */ response(builder: import("../../index").TypeBuilderLike): RouteBuilder; } export class RouteCreator { constructor(group: any, path: any); data: { group: any; path: any; }; /** @type {string[]} */ defaultTags: string[]; queryBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; paramsBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; bodyBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; filesBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; responseBuilder: | import("../../types/advanced-types.js").TypeBuilderLike | undefined; /** * @param {...string} values * @returns {RouteCreator} */ tags(...values: string[]): RouteCreator; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteCreator} */ query(builder: import("../../index").TypeBuilderLike): RouteCreator; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteCreator} */ params(builder: import("../../index").TypeBuilderLike): RouteCreator; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteCreator} */ body(builder: import("../../index").TypeBuilderLike): RouteCreator; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteCreator} */ files(builder: import("../../index").TypeBuilderLike): RouteCreator; /** * @param {import("../../index").TypeBuilderLike} builder * @returns {RouteCreator} */ response(builder: import("../../index").TypeBuilderLike): RouteCreator; /** * Generate `queryClient.invalidateQueries` calls in the react-query generator, which * can be executed when the generated hook is called. * * @param {string} group * @param {string} [name] * @param {import("../generated/common/types").CodeGenRouteInvalidationTypeInput["properties"]} [properties] * @returns {RouteInvalidationType} */ invalidates( group: string, name?: string | undefined, properties?: | { useSharedParams?: boolean | undefined; useSharedQuery?: boolean | undefined; specification?: | { params?: | { [key: string]: string[]; } | undefined; query?: | { [key: string]: string[]; } | undefined; } | undefined; } | undefined, ): RouteInvalidationType; /** * @param {string} name * @param {string} path * @returns {RouteCreator} */ group(name: string, path: string): RouteCreator; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ get(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ post(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ put(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ patch(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ delete(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * @param {string} [path] * @param {string} [name] * @returns {RouteBuilder} */ head(path?: string | undefined, name?: string | undefined): RouteBuilder; /** * Create a new RouteBuilder and add the defaults if exists. * * @private * * @param {string} method * @param {string} group * @param {string} name * @param {string} path * @returns {RouteBuilder} */ private create; } import { TypeBuilder } from "./TypeBuilder.js"; import { RouteInvalidationType } from "./RouteInvalidationType.js"; //# sourceMappingURL=RouteBuilder.d.ts.map