@@ -30,7 +30,8 @@ const isNaNOrInfinity = (item) => {
30
30
31
31
export default ( Commands , Cypress , cy , state ) => {
32
32
Commands . addAll ( { prevSubject : 'element' } , {
33
- scrollIntoView ( subject , options = { } ) {
33
+ // TODO: any -> Partial<Cypress.ScrollToOptions>
34
+ scrollIntoView ( subject , options : any = { } ) {
34
35
const userOptions = options
35
36
36
37
if ( ! _ . isObject ( userOptions ) ) {
@@ -114,6 +115,9 @@ export default (Commands, Cypress, cy, state) => {
114
115
const scrollIntoView = ( ) => {
115
116
return new Promise ( ( resolve , reject ) => {
116
117
// scroll our axes
118
+ // TODO: done() came from jQuery animate(), specifically, EffectsOptions at misc.d.ts
119
+ // The type definition should be fixed at @types /jquery.scrollto.
120
+ // @ts -ignore
117
121
return $ ( options . $parent ) . scrollTo ( options . $el , {
118
122
axis : options . axis ,
119
123
easing : options . easing ,
@@ -132,7 +136,7 @@ export default (Commands, Cypress, cy, state) => {
132
136
} ,
133
137
always ( ) {
134
138
if ( parentIsWin ) {
135
- return delete options . $parent . contentWindow
139
+ delete options . $parent . contentWindow
136
140
}
137
141
} ,
138
142
} )
@@ -153,7 +157,8 @@ export default (Commands, Cypress, cy, state) => {
153
157
} )
154
158
155
159
Commands . addAll ( { prevSubject : [ 'optional' , 'element' , 'window' ] } , {
156
- scrollTo ( subject , xOrPosition , yOrOptions , options = { } ) {
160
+ // TODO: any -> Partial<Cypress.ScrollToOptions>
161
+ scrollTo ( subject , xOrPosition , yOrOptions , options : any = { } ) {
157
162
let x ; let y
158
163
let userOptions = options
159
164
@@ -168,7 +173,7 @@ export default (Commands, Cypress, cy, state) => {
168
173
y = yOrOptions
169
174
}
170
175
171
- let position = null
176
+ let position : string | null = null
172
177
173
178
// we may be '50%' or 'bottomCenter'
174
179
if ( _ . isString ( xOrPosition ) ) {
@@ -293,7 +298,7 @@ export default (Commands, Cypress, cy, state) => {
293
298
$utils . filterOutOptions ( options , { duration : 0 , easing : 'swing' } ) ,
294
299
)
295
300
296
- const messageArgs = [ ]
301
+ const messageArgs : string [ ] = [ ]
297
302
298
303
if ( position ) {
299
304
messageArgs . push ( position )
@@ -306,12 +311,12 @@ export default (Commands, Cypress, cy, state) => {
306
311
messageArgs . push ( deltaOptions )
307
312
}
308
313
309
- const log = {
314
+ const log : Record < string , any > = {
310
315
message : messageArgs . join ( ', ' ) ,
311
316
timeout : options . timeout ,
312
317
consoleProps ( ) {
313
318
// merge into consoleProps without mutating it
314
- const obj = { }
319
+ const obj : Record < string , any > = { }
315
320
316
321
if ( position ) {
317
322
obj . Position = position
@@ -357,10 +362,16 @@ export default (Commands, Cypress, cy, state) => {
357
362
const scrollTo = ( ) => {
358
363
return new Promise ( ( resolve , reject ) => {
359
364
// scroll our axis'
365
+ // TODO: done() came from jQuery animate(), specifically, EffectsOptions at misc.d.ts
366
+ // The type definition should be fixed at @types /jquery.scrollto.
367
+ // @ts -ignore
360
368
$ ( options . $el ) . scrollTo ( { left : x , top : y } , {
361
369
axis : options . axis ,
362
370
easing : options . easing ,
363
371
duration : options . duration ,
372
+ // TODO: ensureScrollable option does not exist on jQuery or config/jquery.scrollto.ts.
373
+ // It can be removed.
374
+ // @ts -ignore
364
375
ensureScrollable : options . ensureScrollable ,
365
376
done ( ) {
366
377
return resolve ( options . $el )
@@ -376,7 +387,7 @@ export default (Commands, Cypress, cy, state) => {
376
387
} )
377
388
378
389
if ( isWin ) {
379
- return delete options . $el . contentWindow
390
+ delete options . $el . contentWindow
380
391
}
381
392
} )
382
393
}
0 commit comments