@@ -4,6 +4,10 @@ import { camelize } from '@ember/string';
4
4
5
5
import { pluralize } from 'ember-inflector' ;
6
6
7
+ type Dict < T > = import ( '@ember-data/store/-private/ts-interfaces/utils' ) . Dict < T > ;
8
+ type Snapshot = import ( '@ember-data/store/-private/system/snapshot' ) . default ;
9
+ type SnapshotRecordArray = import ( '@ember-data/store/-private/system/snapshot-record-array' ) . default ;
10
+
7
11
/**
8
12
@module @ember -data/adapter
9
13
*/
@@ -55,7 +59,13 @@ export default Mixin.create({
55
59
@param {Object } query object of query parameters to send for query requests.
56
60
@return {String } url
57
61
*/
58
- buildURL ( modelName , id , snapshot , requestType , query ) {
62
+ buildURL (
63
+ modelName : string ,
64
+ id : string | string [ ] | Dict < unknown > | null ,
65
+ snapshot : Snapshot | Snapshot [ ] | SnapshotRecordArray | null ,
66
+ requestType : string = '' ,
67
+ query = { }
68
+ ) : string {
59
69
switch ( requestType ) {
60
70
case 'findRecord' :
61
71
return this . urlForFindRecord ( id , modelName , snapshot ) ;
@@ -89,9 +99,9 @@ export default Mixin.create({
89
99
@param {String } id
90
100
@return {String } url
91
101
*/
92
- _buildURL ( modelName , id ) {
102
+ _buildURL ( modelName : string | null | undefined , id : string | null | undefined ) : string {
93
103
let path ;
94
- let url = [ ] ;
104
+ let url : string [ ] = [ ] ;
95
105
let host = get ( this , 'host' ) ;
96
106
let prefix = this . urlPrefix ( ) ;
97
107
@@ -109,12 +119,12 @@ export default Mixin.create({
109
119
url . unshift ( prefix ) ;
110
120
}
111
121
112
- url = url . join ( '/' ) ;
113
- if ( ! host && url && url . charAt ( 0 ) !== '/' ) {
114
- url = '/' + url ;
122
+ let urlString = url . join ( '/' ) ;
123
+ if ( ! host && urlString && urlString . charAt ( 0 ) !== '/' ) {
124
+ urlString = '/' + urlString ;
115
125
}
116
126
117
- return url ;
127
+ return urlString ;
118
128
} ,
119
129
120
130
/**
@@ -140,7 +150,7 @@ export default Mixin.create({
140
150
@return {String } url
141
151
142
152
*/
143
- urlForFindRecord ( id , modelName , snapshot ) {
153
+ urlForFindRecord ( id : string , modelName : string , snapshot : Snapshot ) : string {
144
154
return this . _buildURL ( modelName , id ) ;
145
155
} ,
146
156
@@ -165,7 +175,7 @@ export default Mixin.create({
165
175
@param {SnapshotRecordArray } snapshot
166
176
@return {String } url
167
177
*/
168
- urlForFindAll ( modelName , snapshot ) {
178
+ urlForFindAll ( modelName : string , snapshot : Snapshot ) : string {
169
179
return this . _buildURL ( modelName ) ;
170
180
} ,
171
181
@@ -195,7 +205,7 @@ export default Mixin.create({
195
205
@param {String } modelName
196
206
@return {String } url
197
207
*/
198
- urlForQuery ( query , modelName ) {
208
+ urlForQuery ( query : Dict < unknown > , modelName : string ) : string {
199
209
return this . _buildURL ( modelName ) ;
200
210
} ,
201
211
@@ -220,7 +230,7 @@ export default Mixin.create({
220
230
@param {String } modelName
221
231
@return {String } url
222
232
*/
223
- urlForQueryRecord ( query , modelName ) {
233
+ urlForQueryRecord ( query : Dict < unknown > , modelName : string ) : string {
224
234
return this . _buildURL ( modelName ) ;
225
235
} ,
226
236
@@ -248,7 +258,7 @@ export default Mixin.create({
248
258
@param {Array } snapshots
249
259
@return {String } url
250
260
*/
251
- urlForFindMany ( ids , modelName , snapshots ) {
261
+ urlForFindMany ( ids : string [ ] , modelName : string , snapshots : Snapshot [ ] ) {
252
262
return this . _buildURL ( modelName ) ;
253
263
} ,
254
264
@@ -275,7 +285,7 @@ export default Mixin.create({
275
285
@param {Snapshot } snapshot
276
286
@return {String } url
277
287
*/
278
- urlForFindHasMany ( id , modelName , snapshot ) {
288
+ urlForFindHasMany ( id : string , modelName : string , snapshot : Snapshot ) : string {
279
289
return this . _buildURL ( modelName , id ) ;
280
290
} ,
281
291
@@ -302,7 +312,7 @@ export default Mixin.create({
302
312
@param {Snapshot } snapshot
303
313
@return {String } url
304
314
*/
305
- urlForFindBelongsTo ( id , modelName , snapshot ) {
315
+ urlForFindBelongsTo ( id : string , modelName : string , snapshot : Snapshot ) : string {
306
316
return this . _buildURL ( modelName , id ) ;
307
317
} ,
308
318
@@ -327,7 +337,7 @@ export default Mixin.create({
327
337
@param {Snapshot } snapshot
328
338
@return {String } url
329
339
*/
330
- urlForCreateRecord ( modelName , snapshot ) {
340
+ urlForCreateRecord ( modelName : string , snapshot : Snapshot ) {
331
341
return this . _buildURL ( modelName ) ;
332
342
} ,
333
343
@@ -352,7 +362,7 @@ export default Mixin.create({
352
362
@param {Snapshot } snapshot
353
363
@return {String } url
354
364
*/
355
- urlForUpdateRecord ( id , modelName , snapshot ) {
365
+ urlForUpdateRecord ( id : string , modelName : string , snapshot : Snapshot ) : string {
356
366
return this . _buildURL ( modelName , id ) ;
357
367
} ,
358
368
@@ -377,7 +387,7 @@ export default Mixin.create({
377
387
@param {Snapshot } snapshot
378
388
@return {String } url
379
389
*/
380
- urlForDeleteRecord ( id , modelName , snapshot ) {
390
+ urlForDeleteRecord ( id : string , modelName : string , snapshot : Snapshot ) : string {
381
391
return this . _buildURL ( modelName , id ) ;
382
392
} ,
383
393
@@ -388,7 +398,7 @@ export default Mixin.create({
388
398
@param {String } parentURL
389
399
@return {String } urlPrefix
390
400
*/
391
- urlPrefix ( path , parentURL ) {
401
+ urlPrefix ( path : string | null | undefined , parentURL : string ) : string {
392
402
let host = get ( this , 'host' ) ;
393
403
let namespace = get ( this , 'namespace' ) ;
394
404
@@ -412,7 +422,7 @@ export default Mixin.create({
412
422
}
413
423
414
424
// No path provided
415
- let url = [ ] ;
425
+ let url : string [ ] = [ ] ;
416
426
if ( host ) {
417
427
url . push ( host ) ;
418
428
}
@@ -450,7 +460,7 @@ export default Mixin.create({
450
460
@param {String } modelName
451
461
@return {String } path
452
462
**/
453
- pathForType ( modelName ) {
463
+ pathForType ( modelName : string ) : string {
454
464
let camelized = camelize ( modelName ) ;
455
465
return pluralize ( camelized ) ;
456
466
} ,
0 commit comments