9
9
10
10
const unionType = typeBuilderApi => {
11
11
const { schema, type, pluginOptions } = typeBuilderApi
12
+ const prefix = pluginOptions . schema . typePrefix
12
13
13
14
const types = type . possibleTypes
14
15
. filter (
@@ -18,18 +19,18 @@ const unionType = typeBuilderApi => {
18
19
typeName : possibleType . name ,
19
20
} )
20
21
)
21
- . map ( possibleType => buildTypeName ( possibleType . name ) )
22
+ . map ( possibleType => buildTypeName ( possibleType . name , prefix ) )
22
23
23
24
if ( ! types || ! types . length ) {
24
25
return false
25
26
}
26
27
27
28
let unionType = {
28
- name : buildTypeName ( type . name ) ,
29
+ name : buildTypeName ( type . name , prefix ) ,
29
30
types,
30
31
resolveType : node => {
31
32
if ( node . __typename ) {
32
- return buildTypeName ( node . __typename )
33
+ return buildTypeName ( node . __typename , prefix )
33
34
}
34
35
35
36
return null
@@ -46,7 +47,8 @@ const unionType = typeBuilderApi => {
46
47
}
47
48
48
49
const interfaceType = typeBuilderApi => {
49
- const { type, schema } = typeBuilderApi
50
+ const { type, schema, pluginOptions } = typeBuilderApi
51
+ const prefix = pluginOptions . schema . typePrefix
50
52
51
53
const state = getStore ( ) . getState ( )
52
54
const { ingestibles } = state . remoteSchema
@@ -65,15 +67,15 @@ const interfaceType = typeBuilderApi => {
65
67
}
66
68
67
69
let typeDef = {
68
- name : buildTypeName ( type . name ) ,
70
+ name : buildTypeName ( type . name , prefix ) ,
69
71
fields : transformedFields ,
70
72
extensions : { infer : false } ,
71
73
}
72
74
73
75
// this is a regular interface type, not a node interface type so we need to resolve the type name
74
76
if ( ! nodeInterfaceTypes . includes ( type . name ) ) {
75
77
typeDef . resolveType = node =>
76
- node ?. __typename ? buildTypeName ( node . __typename ) : null
78
+ node ?. __typename ? buildTypeName ( node . __typename , prefix ) : null
77
79
}
78
80
79
81
typeDef = filterTypeDefinition ( typeDef , typeBuilderApi , `INTERFACE` )
@@ -82,8 +84,16 @@ const interfaceType = typeBuilderApi => {
82
84
}
83
85
84
86
const objectType = typeBuilderApi => {
85
- const { type, gatsbyNodeTypes, fieldAliases, fieldBlacklist, schema } =
86
- typeBuilderApi
87
+ const {
88
+ type,
89
+ gatsbyNodeTypes,
90
+ fieldAliases,
91
+ fieldBlacklist,
92
+ schema,
93
+ pluginOptions,
94
+ } = typeBuilderApi
95
+
96
+ const prefix = pluginOptions . schema . typePrefix
87
97
88
98
const transformedFields = transformFields ( {
89
99
fields : type . fields ,
@@ -102,7 +112,7 @@ const objectType = typeBuilderApi => {
102
112
}
103
113
104
114
let objectType = {
105
- name : buildTypeName ( type . name ) ,
115
+ name : buildTypeName ( type . name , prefix ) ,
106
116
fields : transformedFields ,
107
117
description : type . description ,
108
118
extensions : {
@@ -120,9 +130,9 @@ const objectType = typeBuilderApi => {
120
130
return schema . buildObjectType ( objectType )
121
131
}
122
132
123
- const enumType = ( { schema, type } ) =>
133
+ const enumType = ( { schema, type, pluginOptions } ) =>
124
134
schema . buildEnumType ( {
125
- name : buildTypeName ( type . name ) ,
135
+ name : buildTypeName ( type . name , pluginOptions . schema . typePrefix ) ,
126
136
values : type . enumValues . reduce ( ( accumulator , { name } ) => {
127
137
accumulator [ name ] = { name }
128
138
0 commit comments