Skip to content

Commit 98a9db5

Browse files
committed
fix types
1 parent 082f964 commit 98a9db5

1 file changed

Lines changed: 23 additions & 6 deletions

File tree

packages/hypergraph/src/utils/get-relation-type-ids.ts

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)