Skip to content

Commit 0ecfb41

Browse files
committed
refactor(plugin): return plugin interface from defineplugin
1 parent 7551a64 commit 0ecfb41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+228
-251
lines changed

packages/openapi-ts/src/plugins/@hey-api/client-axios/config.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import { definePluginConfig } from '../../shared/utils/config';
2-
import type { Plugin } from '../../types';
32
import { clientDefaultConfig, clientDefaultMeta } from '../client-core/config';
43
import { clientPluginHandler } from '../client-core/plugin';
54
import type { HeyApiClientAxiosPlugin } from './types';
65

7-
export const defaultConfig: Plugin.Config<HeyApiClientAxiosPlugin> = {
6+
export const defaultConfig: HeyApiClientAxiosPlugin['Config'] = {
87
...clientDefaultMeta,
98
config: {
109
...clientDefaultConfig,
1110
throwOnError: false,
1211
},
13-
handler: clientPluginHandler as Plugin.Handler<HeyApiClientAxiosPlugin>,
12+
handler: clientPluginHandler as HeyApiClientAxiosPlugin['Handler'],
1413
name: '@hey-api/client-axios',
1514
};
1615

packages/openapi-ts/src/plugins/@hey-api/client-axios/types.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Plugin } from '../../types';
1+
import type { DefinePlugin, Plugin } from '../../types';
22
import type { Client } from '../client-core/types';
33

44
export type Config = Plugin.Name<'@hey-api/client-axios'> &
@@ -11,4 +11,4 @@ export type Config = Plugin.Name<'@hey-api/client-axios'> &
1111
throwOnError?: boolean;
1212
};
1313

14-
export type HeyApiClientAxiosPlugin = Plugin.Types<Config>;
14+
export type HeyApiClientAxiosPlugin = DefinePlugin<Config>;

packages/openapi-ts/src/plugins/@hey-api/client-core/client.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { typesId } from '../typescript/ref';
55
import type { PluginHandler } from './types';
66
import { clientId, getClientBaseUrlKey } from './utils';
77

8-
const resolveBaseUrlString: PluginHandler<string | undefined> = ({
8+
const resolveBaseUrlString = ({
99
plugin,
10-
}) => {
10+
}: Parameters<PluginHandler>[0]): string | undefined => {
1111
const { baseUrl } = plugin.config;
1212

1313
if (baseUrl === false) {
@@ -27,7 +27,7 @@ const resolveBaseUrlString: PluginHandler<string | undefined> = ({
2727
return servers[typeof baseUrl === 'number' ? baseUrl : 0]?.url;
2828
};
2929

30-
export const createClient: PluginHandler = ({ plugin }) => {
30+
export const createClient = ({ plugin }: Parameters<PluginHandler>[0]) => {
3131
const file = plugin.context.file({ id: clientId })!;
3232

3333
const clientModule = clientModulePath({
@@ -60,7 +60,9 @@ export const createClient: PluginHandler = ({ plugin }) => {
6060

6161
const defaultValues: Array<unknown> = [];
6262

63-
const resolvedBaseUrl = resolveBaseUrlString({ plugin });
63+
const resolvedBaseUrl = resolveBaseUrlString({
64+
plugin: plugin as any,
65+
});
6466
if (resolvedBaseUrl) {
6567
const url = parseUrl(resolvedBaseUrl);
6668
if (url.protocol && url.host && !resolvedBaseUrl.includes('{')) {

packages/openapi-ts/src/plugins/@hey-api/client-core/createClientConfig.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import { clientId } from '../client-core/utils';
44
import { typesId } from '../typescript/ref';
55
import type { PluginHandler } from './types';
66

7-
export const createClientConfigType: PluginHandler = ({ plugin }) => {
7+
export const createClientConfigType = ({
8+
plugin,
9+
}: Parameters<PluginHandler>[0]) => {
810
const file = plugin.context.file({ id: clientId })!;
911

1012
const clientModule = clientModulePath({

packages/openapi-ts/src/plugins/@hey-api/client-core/plugin.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,18 @@ import { createClient } from './client';
33
import { createClientConfigType } from './createClientConfig';
44
import type { PluginHandler } from './types';
55

6-
export const clientPluginHandler: PluginHandler = ({ plugin }) => {
6+
export const clientPluginHandler = ({
7+
plugin,
8+
}: Parameters<PluginHandler>[0]) => {
79
plugin.createFile({
810
id: clientId,
911
path: plugin.output,
1012
});
1113

12-
createClientConfigType({ plugin });
13-
createClient({ plugin });
14+
createClientConfigType({
15+
plugin: plugin as any,
16+
});
17+
createClient({
18+
plugin: plugin as any,
19+
});
1420
};

packages/openapi-ts/src/plugins/@hey-api/client-core/types.d.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
import type { Plugin } from '../../types';
21
import type { HeyApiClientAxiosPlugin } from '../client-axios';
32
import type { HeyApiClientFetchPlugin } from '../client-fetch';
43
import type { HeyApiClientNextPlugin } from '../client-next';
54
import type { HeyApiClientNuxtPlugin } from '../client-nuxt';
65

7-
export type PluginHandler<ReturnType = void> = Plugin.Handler<
8-
| HeyApiClientAxiosPlugin
9-
| HeyApiClientFetchPlugin
10-
| HeyApiClientNextPlugin
11-
| HeyApiClientNuxtPlugin,
12-
ReturnType
13-
>;
6+
export type PluginHandler =
7+
| HeyApiClientAxiosPlugin['Handler']
8+
| HeyApiClientFetchPlugin['Handler']
9+
| HeyApiClientNextPlugin['Handler']
10+
| HeyApiClientNuxtPlugin['Handler'];
1411

1512
/**
1613
* Public Client API.

packages/openapi-ts/src/plugins/@hey-api/client-fetch/config.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import { definePluginConfig } from '../../shared/utils/config';
2-
import type { Plugin } from '../../types';
32
import { clientDefaultConfig, clientDefaultMeta } from '../client-core/config';
43
import { clientPluginHandler } from '../client-core/plugin';
54
import type { HeyApiClientFetchPlugin } from './types';
65

7-
export const defaultConfig: Plugin.Config<HeyApiClientFetchPlugin> = {
6+
export const defaultConfig: HeyApiClientFetchPlugin['Config'] = {
87
...clientDefaultMeta,
98
config: {
109
...clientDefaultConfig,
1110
throwOnError: false,
1211
},
13-
handler: clientPluginHandler as Plugin.Handler<HeyApiClientFetchPlugin>,
12+
handler: clientPluginHandler as HeyApiClientFetchPlugin['Handler'],
1413
name: '@hey-api/client-fetch',
1514
};
1615

packages/openapi-ts/src/plugins/@hey-api/client-fetch/types.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Plugin } from '../../types';
1+
import type { DefinePlugin, Plugin } from '../../types';
22
import type { Client } from '../client-core/types';
33

44
export type Config = Plugin.Name<'@hey-api/client-fetch'> &
@@ -11,4 +11,4 @@ export type Config = Plugin.Name<'@hey-api/client-fetch'> &
1111
throwOnError?: boolean;
1212
};
1313

14-
export type HeyApiClientFetchPlugin = Plugin.Types<Config>;
14+
export type HeyApiClientFetchPlugin = DefinePlugin<Config>;

packages/openapi-ts/src/plugins/@hey-api/client-next/config.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import { definePluginConfig } from '../../shared/utils/config';
2-
import type { Plugin } from '../../types';
32
import { clientDefaultConfig, clientDefaultMeta } from '../client-core/config';
43
import { clientPluginHandler } from '../client-core/plugin';
54
import type { HeyApiClientNextPlugin } from './types';
65

7-
export const defaultConfig: Plugin.Config<HeyApiClientNextPlugin> = {
6+
export const defaultConfig: HeyApiClientNextPlugin['Config'] = {
87
...clientDefaultMeta,
98
config: {
109
...clientDefaultConfig,
1110
throwOnError: false,
1211
},
13-
handler: clientPluginHandler as Plugin.Handler<HeyApiClientNextPlugin>,
12+
handler: clientPluginHandler as HeyApiClientNextPlugin['Handler'],
1413
name: '@hey-api/client-next',
1514
};
1615

packages/openapi-ts/src/plugins/@hey-api/client-next/types.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Plugin } from '../../types';
1+
import type { DefinePlugin, Plugin } from '../../types';
22
import type { Client } from '../client-core/types';
33

44
export type Config = Plugin.Name<'@hey-api/client-next'> &
@@ -11,4 +11,4 @@ export type Config = Plugin.Name<'@hey-api/client-next'> &
1111
throwOnError?: boolean;
1212
};
1313

14-
export type HeyApiClientNextPlugin = Plugin.Types<Config>;
14+
export type HeyApiClientNextPlugin = DefinePlugin<Config>;

0 commit comments

Comments
 (0)