14
14
import Service , { inject as service } from '@ember/service' ;
15
15
import { action } from '@ember/object' ;
16
16
import { tracked } from '@glimmer/tracking' ;
17
+ import type { AnyFn } from 'ember/-private/type-utils' ;
17
18
import config from 'ember-inspector/config/environment' ;
19
+ import type PortService from '../port' ;
20
+ import type { Message } from '../port' ;
18
21
19
- export default class Basic extends Service {
20
- @service port ;
22
+ export default abstract class Basic extends Service {
23
+ @service declare port : PortService ;
21
24
22
- @ tracked canOpenResource = false ;
25
+ _messageCallbacks : Array < AnyFn > ;
23
26
name = 'basic' ;
24
27
28
+ @tracked canOpenResource = false ;
29
+
25
30
/**
26
31
* Called when the adapter is created (when
27
32
* the inspector app boots).
28
- *
29
- * @method init
30
33
*/
31
- init ( ) {
32
- super . init ( ... arguments ) ;
34
+ constructor ( properties ?: object ) {
35
+ super ( properties ) ;
33
36
this . _messageCallbacks = [ ] ;
34
37
this . _checkVersion ( ) ;
35
38
}
@@ -41,7 +44,6 @@ export default class Basic extends Service {
41
44
* Ember version and needs to switch to an inspector version
42
45
* that does.
43
46
*
44
- * @method _checkVersion
45
47
* @private
46
48
*/
47
49
_checkVersion ( ) {
@@ -73,35 +75,35 @@ export default class Basic extends Service {
73
75
* to switch to an older/new inspector version
74
76
* that supports this Ember version.
75
77
*
76
- * @method onVersionMismatch
77
- * @param {String } neededVersion (The version to go to)
78
+ * @param _neededVersion (The version to go to)
78
79
*/
79
- onVersionMismatch ( ) { }
80
+ onVersionMismatch ( _neededVersion ?: string ) { }
80
81
81
82
/**
82
83
Used to send messages to EmberDebug
83
84
84
- @param type {Object} the message to the send
85
+ @param _message the message to send
85
86
**/
86
- sendMessage ( ) { }
87
+ sendMessage ( _message : Partial < Message > ) { }
87
88
88
89
/**
89
90
Register functions to be called
90
91
when a message from EmberDebug is received
91
92
**/
92
- onMessageReceived ( callback ) {
93
+ onMessageReceived ( callback : AnyFn ) {
93
94
this . _messageCallbacks . push ( callback ) ;
94
95
}
95
96
96
- _messageReceived ( ...args ) {
97
+ _messageReceived ( ...args : Array < any > ) {
97
98
this . _messageCallbacks . forEach ( ( callback ) => {
98
99
callback ( ...args ) ;
99
100
} ) ;
100
101
}
101
102
103
+ abstract reloadTab ( ) : void ;
102
104
// Called when the "Reload" is clicked by the user
103
105
willReload ( ) { }
104
- openResource /* file, line */ ( ) { }
106
+ openResource ( _file : string , _line : number ) { }
105
107
106
108
@action
107
109
refreshPage ( ) {
@@ -126,15 +128,14 @@ export default class Basic extends Service {
126
128
* 0 if version1 == version2
127
129
* 1 if version1 > version2
128
130
*
129
- * @param {String } version1
130
- * @param {String } version2
131
- * @return {Boolean } result of the comparison
131
+ * @return result of the comparison
132
132
*/
133
- function compareVersion ( version1 , version2 ) {
134
- version1 = cleanupVersion ( version1 ) . split ( '.' ) ;
135
- version2 = cleanupVersion ( version2 ) . split ( '.' ) ;
133
+ function compareVersion ( version1 : string , version2 : string ) {
134
+ const v1 = cleanupVersion ( version1 ) . split ( '.' ) ;
135
+ const v2 = cleanupVersion ( version2 ) . split ( '.' ) ;
136
136
for ( let i = 0 ; i < 3 ; i ++ ) {
137
- let compared = compare ( + version1 [ i ] , + version2 [ i ] ) ;
137
+ // @ts -expect-error TODO: refactor this to make TS happy
138
+ let compared = compare ( + v1 [ i ] , + v2 [ i ] ) ;
138
139
if ( compared !== 0 ) {
139
140
return compared ;
140
141
}
@@ -143,11 +144,11 @@ function compareVersion(version1, version2) {
143
144
}
144
145
145
146
/* Remove -alpha, -beta, etc from versions */
146
- function cleanupVersion ( version ) {
147
+ function cleanupVersion ( version : string ) {
147
148
return version . replace ( / - .* / g, '' ) ;
148
149
}
149
150
150
- function compare ( val , number ) {
151
+ function compare ( val : number , number : number ) {
151
152
if ( val === number ) {
152
153
return 0 ;
153
154
} else if ( val < number ) {
0 commit comments