1
- declare module LeanCloudRealtime {
1
+ declare namespace LeanCloudRealtime {
2
2
interface AVUser {
3
3
getSessionToken ( ) : string ;
4
4
}
5
5
6
6
interface SignatureResult {
7
- signature : string ,
8
- timestamp : number ,
9
- nonce : string ,
7
+ signature : string ;
8
+ timestamp : number ;
9
+ nonce : string ;
10
10
}
11
11
type SignatureFactoryResult = Promise < SignatureResult > | SignatureResult ;
12
12
13
13
export class Realtime extends EventEmitter {
14
- constructor ( options : { appId : string , appKey : string , region ?: string , pushOfflineMessages ?: boolean , noBinary ?: boolean , ssl ?: boolean , server ?: string | { RTMRouter : string , api : string } , RTMServers ?: string | string [ ] , plugins ?: Array < Plugin > } ) ;
14
+ constructor ( options : {
15
+ appId : string ;
16
+ appKey : string ;
17
+ region ?: string ;
18
+ pushOfflineMessages ?: boolean ;
19
+ noBinary ?: boolean ;
20
+ ssl ?: boolean ;
21
+ server ?: string | { RTMRouter : string ; api : string } ;
22
+ RTMServers ?: string | string [ ] ;
23
+ plugins ?: Array < Plugin > ;
24
+ } ) ;
15
25
createIMClient (
16
- client : string | AVUser ,
26
+ client : string | AVUser ,
17
27
options ?: {
18
- signatureFactory ?: ( clientId : string ) => SignatureFactoryResult ,
19
- conversationSignatureFactory ?: ( clientId : string , conversationId : string , targetIds : string [ ] , action : string ) => SignatureFactoryResult ,
20
- blacklistSignatureFactory ?: ( clientId : string , conversationId : string , targetIds : string [ ] , action : string ) => SignatureFactoryResult ,
21
- tag ?: string ,
22
- isReconnect ?: boolean ,
28
+ signatureFactory ?: ( clientId : string ) => SignatureFactoryResult ;
29
+ conversationSignatureFactory ?: (
30
+ clientId : string ,
31
+ conversationId : string ,
32
+ targetIds : string [ ] ,
33
+ action : string
34
+ ) => SignatureFactoryResult ;
35
+ blacklistSignatureFactory ?: (
36
+ clientId : string ,
37
+ conversationId : string ,
38
+ targetIds : string [ ] ,
39
+ action : string
40
+ ) => SignatureFactoryResult ;
41
+ tag ?: string ;
42
+ isReconnect ?: boolean ;
23
43
} ,
24
- tag ?: string ,
44
+ tag ?: string
25
45
) : Promise < IMClient > ;
26
46
static defineConversationProperty ( prop : string , descriptor ?: Object ) ;
27
47
register ( messageClass : AVMessage [ ] ) ;
@@ -31,14 +51,28 @@ declare module LeanCloudRealtime {
31
51
class IMClient extends EventEmitter {
32
52
id : string ;
33
53
close ( ) : Promise < void > ;
34
- createConversation ( options : { members ?: string [ ] , name ?: string , transient ?: boolean , unique ?: boolean , [ key : string ] : any } ) : Promise < ConversationBase > ;
35
- createChatRoom ( options : { name ?: string , [ key : string ] : any } ) : Promise < ChatRoom > ;
36
- createTemporaryConversation ( options : { members ?: string [ ] , ttl ?: number } ) : Promise < TemporaryConversation > ;
54
+ createConversation ( options : {
55
+ members ?: string [ ] ;
56
+ name ?: string ;
57
+ transient ?: boolean ;
58
+ unique ?: boolean ;
59
+ [ key : string ] : any ;
60
+ } ) : Promise < ConversationBase > ;
61
+ createChatRoom ( options : {
62
+ name ?: string ;
63
+ [ key : string ] : any ;
64
+ } ) : Promise < ChatRoom > ;
65
+ createTemporaryConversation ( options : {
66
+ members ?: string [ ] ;
67
+ ttl ?: number ;
68
+ } ) : Promise < TemporaryConversation > ;
37
69
getConversation ( id : string , noCache ?: boolean ) : Promise < ConversationBase > ;
38
70
getQuery ( ) : ConversationQuery < PresistentConversation > ;
39
71
getServiceConversationQuery ( ) : ConversationQuery < ServiceConversation > ;
40
72
getChatRoomQuery ( ) : ConversationQuery < ChatRoom > ;
41
- markAllAsRead ( conversations : ConversationBase [ ] ) : Promise < Array < ConversationBase > > ;
73
+ markAllAsRead (
74
+ conversations : ConversationBase [ ]
75
+ ) : Promise < Array < ConversationBase > > ;
42
76
ping ( clientIds : string [ ] ) : Promise < Array < string > > ;
43
77
parseMessage ( json : Object ) : Promise < AVMessage > ;
44
78
parseConversation ( json : Object ) : Promise < ConversationBase > ;
@@ -74,8 +108,8 @@ declare module LeanCloudRealtime {
74
108
withMembers ( peerIds : string [ ] , includeSelf : boolean ) : this;
75
109
}
76
110
/**
77
- * 对话
78
- */
111
+ * 对话
112
+ */
79
113
class ConversationBase extends EventEmitter {
80
114
id : string ;
81
115
lastMessage ?: Message ;
@@ -87,13 +121,46 @@ declare module LeanCloudRealtime {
87
121
readonly unreadMessagesMentioned : Boolean ;
88
122
[ key : string ] : any ;
89
123
// constructor();
90
- createMessagesIterator ( option : { limit ?: number , beforeTime ?: Date , beforeMessageId ?: string } ) ;
124
+ createMessagesIterator ( option : {
125
+ limit ?: number ;
126
+ beforeTime ?: Date ;
127
+ beforeMessageId ?: string ;
128
+ } ) ;
91
129
read ( ) : Promise < this> ;
92
130
fetchReceiptTimestamps ( ) : Promise < this> ;
93
- queryMessages ( options : { beforeTime ?: Date , beforeMessageId ?: string , afterTime ?: Date , afterMessageId ?: string , limit ?: number , type : number } ) : Promise < Array < Message > > ;
94
- queryMessages ( options : { startTime ?: Date , startMessageId ?: string , startClosed ?: boolean , endTime ?: Date , endMessageId ?: string , endClosed ?: boolean , limit ?: number , type : number , direction ?: MessageQueryDirection } ) : Promise < Array < Message > > ;
95
- send < T extends Message > ( message : T , options ?: { pushData ?: Object , priority ?: MessagePriority , receipt ?: boolean , transient ?: boolean , will ?: boolean } ) : Promise < T > ;
96
- update < T extends Message > ( message : MessagePointer , newMessage : T ) : Promise < T > ;
131
+ queryMessages ( options : {
132
+ beforeTime ?: Date ;
133
+ beforeMessageId ?: string ;
134
+ afterTime ?: Date ;
135
+ afterMessageId ?: string ;
136
+ limit ?: number ;
137
+ type : number ;
138
+ } ) : Promise < Array < Message > > ;
139
+ queryMessages ( options : {
140
+ startTime ?: Date ;
141
+ startMessageId ?: string ;
142
+ startClosed ?: boolean ;
143
+ endTime ?: Date ;
144
+ endMessageId ?: string ;
145
+ endClosed ?: boolean ;
146
+ limit ?: number ;
147
+ type : number ;
148
+ direction ?: MessageQueryDirection ;
149
+ } ) : Promise < Array < Message > > ;
150
+ send < T extends Message > (
151
+ message : T ,
152
+ options ?: {
153
+ pushData ?: Object ;
154
+ priority ?: MessagePriority ;
155
+ receipt ?: boolean ;
156
+ transient ?: boolean ;
157
+ will ?: boolean ;
158
+ }
159
+ ) : Promise < T > ;
160
+ update < T extends Message > (
161
+ message : MessagePointer ,
162
+ newMessage : T
163
+ ) : Promise < T > ;
97
164
recall ( message : MessagePointer ) : Promise < RecalledMessage > ;
98
165
count ( ) : Promise < number > ;
99
166
toJSON ( ) : Object ;
@@ -142,13 +209,20 @@ declare module LeanCloudRealtime {
142
209
remove ( clientIds : string [ ] ) : Promise < PartiallySuccess > ;
143
210
muteMembers ( clientIds : string [ ] ) : Promise < PartiallySuccess > ;
144
211
unmuteMembers ( clientIds : string [ ] ) : Promise < PartiallySuccess > ;
145
- queryMutedMembers ( options ?: PagedQueryParams ) : Promise < PagedResults < string > > ;
212
+ queryMutedMembers (
213
+ options ?: PagedQueryParams
214
+ ) : Promise < PagedResults < string > > ;
146
215
blockMembers ( clientIds : string [ ] ) : Promise < PartiallySuccess > ;
147
216
unblockMembers ( clientIds : string [ ] ) : Promise < PartiallySuccess > ;
148
- queryBlockedMembers ( options ?: PagedQueryParams ) : Promise < PagedResults < string > > ;
217
+ queryBlockedMembers (
218
+ options ?: PagedQueryParams
219
+ ) : Promise < PagedResults < string > > ;
149
220
getAllMemberInfo ( ) : Promise < ConversationMemberInfo [ ] > ;
150
221
getMemberInfo ( memberId : string ) : Promise < ConversationMemberInfo > ;
151
- updateMemberRole ( memberId : string , role : ConversationMemberRole ) : Promise < this> ;
222
+ updateMemberRole (
223
+ memberId : string ,
224
+ role : ConversationMemberRole
225
+ ) : Promise < this> ;
152
226
}
153
227
154
228
export class Conversation extends PresistentConversation { }
@@ -176,7 +250,7 @@ declare module LeanCloudRealtime {
176
250
toJSON ( ) : Object ;
177
251
}
178
252
179
- type MessagePointer = Message | { id : string , timestamp : Date | number } ;
253
+ type MessagePointer = Message | { id : string ; timestamp : Date | number } ;
180
254
181
255
type Payload = Object | String | ArrayBuffer ;
182
256
@@ -214,7 +288,7 @@ declare module LeanCloudRealtime {
214
288
215
289
// 富媒体消息
216
290
export class TypedMessage extends Message {
217
- static type : number ;
291
+ static TYPE : number ;
218
292
attributes : Object ;
219
293
text : string ;
220
294
readonly summary : string ;
@@ -239,10 +313,10 @@ declare module LeanCloudRealtime {
239
313
}
240
314
241
315
interface Middleware < T > {
242
- ( target : T ) : T
316
+ ( target : T ) : T ;
243
317
}
244
318
interface Decorator < T > {
245
- ( target : T ) : void
319
+ ( target : T ) : void ;
246
320
}
247
321
248
322
export interface Plugin {
@@ -300,7 +374,7 @@ declare module LeanCloudRealtime {
300
374
INVALID_MESSAGING_TARGET ,
301
375
MESSAGE_REJECTED_BY_APP ,
302
376
}
303
-
377
+
304
378
export enum Event {
305
379
DISCONNECT ,
306
380
RECONNECT ,
@@ -310,7 +384,7 @@ declare module LeanCloudRealtime {
310
384
ONLINE ,
311
385
312
386
RECONNECT_ERROR ,
313
-
387
+
314
388
INVITED ,
315
389
KICKED ,
316
390
MEMBERS_JOINED ,
@@ -338,8 +412,8 @@ declare module LeanCloudRealtime {
338
412
INFO_UPDATED ,
339
413
}
340
414
341
- export function messageType ( type : number ) : Function
342
- export function messageField ( fields : string [ ] ) : Function
415
+ export function messageType ( type : number ) : Function ;
416
+ export function messageField ( fields : string [ ] ) : Function ;
343
417
}
344
418
345
419
export = LeanCloudRealtime ;
0 commit comments