Skip to content

Commit 92a0212

Browse files
committed
refactor
1 parent 0c5070f commit 92a0212

File tree

12 files changed

+22
-21
lines changed

12 files changed

+22
-21
lines changed

bun.lockb

-11.1 KB
Binary file not shown.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@graphql-codegen/java-common": "3.0.0",
2323
"@graphql-codegen/plugin-helpers": "5.0.4",
2424
"@graphql-codegen/visitor-plugin-common": "5.2.0",
25+
"ts-deepmerge": "7.0.0",
2526
"valibot": "0.30.0"
2627
},
2728
"devDependencies": {

src/definitions/enum.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ limitations under the License.
1414
import { EnumTypeDefinitionNode, EnumValueDefinitionNode } from "graphql";
1515
import { indentMultiline } from "@graphql-codegen/visitor-plugin-common";
1616
import { buildAnnotations } from "../helpers/build-annotations";
17-
import { shouldIncludeTypeDefinition } from "../helpers/should-include-type-definition";
17+
import { shouldExcludeTypeDefinition } from "../helpers/should-exclude-type-definition";
1818
import { CodegenConfigWithDefaults } from "../helpers/build-config-with-defaults";
1919

2020
export function buildEnumTypeDefinition(
2121
node: EnumTypeDefinitionNode,
2222
config: CodegenConfigWithDefaults,
2323
) {
24-
if (!shouldIncludeTypeDefinition(node, config)) {
24+
if (shouldExcludeTypeDefinition(node, config)) {
2525
return "";
2626
}
2727

src/definitions/input.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ limitations under the License.
1212
*/
1313

1414
import { GraphQLSchema, InputObjectTypeDefinitionNode } from "graphql";
15-
import { shouldIncludeTypeDefinition } from "../helpers/should-include-type-definition";
15+
import { shouldExcludeTypeDefinition } from "../helpers/should-exclude-type-definition";
1616
import { buildTypeMetadata } from "../helpers/build-type-metadata";
1717
import { buildAnnotations } from "../helpers/build-annotations";
1818
import { indent } from "@graphql-codegen/visitor-plugin-common";
@@ -24,7 +24,7 @@ export function buildInputObjectDefinition(
2424
schema: GraphQLSchema,
2525
config: CodegenConfigWithDefaults,
2626
) {
27-
if (!shouldIncludeTypeDefinition(node, config)) {
27+
if (shouldExcludeTypeDefinition(node, config)) {
2828
return "";
2929
}
3030

src/definitions/interface.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ limitations under the License.
1414
import { GraphQLSchema, InterfaceTypeDefinitionNode } from "graphql";
1515
import { buildAnnotations } from "../helpers/build-annotations";
1616
import { buildTypeMetadata } from "../helpers/build-type-metadata";
17-
import { shouldIncludeTypeDefinition } from "../helpers/should-include-type-definition";
17+
import { shouldExcludeTypeDefinition } from "../helpers/should-exclude-type-definition";
1818
import { buildFieldDefinition } from "../helpers/build-field-definition";
1919
import { CodegenConfigWithDefaults } from "../helpers/build-config-with-defaults";
2020
import { getDependentInterfaceNames } from "../helpers/dependent-type-utils";
@@ -24,7 +24,7 @@ export function buildInterfaceDefinition(
2424
schema: GraphQLSchema,
2525
config: CodegenConfigWithDefaults,
2626
) {
27-
if (!shouldIncludeTypeDefinition(node, config)) {
27+
if (shouldExcludeTypeDefinition(node, config)) {
2828
return "";
2929
}
3030

src/definitions/object.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
} from "graphql";
2020
import { buildAnnotations } from "../helpers/build-annotations";
2121
import { buildTypeMetadata } from "../helpers/build-type-metadata";
22-
import { shouldIncludeTypeDefinition } from "../helpers/should-include-type-definition";
22+
import { shouldExcludeTypeDefinition } from "../helpers/should-exclude-type-definition";
2323
import {
2424
getDependentInterfaceNames,
2525
getDependentUnionsForType,
@@ -34,7 +34,7 @@ export function buildObjectTypeDefinition(
3434
schema: GraphQLSchema,
3535
config: CodegenConfigWithDefaults,
3636
) {
37-
if (!shouldIncludeTypeDefinition(node, config)) {
37+
if (shouldExcludeTypeDefinition(node, config)) {
3838
return "";
3939
}
4040

src/definitions/union.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ limitations under the License.
1212
*/
1313

1414
import { UnionTypeDefinitionNode } from "graphql";
15-
import { shouldIncludeTypeDefinition } from "../helpers/should-include-type-definition";
15+
import { shouldExcludeTypeDefinition } from "../helpers/should-exclude-type-definition";
1616
import { CodegenConfigWithDefaults } from "../helpers/build-config-with-defaults";
1717
import {
1818
buildAnnotations,
@@ -23,7 +23,7 @@ export function buildUnionTypeDefinition(
2323
node: UnionTypeDefinitionNode,
2424
config: CodegenConfigWithDefaults,
2525
) {
26-
if (!shouldIncludeTypeDefinition(node, config)) {
26+
if (shouldExcludeTypeDefinition(node, config)) {
2727
return "";
2828
}
2929
const annotations = buildAnnotations({

src/helpers/build-config-with-defaults.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import { GraphQLKotlinCodegenConfig } from "../plugin";
22
import { buildPackageNameFromPath } from "@graphql-codegen/java-common";
33
import { dirname, normalize } from "path";
4+
import { merge } from "ts-deepmerge";
45

56
export function buildConfigWithDefaults(
67
config: GraphQLKotlinCodegenConfig,
78
outputFile: string,
89
) {
9-
return {
10+
const defaultConfig = {
1011
packageName: buildPackageNameFromPath(dirname(normalize(outputFile))),
1112
includeDependentTypes: true,
1213
unionGeneration: "MARKER_INTERFACE",
13-
...config,
14-
extraImports: [
15-
"com.expediagroup.graphql.generator.annotations.*",
16-
...(config.extraImports ?? []),
17-
],
14+
extraImports: ["com.expediagroup.graphql.generator.annotations.*"],
15+
resolverInterfaces: [{ typeName: "Query" }],
1816
} as const satisfies GraphQLKotlinCodegenConfig;
17+
18+
return merge(defaultConfig, config) as GraphQLKotlinCodegenConfig &
19+
typeof defaultConfig;
1920
}
2021

2122
export type CodegenConfigWithDefaults = ReturnType<

src/helpers/findTypeInResolverInterfacesConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export function findTypeInResolverInterfacesConfig(
55
node: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode,
66
config: CodegenConfigWithDefaults,
77
) {
8-
return config.resolverInterfaces?.find(
8+
return config.resolverInterfaces.find(
99
(resolverInterface) => resolverInterface.typeName === node.name.value,
1010
);
1111
}

src/helpers/should-include-type-definition.ts renamed to src/helpers/should-exclude-type-definition.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ limitations under the License.
1414
import { TypeDefinitionNode } from "graphql";
1515
import { CodegenConfigWithDefaults } from "./build-config-with-defaults";
1616

17-
export function shouldIncludeTypeDefinition(
17+
export function shouldExcludeTypeDefinition(
1818
node: TypeDefinitionNode,
1919
config: CodegenConfigWithDefaults,
2020
) {
21-
return !config.onlyTypes || config.onlyTypes.includes(node.name.value);
21+
return config.onlyTypes && !config.onlyTypes.includes(node.name.value);
2222
}

0 commit comments

Comments
 (0)