6
6
TJsonaNormalizedIncludeNamesTree ,
7
7
TJsonaUniqueIncluded ,
8
8
IModelPropertiesMapper ,
9
- IModelsSerializer
9
+ IModelsSerializer ,
10
+ TJsonaRelationshipDataItem ,
10
11
} from '../JsonaTypes' ;
11
12
12
13
import { createIncludeNamesTree } from '../utils' ;
@@ -27,7 +28,7 @@ export class ModelsSerializer implements IModelsSerializer {
27
28
this . propertiesMapper = propertiesMapper ;
28
29
}
29
30
30
- setStuff ( stuff ) {
31
+ setStuff ( stuff : TJsonaModel | TJsonaModel [ ] ) {
31
32
this . stuff = stuff ;
32
33
}
33
34
@@ -61,13 +62,13 @@ export class ModelsSerializer implements IModelsSerializer {
61
62
62
63
for ( let i = 0 ; i < collectionLength ; i ++ ) {
63
64
data . push (
64
- this . buildDataByModel ( stuff [ i ] )
65
+ this . buildDataByModel ( stuff [ i ] )
65
66
) ;
66
67
67
68
this . buildIncludedByModel (
68
- stuff [ i ] ,
69
- this . includeNamesTree ,
70
- uniqueIncluded
69
+ stuff [ i ] ,
70
+ this . includeNamesTree ,
71
+ uniqueIncluded
71
72
) ;
72
73
}
73
74
@@ -77,9 +78,9 @@ export class ModelsSerializer implements IModelsSerializer {
77
78
body [ 'data' ] = this . buildDataByModel ( stuff ) ;
78
79
79
80
this . buildIncludedByModel (
80
- stuff ,
81
- this . includeNamesTree ,
82
- uniqueIncluded
81
+ stuff ,
82
+ this . includeNamesTree ,
83
+ uniqueIncluded
83
84
) ;
84
85
} else if ( stuff === null ) {
85
86
body [ 'data' ] = null ;
@@ -115,7 +116,7 @@ export class ModelsSerializer implements IModelsSerializer {
115
116
return data ;
116
117
}
117
118
118
- buildResourceObjectPart ( relation : TJsonaModel ) {
119
+ buildResourceObjectPart ( relation : TJsonaModel ) : TJsonaRelationshipDataItem {
119
120
const id = this . propertiesMapper . getId ( relation ) ;
120
121
const type = this . propertiesMapper . getType ( relation ) ;
121
122
@@ -147,9 +148,9 @@ export class ModelsSerializer implements IModelsSerializer {
147
148
relationshipData . push ( relationshipDataItem ) ;
148
149
} else {
149
150
console . error (
150
- `Can't create data item for relationship ${ k } ,
151
+ `Can't create data item for relationship ${ k } ,
151
152
it doesn't have 'id' or 'type', it was skipped` ,
152
- relationItem
153
+ relationItem
153
154
) ;
154
155
}
155
156
}
@@ -166,8 +167,8 @@ export class ModelsSerializer implements IModelsSerializer {
166
167
} ;
167
168
} else {
168
169
console . error (
169
- `Can't create data for relationship ${ k } , it doesn't have 'type', it was skipped` ,
170
- relation
170
+ `Can't create data for relationship ${ k } , it doesn't have 'type', it was skipped` ,
171
+ relation
171
172
) ;
172
173
}
173
174
} else {
@@ -181,9 +182,9 @@ export class ModelsSerializer implements IModelsSerializer {
181
182
}
182
183
183
184
buildIncludedByModel (
184
- model : TJsonaModel ,
185
- includeTree : TJsonaNormalizedIncludeNamesTree ,
186
- builtIncluded : TJsonaUniqueIncluded = { }
185
+ model : TJsonaModel ,
186
+ includeTree : TJsonaNormalizedIncludeNamesTree ,
187
+ builtIncluded : TJsonaUniqueIncluded = { }
187
188
) : void {
188
189
if ( ! includeTree || ! Object . keys ( includeTree ) . length ) {
189
190
return ;
@@ -217,9 +218,9 @@ export class ModelsSerializer implements IModelsSerializer {
217
218
}
218
219
219
220
buildIncludedItem (
220
- relationModel : TJsonaModel ,
221
- subIncludeTree : TJsonaNormalizedIncludeNamesTree ,
222
- builtIncluded : TJsonaUniqueIncluded
221
+ relationModel : TJsonaModel ,
222
+ subIncludeTree : TJsonaNormalizedIncludeNamesTree ,
223
+ builtIncluded : TJsonaUniqueIncluded
223
224
) {
224
225
const id = this . propertiesMapper . getId ( relationModel ) ;
225
226
const type = this . propertiesMapper . getType ( relationModel ) ;
0 commit comments