fork of hey-api/openapi-ts because I need some additional things
1import { definePluginConfig } from '@hey-api/shared';
2
3import { resolveOperations } from './operations';
4import { handler } from './plugin';
5import type { HeyApiSdkPlugin } from './types';
6
7export const defaultConfig: HeyApiSdkPlugin['Config'] = {
8 config: {
9 // auth: true,
10 client: true,
11 comments: true,
12 includeInEntry: true,
13 paramsStructure: 'grouped',
14 // responseStyle: 'fields',
15 // transformer: false,
16 // validator: false,
17 },
18 dependencies: ['pydantic'],
19 handler,
20 name: '@hey-api/python-sdk',
21 resolveConfig: (plugin, context) => {
22 if (plugin.config.client) {
23 if (typeof plugin.config.client === 'boolean') {
24 plugin.config.client = context.pluginByTag('client', {
25 defaultPlugin: '@hey-api/client-httpx',
26 });
27 }
28 plugin.dependencies.add(plugin.config.client!);
29 } else {
30 plugin.config.client = false;
31 }
32 // if (plugin.config.transformer) {
33 // if (typeof plugin.config.transformer === 'boolean') {
34 // plugin.config.transformer = context.pluginByTag('transformer');
35 // }
36 // plugin.dependencies.add(plugin.config.transformer!);
37 // } else {
38 // plugin.config.transformer = false;
39 // }
40 // if (typeof plugin.config.validator !== 'object') {
41 // plugin.config.validator = {
42 // request: plugin.config.validator,
43 // response: plugin.config.validator,
44 // };
45 // }
46 // if (plugin.config.validator.request) {
47 // if (typeof plugin.config.validator.request === 'boolean') {
48 // plugin.config.validator.request = context.pluginByTag('validator');
49 // }
50 // plugin.dependencies.add(plugin.config.validator.request!);
51 // } else {
52 // plugin.config.validator.request = false;
53 // }
54 // if (plugin.config.validator.response) {
55 // if (typeof plugin.config.validator.response === 'boolean') {
56 // plugin.config.validator.response = context.pluginByTag('validator');
57 // }
58 // plugin.dependencies.add(plugin.config.validator.response!);
59 // } else {
60 // plugin.config.validator.response = false;
61 // }
62 // plugin.config.examples = resolveExamples(plugin.config, context);
63 plugin.config.operations = resolveOperations(plugin.config, context);
64 },
65};
66
67/**
68 * Type helper for `@hey-api/python-sdk` plugin, returns {@link Plugin.Config} object
69 */
70export const defineConfig = definePluginConfig(defaultConfig);