@compas/code-gen
Version:
Generate various boring parts of your server
84 lines (83 loc) • 2.35 kB
TypeScript
/**
* Run the API client generator.
*
* TODO: extend docs
*
* @param {import("../generate").GenerateContext} generateContext
*/
export function apiClientGenerator(
generateContext: import("../generate").GenerateContext,
): void;
/**
* Distill the targets in to a short list of booleans.
*
* @param {import("../generate").GenerateContext} generateContext
* @returns {{
* isAxios: boolean,
* isFetch: boolean,
* isNode: boolean,
* isBrowser: boolean,
* isReactNative: boolean,
* useGlobalClients: boolean,
* skipResponseValidation: boolean,
* }}
*/
export function apiClientDistilledTargetInfo(
generateContext: import("../generate").GenerateContext,
): {
isAxios: boolean;
isFetch: boolean;
isNode: boolean;
isBrowser: boolean;
isReactNative: boolean;
useGlobalClients: boolean;
skipResponseValidation: boolean;
};
/**
* Format the target to use.
*
* TODO: Apply this return type on other target format functions in other generators
*
* @param {import("../generate").GenerateContext} generateContext
* @returns {"jsAxios"|"tsAxios"|"jsFetch"|"tsFetch"}
*/
export function apiClientFormatTarget(
generateContext: import("../generate").GenerateContext,
): "jsAxios" | "tsAxios" | "jsFetch" | "tsFetch";
/**
* Format the api client wrapper target.
*
* @param {import("../generate").GenerateContext} generateContext
* @returns {"reactQuery"|undefined}
*/
export function apiClientFormatWrapperTarget(
generateContext: import("../generate").GenerateContext,
): "reactQuery" | undefined;
/**
* Check if we should run the router generator.
*
* @param {import("../generate").GenerateContext} generateContext
*/
export function apiClientIsEnabled(
generateContext: import("../generate").GenerateContext,
):
| {
target:
| {
library: "axios";
targetRuntime: "browser" | "react-native" | "node.js";
includeWrapper?: "react-query" | undefined;
globalClient: boolean;
}
| {
library: "fetch";
targetRuntime: "browser" | "react-native" | "node.js";
includeWrapper?: "react-query" | undefined;
globalClient: boolean;
};
responseValidation: {
looseObjectValidation: boolean;
};
}
| undefined;
//# sourceMappingURL=generator.d.ts.map