polfan-server-js-client 0.2.100 → 0.2.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,5 @@
1
- import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, FollowedTopics, FollowTopic, UpdateFollowedTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent, UpdateSpaceMember, Relationships, RelationshipDeleted, NewRelationship, DeleteRelationship, CreateRelationship, RoomSummaryUpdated, Pong, Ping, RedactMessages, MessagesRedacted, ReportAbuse, UpdateRoomMember, GetRelationships, GetUserInfo, UserInfo, SetSessionData } from "./types/src";
1
+ import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, FollowedTopics, FollowTopic, UpdateFollowedTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent, UpdateSpaceMember, Relationships, RelationshipDeleted, NewRelationship, DeleteRelationship, CreateRelationship, RoomSummaryUpdated, Pong, Ping, RedactMessages, MessagesRedacted, ReportAbuse, UpdateRoomMember, GetRelationships, GetUserInfo, UserInfo, SetSessionData, SessionData, GetSessionData, UnfollowTopic, TopicUnfollowed } from "./types/src";
2
2
  import { EventTarget } from "./EventTarget";
3
- import { SessionData } from "./types/src/schemes/SessionData";
4
- import { GetSessionData } from "./types/src/schemes/commands/GetSessionData";
5
3
  type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
6
4
  type ExtraEventMap = Record<string, any>;
7
5
  type CommandDefinition<RequestT, ResponseT> = {
@@ -77,6 +75,7 @@ export type EventsMap = {
77
75
  NewMessage: NewMessage;
78
76
  UserUpdated: UserUpdated;
79
77
  TopicFollowed: TopicFollowed;
78
+ TopicUnfollowed: TopicUnfollowed;
80
79
  FollowedTopics: FollowedTopics;
81
80
  FollowedTopicUpdated: FollowedTopicUpdated;
82
81
  Messages: Messages;
@@ -141,6 +140,7 @@ export type CommandsMap = {
141
140
  CreateMessage: CommandDefinition<CreateMessage, EventsMap['NewMessage']>;
142
141
  Ack: CommandDefinition<Ack, EventsMap['FollowedTopicUpdated'] | EventsMap['Ok']>;
143
142
  FollowTopic: CommandDefinition<FollowTopic, EventsMap['TopicFollowed']>;
143
+ UnfollowTopic: CommandDefinition<UnfollowTopic, EventsMap['TopicUnfollowed']>;
144
144
  UpdateFollowedTopic: CommandDefinition<UpdateFollowedTopic, EventsMap['FollowedTopicUpdated']>;
145
145
  GetFollowedTopics: CommandDefinition<GetFollowedTopics, EventsMap['FollowedTopics']>;
146
146
  GetMessages: CommandDefinition<GetMessages, EventsMap['Messages']>;
@@ -46,6 +46,7 @@ export declare class FollowedTopicsManager extends EventTarget<EventMap> {
46
46
  private handleNewMessage;
47
47
  private handleFollowedTopicUpdated;
48
48
  private handleTopicFollowed;
49
+ private handleTopicUnfollowed;
49
50
  private handleRoomDeleted;
50
51
  private handleRoomJoin;
51
52
  private handleRoomLeft;
@@ -134,4 +134,8 @@ import { GetUserInfo } from "./schemes/commands/GetUserInfo";
134
134
  import { UserInfo } from "./schemes/events/UserInfo";
135
135
  import { UserInformation } from "./schemes/UserInformation";
136
136
  import { SetSessionData, SessionPush } from "./schemes/commands/SetSessionData";
137
- export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceMember, Topic, FollowedTopic, NotificationLevel, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, UserInformation, SessionPush, Bye, Error, Messages, NewMessage, NewRole, NewRoom, NewTopic, TopicFollowed, FollowedTopics, FollowedTopicUpdated, ComputedPermissions, PermissionOverwrites, PermissionOverwritesUpdated, RoleDeleted, RoleUpdated, RoomDeleted, RoomUpdated, RoomJoined, RoomLeft, RoomMemberJoined, RoomMemberLeft, RoomMembers, RoomMemberUpdated, UserUpdated, Session, SpaceDeleted, SpaceUpdated, SpaceJoined, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMembers, SpaceMemberUpdated, SpaceRooms, TopicDeleted, TopicUpdated, PermissionOverwriteTargets, Owners, Ok, DiscoverableSpaces, Emoticons, EmoticonDeleted, NewEmoticon, Bans, ClientData, SpaceSummaryEvent, RoomSummaryEvent, NewRelationship, RelationshipDeleted, Relationships, RoomSummaryUpdated, Pong, MessagesRedacted, UserInfo, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UpdateFollowedTopic, GetFollowedTopics, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, UpdateTopic, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, GetDiscoverableSpaces, GetEmoticons, CreateEmoticon, DeleteEmoticon, Ban, Unban, GetBans, Kick, GetClientData, SetClientData, GetSpaceSummary, GetRoomSummary, UpdateSpaceMember, CreateRelationship, DeleteRelationship, GetRelationships, UpdateRoomMember, Ping, ReportAbuse, RedactMessages, GetUserInfo, SetSessionData, };
137
+ import { SessionData } from "./schemes/SessionData";
138
+ import { GetSessionData } from "./schemes/commands/GetSessionData";
139
+ import { UnfollowTopic } from "./schemes/commands/UnfollowTopic";
140
+ import { TopicUnfollowed } from "./schemes/events/TopicUnfollowed";
141
+ export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceMember, Topic, FollowedTopic, NotificationLevel, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, UserInformation, SessionPush, SessionData, Bye, Error, Messages, NewMessage, NewRole, NewRoom, NewTopic, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowedTopicUpdated, ComputedPermissions, PermissionOverwrites, PermissionOverwritesUpdated, RoleDeleted, RoleUpdated, RoomDeleted, RoomUpdated, RoomJoined, RoomLeft, RoomMemberJoined, RoomMemberLeft, RoomMembers, RoomMemberUpdated, UserUpdated, Session, SpaceDeleted, SpaceUpdated, SpaceJoined, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMembers, SpaceMemberUpdated, SpaceRooms, TopicDeleted, TopicUpdated, PermissionOverwriteTargets, Owners, Ok, DiscoverableSpaces, Emoticons, EmoticonDeleted, NewEmoticon, Bans, ClientData, SpaceSummaryEvent, RoomSummaryEvent, NewRelationship, RelationshipDeleted, Relationships, RoomSummaryUpdated, Pong, MessagesRedacted, UserInfo, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UnfollowTopic, UpdateFollowedTopic, GetFollowedTopics, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, UpdateTopic, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, GetDiscoverableSpaces, GetEmoticons, CreateEmoticon, DeleteEmoticon, Ban, Unban, GetBans, Kick, GetClientData, SetClientData, GetSpaceSummary, GetRoomSummary, UpdateSpaceMember, CreateRelationship, DeleteRelationship, GetRelationships, UpdateRoomMember, Ping, ReportAbuse, RedactMessages, GetUserInfo, SetSessionData, GetSessionData, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polfan-server-js-client",
3
- "version": "0.2.100",
3
+ "version": "0.2.102",
4
4
  "description": "JavaScript client library for handling communication with Polfan chat server.",
5
5
  "author": "Jarosław Żak",
6
6
  "license": "MIT",
@@ -109,11 +109,14 @@ import {
109
109
  UpdateRoomMember,
110
110
  GetRelationships,
111
111
  GetUserInfo,
112
- UserInfo, SetSessionData,
112
+ UserInfo,
113
+ SetSessionData,
114
+ SessionData,
115
+ GetSessionData,
116
+ UnfollowTopic,
117
+ TopicUnfollowed,
113
118
  } from "./types/src";
114
119
  import {EventTarget} from "./EventTarget";
115
- import {SessionData} from "./types/src/schemes/SessionData";
116
- import {GetSessionData} from "./types/src/schemes/commands/GetSessionData";
117
120
 
118
121
  type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
119
122
  type ExtraEventMap = Record<string, any>;
@@ -226,6 +229,7 @@ export type CommandResponse<CommandType extends keyof CommandsMap> = CommandsMap
226
229
  NewMessage: NewMessage,
227
230
  UserUpdated: UserUpdated,
228
231
  TopicFollowed: TopicFollowed,
232
+ TopicUnfollowed: TopicUnfollowed,
229
233
  FollowedTopics: FollowedTopics,
230
234
  FollowedTopicUpdated: FollowedTopicUpdated,
231
235
  Messages: Messages,
@@ -295,6 +299,7 @@ export type CommandsMap = {
295
299
  CreateMessage: CommandDefinition<CreateMessage, EventsMap['NewMessage']>,
296
300
  Ack: CommandDefinition<Ack, EventsMap['FollowedTopicUpdated'] | EventsMap['Ok']>,
297
301
  FollowTopic: CommandDefinition<FollowTopic, EventsMap['TopicFollowed']>,
302
+ UnfollowTopic: CommandDefinition<UnfollowTopic, EventsMap['TopicUnfollowed']>,
298
303
  UpdateFollowedTopic: CommandDefinition<UpdateFollowedTopic, EventsMap['FollowedTopicUpdated']>,
299
304
  GetFollowedTopics: CommandDefinition<GetFollowedTopics, EventsMap['FollowedTopics']>,
300
305
  GetMessages: CommandDefinition<GetMessages, EventsMap['Messages']>,
@@ -10,7 +10,7 @@ import {
10
10
  RoomDeleted,
11
11
  RoomJoined, RoomLeft,
12
12
  Session, TopicDeleted,
13
- TopicFollowed
13
+ TopicFollowed, TopicUnfollowed
14
14
  } from "../types/src";
15
15
 
16
16
  interface EventMap {
@@ -31,6 +31,7 @@ export class FollowedTopicsManager extends EventTarget<EventMap> {
31
31
  this.tracker.client.on('NewTopic', ev => this.handleNewTopic(ev));
32
32
  this.tracker.client.on('FollowedTopicUpdated', ev => this.handleFollowedTopicUpdated(ev));
33
33
  this.tracker.client.on('TopicFollowed', ev => this.handleTopicFollowed(ev));
34
+ this.tracker.client.on('TopicUnfollowed', ev => this.handleTopicUnfollowed(ev));
34
35
  this.tracker.client.on('NewMessage', ev => this.handleNewMessage(ev));
35
36
  this.tracker.client.on('RoomDeleted', ev => this.handleRoomDeleted(ev));
36
37
  this.tracker.client.on('RoomLeft', ev => this.handleRoomLeft(ev));
@@ -218,6 +219,11 @@ export class FollowedTopicsManager extends EventTarget<EventMap> {
218
219
  this.invalidateUnreadSummaries(ev.followedTopic.location.roomId, ev.followedTopic.location.topicId);
219
220
  }
220
221
 
222
+ private handleTopicUnfollowed(ev: TopicUnfollowed): void {
223
+ this.followedTopics.get(ev.location.roomId)?.delete(ev.location.topicId);
224
+ this.invalidateUnreadSummaries(ev.location.roomId, ev.location.topicId);
225
+ }
226
+
221
227
  private handleRoomDeleted(ev: RoomDeleted): void {
222
228
  this.clearRoomFollowedTopicsStructures(ev.id);
223
229
  }
@@ -134,6 +134,10 @@ import {GetUserInfo} from "./schemes/commands/GetUserInfo";
134
134
  import {UserInfo} from "./schemes/events/UserInfo";
135
135
  import {UserInformation} from "./schemes/UserInformation";
136
136
  import {SetSessionData, SessionPush} from "./schemes/commands/SetSessionData";
137
+ import {SessionData} from "./schemes/SessionData";
138
+ import {GetSessionData} from "./schemes/commands/GetSessionData";
139
+ import {UnfollowTopic} from "./schemes/commands/UnfollowTopic";
140
+ import {TopicUnfollowed} from "./schemes/events/TopicUnfollowed";
137
141
 
138
142
  export {
139
143
  // objects
@@ -171,6 +175,7 @@ export {
171
175
  CreateTopicInitialMessage,
172
176
  UserInformation,
173
177
  SessionPush,
178
+ SessionData,
174
179
  // events
175
180
  Bye,
176
181
  Error,
@@ -180,6 +185,7 @@ export {
180
185
  NewRoom,
181
186
  NewTopic,
182
187
  TopicFollowed,
188
+ TopicUnfollowed,
183
189
  FollowedTopics,
184
190
  FollowedTopicUpdated,
185
191
  ComputedPermissions,
@@ -236,6 +242,7 @@ export {
236
242
  CreateSpace,
237
243
  CreateTopic,
238
244
  FollowTopic,
245
+ UnfollowTopic,
239
246
  UpdateFollowedTopic,
240
247
  GetFollowedTopics,
241
248
  DeassignRole,
@@ -286,4 +293,5 @@ export {
286
293
  RedactMessages,
287
294
  GetUserInfo,
288
295
  SetSessionData,
296
+ GetSessionData,
289
297
  };
@@ -0,0 +1,5 @@
1
+ import {ChatLocation} from "../ChatLocation";
2
+
3
+ export interface UnfollowTopic {
4
+ location: ChatLocation;
5
+ }