polfan-server-js-client 0.2.3 → 0.2.6
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.
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/workspace.xml +372 -153
- package/babel.config.js +4 -5
- package/build/index.cjs.js +4538 -1816
- package/build/index.cjs.js.map +1 -1
- package/build/index.umd.js +1 -1
- package/build/index.umd.js.map +1 -1
- package/build/types/AbstractChatClient.d.ts +12 -2
- package/build/types/FilesClient.d.ts +7 -6
- package/build/types/IndexedObjectCollection.d.ts +4 -3
- package/build/types/Permissions.d.ts +4 -0
- package/build/types/WebSocketChatClient.d.ts +2 -0
- package/build/types/state-tracker/ChatStateTracker.d.ts +5 -0
- package/build/types/state-tracker/RelationshipsManager.d.ts +15 -0
- package/build/types/state-tracker/RoomMessagesHistory.d.ts +2 -0
- package/build/types/state-tracker/SpacesManager.d.ts +1 -0
- package/build/types/state-tracker/TopicHistoryWindow.d.ts +23 -5
- package/build/types/state-tracker/UsersManager.d.ts +3 -1
- package/build/types/types/src/index.d.ts +12 -3
- package/build/types/types/src/schemes/Emoticon.d.ts +1 -0
- package/build/types/types/src/schemes/Message.d.ts +1 -1
- package/build/types/types/src/schemes/Room.d.ts +2 -0
- package/build/types/types/src/schemes/RoomHistory.d.ts +5 -0
- package/build/types/types/src/schemes/RoomSummary.d.ts +1 -0
- package/build/types/types/src/schemes/SpaceSummary.d.ts +1 -0
- package/build/types/types/src/schemes/User.d.ts +2 -2
- package/build/types/types/src/schemes/UserRelationship.d.ts +6 -0
- package/build/types/types/src/schemes/commands/CreateMessage.d.ts +2 -0
- package/build/types/types/src/schemes/commands/CreateRelationship.d.ts +5 -0
- package/build/types/types/src/schemes/commands/CreateTopic.d.ts +5 -2
- package/build/types/types/src/schemes/commands/DeleteRelationship.d.ts +5 -0
- package/build/types/types/src/schemes/commands/GetRelationships.d.ts +2 -0
- package/build/types/types/src/schemes/commands/UpdateRoom.d.ts +2 -0
- package/build/types/types/src/schemes/commands/UpdateRoomMember.d.ts +7 -0
- package/build/types/types/src/schemes/commands/UpdateSpaceMember.d.ts +5 -0
- package/build/types/types/src/schemes/events/NewRelationship.d.ts +4 -0
- package/build/types/types/src/schemes/events/RelationshipDeleted.d.ts +4 -0
- package/build/types/types/src/schemes/events/Relationships.d.ts +4 -0
- package/build/types/types/src/schemes/events/RoomSummaryUpdated.d.ts +7 -0
- package/build/types/types/src/schemes/events/Session.d.ts +1 -0
- package/package.json +15 -28
- package/src/AbstractChatClient.ts +28 -4
- package/src/FilesClient.ts +26 -13
- package/src/IndexedObjectCollection.ts +26 -10
- package/src/Permissions.ts +1 -0
- package/src/WebSocketChatClient.ts +19 -11
- package/src/state-tracker/ChatStateTracker.ts +22 -6
- package/src/state-tracker/EmoticonsManager.ts +6 -4
- package/src/state-tracker/MessagesManager.ts +3 -3
- package/src/state-tracker/RelationshipsManager.ts +68 -0
- package/src/state-tracker/RoomMessagesHistory.ts +20 -3
- package/src/state-tracker/RoomsManager.ts +30 -7
- package/src/state-tracker/SpacesManager.ts +28 -1
- package/src/state-tracker/TopicHistoryWindow.ts +94 -23
- package/src/state-tracker/UsersManager.ts +16 -6
- package/src/types/src/index.ts +26 -5
- package/src/types/src/schemes/Emoticon.ts +1 -0
- package/src/types/src/schemes/Message.ts +1 -1
- package/src/types/src/schemes/Room.ts +2 -0
- package/src/types/src/schemes/RoomHistory.ts +6 -0
- package/src/types/src/schemes/RoomSummary.ts +1 -0
- package/src/types/src/schemes/SpaceSummary.ts +1 -0
- package/src/types/src/schemes/User.ts +2 -2
- package/src/types/src/schemes/UserRelationship.ts +8 -0
- package/src/types/src/schemes/commands/CreateMessage.ts +2 -0
- package/src/types/src/schemes/commands/CreateRelationship.ts +6 -0
- package/src/types/src/schemes/commands/CreateTopic.ts +6 -2
- package/src/types/src/schemes/commands/DeleteRelationship.ts +6 -0
- package/src/types/src/schemes/commands/GetRelationships.ts +3 -0
- package/src/types/src/schemes/commands/UpdateRoom.ts +2 -0
- package/src/types/src/schemes/commands/UpdateRoomMember.ts +7 -0
- package/src/types/src/schemes/commands/UpdateSpaceMember.ts +5 -0
- package/src/types/src/schemes/events/NewRelationship.ts +5 -0
- package/src/types/src/schemes/events/RelationshipDeleted.ts +5 -0
- package/src/types/src/schemes/events/Relationships.ts +5 -0
- package/src/types/src/schemes/events/RoomSummaryUpdated.ts +8 -0
- package/src/types/src/schemes/events/Session.ts +1 -0
- package/tests/history-window.test.ts +6 -1
- package/webpack.config.browser.js +2 -24
- package/webpack.config.node.js +2 -14
- package/.eslintignore +0 -0
- package/.eslintrc.json +0 -0
- package/src/types/src/schemes/commands/SetCustomNick.ts +0 -5
|
@@ -1,5 +1,7 @@
|
|
|
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, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, 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,
|
|
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, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, 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 } from "./types/src/index";
|
|
2
2
|
import { EventTarget } from "./EventTarget";
|
|
3
|
+
import { GetRelationships } from "./types/src/schemes/commands/GetRelationships";
|
|
4
|
+
import { UpdateRoomMember } from "./types/src/schemes/commands/UpdateRoomMember";
|
|
3
5
|
type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
|
|
4
6
|
export declare abstract class AbstractChatClient extends EventTarget {
|
|
5
7
|
protected awaitingResponse: Map<string, ArrayOfPromiseResolvers>;
|
|
@@ -34,6 +36,9 @@ export type EventsMap = {
|
|
|
34
36
|
Emoticons: Emoticons;
|
|
35
37
|
Bans: Bans;
|
|
36
38
|
ClientData: ClientData;
|
|
39
|
+
NewRelationship: NewRelationship;
|
|
40
|
+
RelationshipDeleted: RelationshipDeleted;
|
|
41
|
+
Relationships: Relationships;
|
|
37
42
|
DiscoverableSpaces: DiscoverableSpaces;
|
|
38
43
|
SpaceJoined: SpaceJoined;
|
|
39
44
|
SpaceLeft: SpaceLeft;
|
|
@@ -58,6 +63,7 @@ export type EventsMap = {
|
|
|
58
63
|
RoomDeleted: RoomDeleted;
|
|
59
64
|
RoomUpdated: RoomUpdated;
|
|
60
65
|
RoomSummaryEvent: RoomSummaryEvent;
|
|
66
|
+
RoomSummaryUpdated: RoomSummaryUpdated;
|
|
61
67
|
NewTopic: NewTopic;
|
|
62
68
|
TopicDeleted: TopicDeleted;
|
|
63
69
|
NewMessage: NewMessage;
|
|
@@ -91,6 +97,9 @@ export type CommandsMap = {
|
|
|
91
97
|
Kick: [Kick, EventsMap['Ok']];
|
|
92
98
|
GetClientData: [GetClientData, EventsMap['ClientData']];
|
|
93
99
|
SetClientData: [SetClientData, EventsMap['Ok']];
|
|
100
|
+
DeleteRelationship: [DeleteRelationship, EventsMap['RelationshipDeleted']];
|
|
101
|
+
CreateRelationship: [CreateRelationship, EventsMap['NewRelationship']];
|
|
102
|
+
GetRelationships: [GetRelationships, EventsMap['Relationships']];
|
|
94
103
|
GetDiscoverableSpaces: [GetDiscoverableSpaces, EventsMap['DiscoverableSpaces']];
|
|
95
104
|
JoinSpace: [JoinSpace, EventsMap['SpaceJoined']];
|
|
96
105
|
LeaveSpace: [LeaveSpace, EventsMap['SpaceLeft']];
|
|
@@ -105,7 +114,7 @@ export type CommandsMap = {
|
|
|
105
114
|
AssignRole: [AssignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']];
|
|
106
115
|
DeassignRole: [DeassignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']];
|
|
107
116
|
GetSpaceSummary: [GetSpaceSummary, EventsMap['SpaceSummaryEvent']];
|
|
108
|
-
|
|
117
|
+
UpdateSpaceMember: [UpdateSpaceMember, EventsMap['SpaceMemberUpdated']];
|
|
109
118
|
JoinRoom: [JoinRoom, EventsMap['RoomJoined']];
|
|
110
119
|
LeaveRoom: [LeaveRoom, EventsMap['RoomLeft']];
|
|
111
120
|
CreateRoom: [CreateRoom, EventsMap['RoomJoined']];
|
|
@@ -113,6 +122,7 @@ export type CommandsMap = {
|
|
|
113
122
|
UpdateRoom: [UpdateRoom, EventsMap['RoomUpdated']];
|
|
114
123
|
GetRoomMembers: [GetRoomMembers, EventsMap['RoomMembers']];
|
|
115
124
|
GetRoomSummary: [GetRoomSummary, EventsMap['RoomSummaryEvent']];
|
|
125
|
+
UpdateRoomMember: [UpdateRoomMember, EventsMap['RoomMemberUpdated']];
|
|
116
126
|
CreateTopic: [CreateTopic, EventsMap['NewTopic']];
|
|
117
127
|
DeleteTopic: [DeleteTopic, EventsMap['TopicDeleted']];
|
|
118
128
|
CreateMessage: [CreateMessage, EventsMap['NewMessage']];
|
|
@@ -2,14 +2,15 @@ import { AbstractRestClient, RestClientResponse } from "./AbstractRestClient";
|
|
|
2
2
|
export interface File {
|
|
3
3
|
id: string;
|
|
4
4
|
url: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
mime_type: string;
|
|
5
|
+
name: string;
|
|
6
|
+
mime: string;
|
|
8
7
|
size: number;
|
|
9
|
-
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
10
|
}
|
|
11
11
|
export declare class FilesClient extends AbstractRestClient {
|
|
12
12
|
protected defaultUrl: string;
|
|
13
|
-
uploadFile(file:
|
|
14
|
-
|
|
13
|
+
uploadFile(file: globalThis.File | Blob): Promise<RestClientResponse<File>>;
|
|
14
|
+
getFileMeta(id: string): Promise<RestClientResponse<File>>;
|
|
15
|
+
getFileMetaBulk(ids: string[]): Promise<RestClientResponse<File[]>>;
|
|
15
16
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { EventTarget, ObservableInterface } from "./EventTarget";
|
|
2
2
|
export declare class IndexedCollection<KeyT, ValueT> {
|
|
3
3
|
protected _items: Map<KeyT, ValueT>;
|
|
4
|
-
protected _mutationCounter: number;
|
|
5
4
|
constructor(items?: [key: KeyT, value: ValueT][]);
|
|
6
|
-
get mutationCounter(): number;
|
|
7
5
|
get items(): Map<KeyT, ValueT>;
|
|
8
6
|
get length(): number;
|
|
9
7
|
set(...items: [KeyT, ValueT][]): void;
|
|
@@ -12,6 +10,7 @@ export declare class IndexedCollection<KeyT, ValueT> {
|
|
|
12
10
|
delete(...ids: KeyT[]): void;
|
|
13
11
|
deleteAll(): void;
|
|
14
12
|
findBy(field: keyof ValueT, valueToFind: any, limit?: number): IndexedCollection<KeyT, ValueT>;
|
|
13
|
+
createMirror(): IndexedCollection<KeyT, ValueT>;
|
|
15
14
|
}
|
|
16
15
|
export declare class IndexedObjectCollection<T> {
|
|
17
16
|
readonly id: keyof T | ((item: T) => any);
|
|
@@ -19,7 +18,6 @@ export declare class IndexedObjectCollection<T> {
|
|
|
19
18
|
constructor(id: keyof T | ((item: T) => any), items?: T[]);
|
|
20
19
|
get items(): T[];
|
|
21
20
|
get length(): number;
|
|
22
|
-
get mutationCounter(): number;
|
|
23
21
|
set(...items: T[]): void;
|
|
24
22
|
get(id: any): T | undefined;
|
|
25
23
|
getAt(index: number): T | undefined;
|
|
@@ -27,6 +25,7 @@ export declare class IndexedObjectCollection<T> {
|
|
|
27
25
|
delete(...ids: any[]): void;
|
|
28
26
|
deleteAll(): void;
|
|
29
27
|
findBy(field: keyof T, valueToFind: any, limit?: number): IndexedObjectCollection<T>;
|
|
28
|
+
createMirror(): IndexedObjectCollection<T>;
|
|
30
29
|
protected getId(item: T): any;
|
|
31
30
|
}
|
|
32
31
|
interface ObservableCollectionEvent<KeyT> {
|
|
@@ -39,6 +38,7 @@ export declare class ObservableIndexedCollection<KeyT, ValueT> extends IndexedCo
|
|
|
39
38
|
set(...items: [KeyT, ValueT][]): void;
|
|
40
39
|
delete(...ids: KeyT[]): void;
|
|
41
40
|
deleteAll(): void;
|
|
41
|
+
createMirror(): ObservableIndexedCollection<KeyT, ValueT>;
|
|
42
42
|
on(eventName: 'change', handler: (ev?: ObservableCollectionEvent<KeyT>) => void): this;
|
|
43
43
|
once(eventName: 'change', handler: (ev?: ObservableCollectionEvent<KeyT>) => void): this;
|
|
44
44
|
off(eventName: string, handler: (ev?: ObservableCollectionEvent<KeyT>) => void): this;
|
|
@@ -50,6 +50,7 @@ export declare class ObservableIndexedObjectCollection<T> extends IndexedObjectC
|
|
|
50
50
|
set(...items: T[]): void;
|
|
51
51
|
delete(...ids: string[]): void;
|
|
52
52
|
deleteAll(): void;
|
|
53
|
+
createMirror(): IndexedObjectCollection<T>;
|
|
53
54
|
on(eventName: 'change', handler: (ev?: ObservableCollectionEvent<string>) => void): this;
|
|
54
55
|
once(eventName: 'change', handler: (ev?: ObservableCollectionEvent<string>) => void): this;
|
|
55
56
|
off(eventName: string, handler: (ev?: ObservableCollectionEvent<string>) => void): this;
|
|
@@ -82,6 +82,10 @@ export declare class Permissions {
|
|
|
82
82
|
value: number;
|
|
83
83
|
maxLayer: Layer;
|
|
84
84
|
};
|
|
85
|
+
ChangeOwnColor: {
|
|
86
|
+
value: number;
|
|
87
|
+
maxLayer: Layer;
|
|
88
|
+
};
|
|
85
89
|
};
|
|
86
90
|
static getNames(): (keyof typeof this.list)[];
|
|
87
91
|
static getByName(name: keyof typeof this.list): PermissionDefinition | undefined;
|
|
@@ -5,6 +5,7 @@ import { SpacesManager } from "./SpacesManager";
|
|
|
5
5
|
import { PermissionsManager } from "./PermissionsManager";
|
|
6
6
|
import { EmoticonsManager } from "./EmoticonsManager";
|
|
7
7
|
import { UsersManager } from "./UsersManager";
|
|
8
|
+
import { RelationshipsManager } from "./RelationshipsManager";
|
|
8
9
|
export declare class ChatStateTracker {
|
|
9
10
|
readonly client: WebSocketChatClient;
|
|
10
11
|
/**
|
|
@@ -27,6 +28,10 @@ export declare class ChatStateTracker {
|
|
|
27
28
|
* Users related state.
|
|
28
29
|
*/
|
|
29
30
|
readonly users: UsersManager;
|
|
31
|
+
/**
|
|
32
|
+
* State of relationships with other users.
|
|
33
|
+
*/
|
|
34
|
+
readonly relationships: RelationshipsManager;
|
|
30
35
|
private _me;
|
|
31
36
|
private readonly deferredSession;
|
|
32
37
|
constructor(client: WebSocketChatClient);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
|
|
2
|
+
import { UserRelationship, UserRelationshipType } from "../types/src";
|
|
3
|
+
import { ChatStateTracker } from "./ChatStateTracker";
|
|
4
|
+
export declare class RelationshipsManager {
|
|
5
|
+
private tracker;
|
|
6
|
+
private relationships;
|
|
7
|
+
private promises;
|
|
8
|
+
constructor(tracker: ChatStateTracker);
|
|
9
|
+
get(): Promise<ObservableIndexedObjectCollection<UserRelationship>>;
|
|
10
|
+
exists(refUserId: string, type: UserRelationshipType): Promise<boolean>;
|
|
11
|
+
private handleRelationships;
|
|
12
|
+
private handleNewRelationship;
|
|
13
|
+
private handleRelationshipDeleted;
|
|
14
|
+
private handleSession;
|
|
15
|
+
}
|
|
@@ -5,6 +5,7 @@ export declare class RoomMessagesHistory {
|
|
|
5
5
|
private room;
|
|
6
6
|
private tracker;
|
|
7
7
|
private historyWindows;
|
|
8
|
+
private traverseLock;
|
|
8
9
|
constructor(room: Room, tracker: ChatStateTracker);
|
|
9
10
|
/**
|
|
10
11
|
* Returns a history window object for the given topic ID, allowing you to view message history.
|
|
@@ -14,4 +15,5 @@ export declare class RoomMessagesHistory {
|
|
|
14
15
|
private handleNewTopic;
|
|
15
16
|
private handleTopicDeleted;
|
|
16
17
|
private createHistoryWindowForTopic;
|
|
18
|
+
private updateTraverseLock;
|
|
17
19
|
}
|
|
@@ -26,16 +26,25 @@ export declare abstract class TraversableRemoteCollection<T> extends ObservableI
|
|
|
26
26
|
* Current mode od collection window. To change mode, call one of available fetch methods.
|
|
27
27
|
*/
|
|
28
28
|
get state(): WindowState;
|
|
29
|
+
protected internalState: {
|
|
30
|
+
current: WindowState;
|
|
31
|
+
ongoing?: WindowState;
|
|
32
|
+
limit: number | null;
|
|
33
|
+
oldestId: string | null;
|
|
34
|
+
};
|
|
29
35
|
/**
|
|
30
36
|
* Maximum numer of items stored in window.
|
|
31
37
|
* Null for unlimited.
|
|
32
38
|
*/
|
|
33
|
-
limit: number | null;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
get limit(): number | null;
|
|
40
|
+
/**
|
|
41
|
+
* Maximum numer of items stored in window.
|
|
42
|
+
* Null for unlimited.
|
|
43
|
+
*/
|
|
44
|
+
set limit(value: number | null);
|
|
37
45
|
get hasLatest(): boolean;
|
|
38
46
|
get hasOldest(): boolean;
|
|
47
|
+
abstract createMirror(): TraversableRemoteCollection<T>;
|
|
39
48
|
resetToLatest(): Promise<void>;
|
|
40
49
|
fetchPrevious(): Promise<void>;
|
|
41
50
|
fetchNext(): Promise<void>;
|
|
@@ -58,7 +67,16 @@ export declare class TopicHistoryWindow extends TraversableRemoteCollection<Mess
|
|
|
58
67
|
* Reexported available window modes enum.
|
|
59
68
|
*/
|
|
60
69
|
readonly WindowState: typeof WindowState;
|
|
61
|
-
|
|
70
|
+
protected internalState: typeof TraversableRemoteCollection<Message>['prototype']['internalState'] & {
|
|
71
|
+
traverseLock: boolean;
|
|
72
|
+
};
|
|
73
|
+
constructor(roomId: string, topicId: string, tracker: ChatStateTracker, bindEvents?: boolean);
|
|
74
|
+
createMirror(): TopicHistoryWindow;
|
|
75
|
+
get isTraverseLocked(): boolean;
|
|
76
|
+
setTraverseLock(lock: boolean): Promise<void>;
|
|
77
|
+
resetToLatest(): Promise<void>;
|
|
78
|
+
fetchNext(): Promise<void>;
|
|
79
|
+
fetchPrevious(): Promise<void>;
|
|
62
80
|
/**
|
|
63
81
|
* For internal use.
|
|
64
82
|
* @internal
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ChatStateTracker } from "./ChatStateTracker";
|
|
2
2
|
import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
|
|
3
3
|
import { User } from "../types/src";
|
|
4
|
+
import { EventTarget } from "../EventTarget";
|
|
4
5
|
export declare class UsersManager {
|
|
5
6
|
private tracker;
|
|
7
|
+
readonly onlineStatus: EventTarget<any>;
|
|
6
8
|
private readonly users;
|
|
7
9
|
constructor(tracker: ChatStateTracker);
|
|
8
10
|
/**
|
|
@@ -10,6 +12,6 @@ export declare class UsersManager {
|
|
|
10
12
|
*/
|
|
11
13
|
getAvailable(): Promise<ObservableIndexedObjectCollection<User>>;
|
|
12
14
|
private handleMembers;
|
|
13
|
-
private handleUsers;
|
|
14
15
|
private handleSession;
|
|
16
|
+
private handleUsers;
|
|
15
17
|
}
|
|
@@ -57,7 +57,7 @@ import { LeaveRoom } from "./schemes/commands/LeaveRoom";
|
|
|
57
57
|
import { CreateRoom } from "./schemes/commands/CreateRoom";
|
|
58
58
|
import { DeleteRoom } from "./schemes/commands/DeleteRoom";
|
|
59
59
|
import { GetRoomMembers } from "./schemes/commands/GetRoomMembers";
|
|
60
|
-
import { CreateTopic } from "./schemes/commands/CreateTopic";
|
|
60
|
+
import { CreateTopic, CreateTopicInitialMessage } from "./schemes/commands/CreateTopic";
|
|
61
61
|
import { DeleteTopic } from "./schemes/commands/DeleteTopic";
|
|
62
62
|
import { CreateMessage } from "./schemes/commands/CreateMessage";
|
|
63
63
|
import { UpdateRole } from "./schemes/commands/UpdateRole";
|
|
@@ -111,10 +111,19 @@ import { GetClientData } from "./schemes/commands/GetClientData";
|
|
|
111
111
|
import { SetClientData } from "./schemes/commands/SetClientData";
|
|
112
112
|
import { ClientData } from "./schemes/events/ClientData";
|
|
113
113
|
import { RoomStream, RoomStreamType } from "./schemes/RoomStream";
|
|
114
|
+
import { RoomHistory, RoomHistoryMode } from "./schemes/RoomHistory";
|
|
114
115
|
import { GetRoomSummary } from "./schemes/commands/GetRoomSummary";
|
|
115
116
|
import { GetSpaceSummary } from "./schemes/commands/GetSpaceSummary";
|
|
116
117
|
import { SpaceFlag } from "./schemes/Space";
|
|
117
118
|
import { SpaceSummary as SpaceSummaryEvent } from "./schemes/events/SpaceSummary";
|
|
118
119
|
import { RoomSummary as RoomSummaryEvent } from "./schemes/events/RoomSummary";
|
|
119
|
-
import {
|
|
120
|
-
|
|
120
|
+
import { UpdateSpaceMember } from "./schemes/commands/UpdateSpaceMember";
|
|
121
|
+
import { NewRelationship } from "./schemes/events/NewRelationship";
|
|
122
|
+
import { RelationshipDeleted } from "./schemes/events/RelationshipDeleted";
|
|
123
|
+
import { UserRelationship, UserRelationshipType } from "./schemes/UserRelationship";
|
|
124
|
+
import { DeleteRelationship } from "./schemes/commands/DeleteRelationship";
|
|
125
|
+
import { Relationships } from "./schemes/events/Relationships";
|
|
126
|
+
import { CreateRelationship } from "./schemes/commands/CreateRelationship";
|
|
127
|
+
import { RoomSummaryUpdated } from "./schemes/events/RoomSummaryUpdated";
|
|
128
|
+
import { UpdateRoomMember } from "./schemes/commands/UpdateRoomMember";
|
|
129
|
+
export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomFlag, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceFlag, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, 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, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UnfollowTopic, 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, UpdateRoomMember, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { User } from "./User";
|
|
2
2
|
import { ChatLocation } from "./ChatLocation";
|
|
3
|
-
export type MessageType = 'Text' | 'RoomJoin' | 'RoomLeave' | 'SpaceJoin' | 'SpaceLeave' | 'TopicChange' | 'CustomNickChange';
|
|
3
|
+
export type MessageType = 'Text' | 'RoomJoin' | 'RoomLeave' | 'SpaceJoin' | 'SpaceLeave' | 'TopicChange' | 'CustomNickChange' | 'Ephemeral';
|
|
4
4
|
export interface MessageAuthor {
|
|
5
5
|
user: User;
|
|
6
6
|
customNick?: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Topic } from "./Topic";
|
|
2
2
|
import { User } from "./User";
|
|
3
3
|
import { RoomStream } from "./RoomStream";
|
|
4
|
+
import { RoomHistory } from "./RoomHistory";
|
|
4
5
|
export type RoomType = 'Text' | 'ClassicText' | 'Pm';
|
|
5
6
|
export declare enum RoomFlag {
|
|
6
7
|
AllowSystemMessages = 1,
|
|
@@ -16,4 +17,5 @@ export interface Room {
|
|
|
16
17
|
recipients: User[] | null;
|
|
17
18
|
flags: number;
|
|
18
19
|
stream: RoomStream | null;
|
|
20
|
+
history: RoomHistory | null;
|
|
19
21
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ChatLocation } from "../ChatLocation";
|
|
2
|
-
|
|
2
|
+
export interface CreateTopicInitialMessage {
|
|
3
|
+
content?: string;
|
|
4
|
+
attachments?: string[];
|
|
5
|
+
}
|
|
3
6
|
export interface CreateTopic {
|
|
4
7
|
location: ChatLocation;
|
|
5
8
|
name: string;
|
|
6
9
|
refMessageId?: string;
|
|
7
|
-
initialMessage?:
|
|
10
|
+
initialMessage?: CreateTopicInitialMessage;
|
|
8
11
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polfan-server-js-client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "JavaScript client library for handling communication with Polfan chat server.",
|
|
5
5
|
"author": "Jarosław Żak",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"types": "build/types/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
+
"types": "./build/types/index.d.ts",
|
|
12
13
|
"require": "./build/index.cjs.js",
|
|
13
14
|
"browser": "./build/index.umd.js",
|
|
14
15
|
"default": "./build/index.cjs.js"
|
|
15
16
|
}
|
|
16
17
|
},
|
|
17
18
|
"scripts": {
|
|
18
|
-
"start": "webpack serve --config webpack.config.demo.js",
|
|
19
19
|
"build": "npm run build:node && npm run build:browser && tsc",
|
|
20
20
|
"build:node": "webpack --config webpack.config.node.js",
|
|
21
21
|
"build:browser": "webpack --config webpack.config.browser.js",
|
|
@@ -24,33 +24,20 @@
|
|
|
24
24
|
"trypublish": "npm publish || true"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@babel/cli": "^7.
|
|
28
|
-
"@babel/core": "^7.
|
|
29
|
-
"@babel/
|
|
30
|
-
"@babel/
|
|
31
|
-
"@
|
|
32
|
-
"
|
|
33
|
-
"@babel/preset-typescript": "^7.27.1",
|
|
34
|
-
"@types/jest": "^29.2.5",
|
|
35
|
-
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
36
|
-
"@typescript-eslint/parser": "^4.33.0",
|
|
37
|
-
"babel-eslint": "^10.1.0",
|
|
38
|
-
"babel-loader": "^9.1.2",
|
|
39
|
-
"babel-preset-minify": "^0.5.2",
|
|
40
|
-
"css-loader": "^6.7.3",
|
|
41
|
-
"css-minimizer-webpack-plugin": "^4.2.2",
|
|
42
|
-
"eslint": "^7.32.0",
|
|
27
|
+
"@babel/cli": "^7.28.3",
|
|
28
|
+
"@babel/core": "^7.28.5",
|
|
29
|
+
"@babel/preset-env": "^7.28.5",
|
|
30
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
31
|
+
"@types/jest": "^29.5.14",
|
|
32
|
+
"babel-loader": "^9.2.1",
|
|
43
33
|
"file-loader": "^6.2.0",
|
|
44
|
-
"
|
|
45
|
-
"jest": "^29.3.1",
|
|
46
|
-
"mini-css-extract-plugin": "^2.7.2",
|
|
47
|
-
"style-loader": "^3.3.1",
|
|
48
|
-
"terser-webpack-plugin": "^5.3.5",
|
|
34
|
+
"jest": "^29.7.0",
|
|
49
35
|
"ts-node": "^10.9.2",
|
|
50
|
-
"typescript": "^4.9.
|
|
51
|
-
"
|
|
52
|
-
"webpack": "^5.
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
"typescript": "^4.9.5",
|
|
37
|
+
"webpack": "^5.103.0",
|
|
38
|
+
"webpack-cli": "^5.1.4"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"terser-webpack-plugin": "^5.3.14"
|
|
55
42
|
}
|
|
56
43
|
}
|