Skip to content

Commit d20e3a9

Browse files
authored
Merge pull request #2182 from hey-api/refactor/plugin-types
2 parents a18dd00 + 3ecbe9a commit d20e3a9

File tree

3 files changed

+12
-19
lines changed

3 files changed

+12
-19
lines changed

packages/openapi-ts/src/initConfigs.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,7 @@ const getPluginsConfig = ({
122122
if (plugin._infer) {
123123
const context: PluginContext = {
124124
ensureDependency: (dependency) => {
125-
if (
126-
typeof dependency === 'string' &&
127-
!plugin._dependencies.includes(dependency)
128-
) {
125+
if (!plugin._dependencies.includes(dependency)) {
129126
plugin._dependencies = [...plugin._dependencies, dependency];
130127
}
131128
},
@@ -139,7 +136,7 @@ const getPluginsConfig = ({
139136
defaultConfig._tags?.includes(tag) &&
140137
userPlugin !== name
141138
) {
142-
return userPlugin;
139+
return userPlugin as any;
143140
}
144141
}
145142

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

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,26 @@ export const defaultConfig: Plugin.Config<Config> = {
1414
plugin.config.client = context.pluginByTag({
1515
defaultPlugin: '@hey-api/client-fetch',
1616
tag: 'client',
17-
}) as unknown as typeof plugin.config.client;
17+
});
1818
}
1919

20-
context.ensureDependency(plugin.config.client);
20+
context.ensureDependency(plugin.config.client!);
2121
}
2222

2323
if (plugin.config.transformer) {
2424
if (typeof plugin.config.transformer === 'boolean') {
25-
plugin.config.transformer = context.pluginByTag({
26-
tag: 'transformer',
27-
}) as unknown as typeof plugin.config.transformer;
25+
plugin.config.transformer = context.pluginByTag({ tag: 'transformer' });
2826
}
2927

30-
context.ensureDependency(plugin.config.transformer);
28+
context.ensureDependency(plugin.config.transformer!);
3129
}
3230

3331
if (plugin.config.validator) {
3432
if (typeof plugin.config.validator === 'boolean') {
35-
plugin.config.validator = context.pluginByTag({
36-
tag: 'validator',
37-
}) as unknown as typeof plugin.config.validator;
33+
plugin.config.validator = context.pluginByTag({ tag: 'validator' });
3834
}
3935

40-
context.ensureDependency(plugin.config.validator);
36+
context.ensureDependency(plugin.config.validator!);
4137
}
4238

4339
if (plugin.config.instance) {

packages/openapi-ts/src/plugins/types.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ export type AnyPluginName = PluginNames | (string & {});
4040
type PluginTag = 'client' | 'transformer' | 'validator';
4141

4242
export interface PluginContext {
43-
ensureDependency: (name: PluginNames | true) => void;
44-
pluginByTag: (props: {
45-
defaultPlugin?: AnyPluginName;
43+
ensureDependency: (name: PluginNames) => void;
44+
pluginByTag: <T extends AnyPluginName | boolean = AnyPluginName>(props: {
45+
defaultPlugin?: Exclude<T, boolean>;
4646
errorMessage?: string;
4747
tag: PluginTag;
48-
}) => AnyPluginName | undefined;
48+
}) => Exclude<T, boolean> | undefined;
4949
}
5050

5151
export interface BaseConfig {

0 commit comments

Comments
 (0)