@@ -50,15 +50,24 @@ export const getRelationTypeIds = <S extends Schema.Schema.AnyNoContext>(
5050 Option . getOrElse ( ( ) => false ) ,
5151 ) ;
5252 const listField : RelationListField = isBacklink ? 'backlinks' : 'relations' ;
53- const level1Info : RelationTypeIdInfo = {
53+ const relationSpaces = includeBranch ?. _config ?. relationSpaces ;
54+ const valueSpaces = includeBranch ?. _config ?. valueSpaces ;
55+
56+ const level1InfoBase : RelationTypeIdInfo = {
5457 typeId : result . value ,
5558 propertyName,
5659 listField,
5760 includeNodes,
5861 includeTotalCount,
59- relationSpaces : includeBranch ?. _config ?. relationSpaces ,
60- valueSpaces : includeBranch ?. _config ?. valueSpaces ,
6162 } ;
63+ const level1Info : RelationTypeIdInfo =
64+ relationSpaces === undefined && valueSpaces === undefined
65+ ? level1InfoBase
66+ : {
67+ ...level1InfoBase ,
68+ ...( relationSpaces !== undefined ? { relationSpaces } : { } ) ,
69+ ...( valueSpaces !== undefined ? { valueSpaces } : { } ) ,
70+ } ;
6271 const nestedRelations : RelationTypeIdInfo [ ] = [ ] ;
6372
6473 if ( ! SchemaAST . isTupleType ( prop . type ) ) {
@@ -98,15 +107,23 @@ export const getRelationTypeIds = <S extends Schema.Schema.AnyNoContext>(
98107 nestedProp . type ,
99108 ) . pipe ( Option . getOrElse ( ( ) => false ) ) ;
100109 const nestedListField : RelationListField = nestedIsBacklink ? 'backlinks' : 'relations' ;
101- const nestedInfo : RelationTypeIdInfo = {
110+ const nestedRelationSpaces = nestedIncludeBranch ?. _config ?. relationSpaces ;
111+ const nestedValueSpaces = nestedIncludeBranch ?. _config ?. valueSpaces ;
112+ const nestedInfoBase : RelationTypeIdInfo = {
102113 typeId : nestedResult . value ,
103114 propertyName : nestedPropertyName ,
104115 listField : nestedListField ,
105116 includeNodes : nestedIncludeNodes ,
106117 includeTotalCount : nestedIncludeTotalCount ,
107- relationSpaces : nestedIncludeBranch ?. _config ?. relationSpaces ,
108- valueSpaces : nestedIncludeBranch ?. _config ?. valueSpaces ,
109118 } ;
119+ const nestedInfo : RelationTypeIdInfo =
120+ nestedRelationSpaces === undefined && nestedValueSpaces === undefined
121+ ? nestedInfoBase
122+ : {
123+ ...nestedInfoBase ,
124+ ...( nestedRelationSpaces !== undefined ? { relationSpaces : nestedRelationSpaces } : { } ) ,
125+ ...( nestedValueSpaces !== undefined ? { valueSpaces : nestedValueSpaces } : { } ) ,
126+ } ;
110127 nestedRelations . push ( nestedInfo ) ;
111128 }
112129 }
0 commit comments