11import { MessageLayer } from 'streamr-client-protocol'
22
33import EncryptionUtil from '../stream/Encryption'
4+ import type Stream from '../stream'
5+ import type StreamrClient from '../StreamrClient'
46import { PublisherKeyExhange } from '../stream/KeyExchange'
57
68const { StreamMessage } = MessageLayer
79
8- export default function Encrypt ( client ) {
10+ type PublisherKeyExhangeAPI = ReturnType < typeof PublisherKeyExhange >
11+
12+ export default function Encrypt ( client : StreamrClient ) {
913 const publisherKeyExchange = PublisherKeyExhange ( client , {
1014 groupKeys : {
1115 ...client . options . groupKeys ,
1216 }
1317 } )
14- async function encrypt ( streamMessage , stream ) {
18+ async function encrypt ( streamMessage : MessageLayer . StreamMessage , stream : Stream ) {
1519 if (
1620 ! publisherKeyExchange . hasAnyGroupKey ( stream . id )
1721 && ! stream . requireEncryptedData
@@ -28,14 +32,14 @@ export default function Encrypt(client) {
2832 }
2933
3034 return Object . assign ( encrypt , {
31- setNextGroupKey ( ...args ) {
35+ setNextGroupKey ( ...args : Parameters < PublisherKeyExhangeAPI [ 'setNextGroupKey' ] > ) {
3236 return publisherKeyExchange . setNextGroupKey ( ...args )
3337 } ,
34- rotateGroupKey ( ...args ) {
38+ rotateGroupKey ( ...args : Parameters < PublisherKeyExhangeAPI [ 'rotateGroupKey' ] > ) {
3539 return publisherKeyExchange . rotateGroupKey ( ...args )
3640 } ,
37- stop ( ... args ) {
38- return publisherKeyExchange . stop ( ... args )
41+ stop ( ) {
42+ return publisherKeyExchange . stop ( )
3943 }
4044 } )
4145}
0 commit comments