This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
token-gated-economy/lib/api-spec/orval.config.cjs

67 lines
1.5 KiB
JavaScript
Raw Normal View History

const path = require("path");
const root = path.resolve(__dirname, "..", "..");
const apiClientReactSrc = path.resolve(root, "lib", "api-client-react", "src");
const apiZodSrc = path.resolve(root, "lib", "api-zod", "src");
const titleTransformer = (config) => {
config.info ??= {};
config.info.title = "Api";
return config;
};
module.exports = {
"api-client-react": {
input: {
target: path.resolve(__dirname, "./openapi.yaml"),
override: {
transformer: titleTransformer,
},
},
output: {
workspace: apiClientReactSrc,
target: "generated",
client: "react-query",
mode: "split",
baseUrl: "/api",
clean: true,
prettier: true,
override: {
fetch: {
includeHttpResponseReturnType: false,
},
mutator: {
path: path.resolve(apiClientReactSrc, "custom-fetch.ts"),
name: "customFetch",
},
},
},
},
zod: {
input: {
target: path.resolve(__dirname, "./openapi.yaml"),
override: {
transformer: titleTransformer,
},
},
output: {
workspace: apiZodSrc,
client: "zod",
target: "generated",
schemas: { path: "generated/types", type: "typescript" },
mode: "split",
clean: true,
prettier: true,
override: {
zod: {
coerce: {
query: ["boolean", "number", "string"],
param: ["boolean", "number", "string"],
},
},
useDates: true,
},
},
},
};