fork of hey-api/openapi-ts because I need some additional things
1import { definePluginConfig, mappers } from '@hey-api/shared';
2
3import { handler } from './plugin';
4import type { PydanticPlugin } from './types';
5
6export const defaultConfig: PydanticPlugin['Config'] = {
7 config: {
8 case: 'PascalCase',
9 comments: true,
10 enums: 'enum',
11 includeInEntry: false,
12 strict: false,
13 },
14 handler,
15 name: 'pydantic',
16 resolveConfig: (plugin, context) => {
17 plugin.config.definitions = context.valueToObject({
18 defaultValue: {
19 case: plugin.config.case ?? 'PascalCase',
20 enabled: true,
21 name: '{{name}}',
22 },
23 mappers,
24 value: plugin.config.definitions,
25 });
26
27 plugin.config.requests = context.valueToObject({
28 defaultValue: {
29 case: plugin.config.case ?? 'PascalCase',
30 enabled: true,
31 name: '{{name}}Request',
32 },
33 mappers,
34 value: plugin.config.requests,
35 });
36
37 plugin.config.responses = context.valueToObject({
38 defaultValue: {
39 case: plugin.config.case ?? 'PascalCase',
40 enabled: true,
41 name: '{{name}}Response',
42 },
43 mappers,
44 value: plugin.config.responses,
45 });
46
47 plugin.config.webhooks = context.valueToObject({
48 defaultValue: {
49 case: plugin.config.case ?? 'PascalCase',
50 enabled: true,
51 name: '{{name}}Webhook',
52 },
53 mappers,
54 value: plugin.config.webhooks,
55 });
56 },
57 tags: ['validator'],
58};
59
60/**
61 * Type helper for Pydantic plugin, returns {@link Plugin.Config} object
62 */
63export const defineConfig = definePluginConfig(defaultConfig);