99
1010const unionType = typeBuilderApi => {
1111 const { schema, type, pluginOptions } = typeBuilderApi
12+ const prefix = pluginOptions . schema . typePrefix
1213
1314 const types = type . possibleTypes
1415 . filter (
@@ -18,18 +19,18 @@ const unionType = typeBuilderApi => {
1819 typeName : possibleType . name ,
1920 } )
2021 )
21- . map ( possibleType => buildTypeName ( possibleType . name ) )
22+ . map ( possibleType => buildTypeName ( possibleType . name , prefix ) )
2223
2324 if ( ! types || ! types . length ) {
2425 return false
2526 }
2627
2728 let unionType = {
28- name : buildTypeName ( type . name ) ,
29+ name : buildTypeName ( type . name , prefix ) ,
2930 types,
3031 resolveType : node => {
3132 if ( node . __typename ) {
32- return buildTypeName ( node . __typename )
33+ return buildTypeName ( node . __typename , prefix )
3334 }
3435
3536 return null
@@ -46,7 +47,8 @@ const unionType = typeBuilderApi => {
4647}
4748
4849const interfaceType = typeBuilderApi => {
49- const { type, schema } = typeBuilderApi
50+ const { type, schema, pluginOptions } = typeBuilderApi
51+ const prefix = pluginOptions . schema . typePrefix
5052
5153 const state = getStore ( ) . getState ( )
5254 const { ingestibles } = state . remoteSchema
@@ -65,15 +67,15 @@ const interfaceType = typeBuilderApi => {
6567 }
6668
6769 let typeDef = {
68- name : buildTypeName ( type . name ) ,
70+ name : buildTypeName ( type . name , prefix ) ,
6971 fields : transformedFields ,
7072 extensions : { infer : false } ,
7173 }
7274
7375 // this is a regular interface type, not a node interface type so we need to resolve the type name
7476 if ( ! nodeInterfaceTypes . includes ( type . name ) ) {
7577 typeDef . resolveType = node =>
76- node ?. __typename ? buildTypeName ( node . __typename ) : null
78+ node ?. __typename ? buildTypeName ( node . __typename , prefix ) : null
7779 }
7880
7981 typeDef = filterTypeDefinition ( typeDef , typeBuilderApi , `INTERFACE` )
@@ -82,8 +84,16 @@ const interfaceType = typeBuilderApi => {
8284}
8385
8486const 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
8797
8898 const transformedFields = transformFields ( {
8999 fields : type . fields ,
@@ -102,7 +112,7 @@ const objectType = typeBuilderApi => {
102112 }
103113
104114 let objectType = {
105- name : buildTypeName ( type . name ) ,
115+ name : buildTypeName ( type . name , prefix ) ,
106116 fields : transformedFields ,
107117 description : type . description ,
108118 extensions : {
@@ -120,9 +130,9 @@ const objectType = typeBuilderApi => {
120130 return schema . buildObjectType ( objectType )
121131}
122132
123- const enumType = ( { schema, type } ) =>
133+ const enumType = ( { schema, type, pluginOptions } ) =>
124134 schema . buildEnumType ( {
125- name : buildTypeName ( type . name ) ,
135+ name : buildTypeName ( type . name , pluginOptions . schema . typePrefix ) ,
126136 values : type . enumValues . reduce ( ( accumulator , { name } ) => {
127137 accumulator [ name ] = { name }
128138
0 commit comments