1
1
import { sendMessage } from '../../utils'
2
2
3
+ /** Workaround defining MessagingTransport locally because "import()" is not working in @implements
4
+ * @typedef {import('@duckduckgo/messaging').MessagingTransport } MessagingTransport */
5
+
3
6
/**
4
7
* A temporary implementation of {@link MessagingTransport} to communicate with Android and Extension.
5
8
* It wraps the current messaging system that calls `sendMessage`
6
9
*
7
- * @implements {import(" @duckduckgo/messaging"). MessagingTransport }
10
+ * @implements {MessagingTransport}
8
11
* @deprecated - Use this only to communicate with Android and the Extension while support to {@link Messaging}
9
12
* is not ready and we need to use `sendMessage()`.
10
13
*/
@@ -16,11 +19,10 @@ export class ClickToLoadMessagingTransport {
16
19
_queue = new Set ( )
17
20
18
21
/**
19
- * @param {TestTransportConfig } config
20
- * @param {import("@duckduckgo/messaging").MessagingContext } messagingContext
22
+ * @param {import('@duckduckgo/messaging').MessagingContext } messagingContext
21
23
* @internal
22
24
*/
23
- constructor ( config , messagingContext ) {
25
+ constructor ( messagingContext ) {
24
26
this . messagingContext = messagingContext
25
27
this . globals = {
26
28
window,
@@ -42,14 +44,14 @@ export class ClickToLoadMessagingTransport {
42
44
}
43
45
44
46
/**
45
- * @param {import(" @duckduckgo/messaging" ).NotificationMessage } msg
47
+ * @param {import(' @duckduckgo/messaging' ).NotificationMessage } msg
46
48
*/
47
49
notify ( msg ) {
48
50
sendMessage ( msg . method , msg . params )
49
51
}
50
52
51
53
/**
52
- * @param {import(" @duckduckgo/messaging" ).RequestMessage } msg
54
+ * @param {import(' @duckduckgo/messaging' ).RequestMessage } req
53
55
* @return {Promise<any> }
54
56
*/
55
57
request ( req ) {
@@ -70,19 +72,19 @@ export class ClickToLoadMessagingTransport {
70
72
eventData . response . videoURL === req . params ?. videoURL
71
73
)
72
74
}
73
- params = req . params . videoURL
75
+ params = req . params ? .videoURL
74
76
break
75
77
}
76
78
// Unwrap 'updateYouTubeCTLAddedFlag' params to match expected payload
77
79
// for sendMessage()
78
80
case 'updateYouTubeCTLAddedFlag' : {
79
- params = req . params . youTubeCTLAddedFlag
81
+ params = req . params ? .youTubeCTLAddedFlag
80
82
break
81
83
}
82
84
// Unwrap 'setYoutubePreviewsEnabled' params to match expected payload
83
85
// for sendMessage()
84
86
case 'setYoutubePreviewsEnabled' : {
85
- params = req . params . youtubePreviewsEnabled
87
+ params = req . params ? .youtubePreviewsEnabled
86
88
break
87
89
}
88
90
}
@@ -99,7 +101,7 @@ export class ClickToLoadMessagingTransport {
99
101
}
100
102
101
103
/**
102
- * @param {import(" @duckduckgo/messaging" ).Subscription } msg
104
+ * @param {import(' @duckduckgo/messaging' ).Subscription } msg
103
105
* @param {(value: unknown | undefined) => void } callback
104
106
*/
105
107
subscribe ( msg , callback ) {
0 commit comments