polfan-server-js-client 0.1.992 → 0.1.994
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/build/index.js +825 -124
- package/build/index.js.map +1 -1
- package/build/types/AbstractChatClient.d.ts +5 -1
- package/build/types/state-tracker/MessagesManager.d.ts +8 -10
- package/build/types/state-tracker/RoomMessagesHistory.d.ts +17 -0
- package/build/types/state-tracker/RoomsManager.d.ts +4 -2
- package/build/types/state-tracker/TopicHistoryWindow.d.ts +58 -0
- package/build/types/types/src/index.d.ts +6 -2
- package/build/types/types/src/schemes/FollowedTopic.d.ts +0 -1
- package/build/types/types/src/schemes/Message.d.ts +8 -2
- package/{src/types/dist/schemes/commands/Ack.d.ts → build/types/types/src/schemes/commands/GetMessages.d.ts} +3 -2
- package/build/types/types/src/schemes/commands/GetTopics.d.ts +4 -0
- package/{src/types/dist/schemes/events/NewMessage.d.ts → build/types/types/src/schemes/events/Messages.d.ts} +3 -3
- package/build/types/types/src/schemes/events/Topics.d.ts +6 -0
- package/package.json +1 -1
- package/src/AbstractChatClient.ts +8 -0
- package/src/state-tracker/MessagesManager.ts +28 -60
- package/src/state-tracker/RoomMessagesHistory.ts +78 -0
- package/src/state-tracker/RoomsManager.ts +24 -2
- package/src/state-tracker/TopicHistoryWindow.ts +257 -0
- package/src/types/src/index.ts +10 -1
- package/src/types/src/schemes/FollowedTopic.ts +0 -1
- package/src/types/src/schemes/Message.ts +9 -2
- package/src/types/src/schemes/commands/GetMessages.ts +7 -0
- package/src/types/src/schemes/commands/GetTopics.ts +4 -0
- package/src/types/src/schemes/events/Messages.ts +7 -0
- package/src/types/src/schemes/events/Topics.ts +7 -0
- package/tests/history-window.test.ts +129 -0
- package/build/types/types/dist/index.d.ts +0 -1
- package/build/types/types/dist/schemes/ChatLocation.d.ts +0 -1
- package/build/types/types/dist/schemes/Envelope.d.ts +0 -1
- package/build/types/types/dist/schemes/FollowedTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/Message.d.ts +0 -1
- package/build/types/types/dist/schemes/PermissionOverwritesValue.d.ts +0 -1
- package/build/types/types/dist/schemes/Role.d.ts +0 -1
- package/build/types/types/dist/schemes/Room.d.ts +0 -1
- package/build/types/types/dist/schemes/RoomMember.d.ts +0 -1
- package/build/types/types/dist/schemes/RoomSummary.d.ts +0 -1
- package/build/types/types/dist/schemes/Space.d.ts +0 -1
- package/build/types/types/dist/schemes/SpaceMember.d.ts +0 -1
- package/build/types/types/dist/schemes/Topic.d.ts +0 -1
- package/build/types/types/dist/schemes/User.d.ts +0 -1
- package/build/types/types/dist/schemes/UserState.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/Ack.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/AssignRole.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateMessage.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateOwner.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateRole.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateSpace.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/CreateTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeassignRole.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeleteOwner.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeleteRole.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeleteRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeleteSpace.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/DeleteTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/FollowTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetComputedPermissions.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetFollowedTopics.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetOwners.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetRoomMembers.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetSession.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetSpaceMembers.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/GetSpaceRooms.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/JoinRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/JoinSpace.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/LeaveRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/LeaveSpace.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/UnfollowTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/UpdateRole.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/UpdateRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/commands/UpdateSpace.d.ts +0 -1
- package/build/types/types/dist/schemes/events/Bye.d.ts +0 -1
- package/build/types/types/dist/schemes/events/ComputedPermissions.d.ts +0 -1
- package/build/types/types/dist/schemes/events/Error.d.ts +0 -1
- package/build/types/types/dist/schemes/events/FollowedTopicUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/FollowedTopics.d.ts +0 -1
- package/build/types/types/dist/schemes/events/NewMessage.d.ts +0 -1
- package/build/types/types/dist/schemes/events/NewRole.d.ts +0 -1
- package/build/types/types/dist/schemes/events/NewRoom.d.ts +0 -1
- package/build/types/types/dist/schemes/events/NewTopic.d.ts +0 -1
- package/build/types/types/dist/schemes/events/Ok.d.ts +0 -1
- package/build/types/types/dist/schemes/events/Owners.d.ts +0 -1
- package/build/types/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +0 -1
- package/build/types/types/dist/schemes/events/PermissionOverwrites.d.ts +0 -1
- package/build/types/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoleDeleted.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoleUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomDeleted.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomJoined.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomLeft.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomMemberJoined.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomMemberLeft.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomMemberUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomMembers.d.ts +0 -1
- package/build/types/types/dist/schemes/events/RoomUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/Session.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceDeleted.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceJoined.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceLeft.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceMemberJoined.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceMemberLeft.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceMemberUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceMembers.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceRooms.d.ts +0 -1
- package/build/types/types/dist/schemes/events/SpaceUpdated.d.ts +0 -1
- package/build/types/types/dist/schemes/events/TopicDeleted.d.ts +0 -1
- package/build/types/types/dist/schemes/events/TopicFollowed.d.ts +0 -1
- package/build/types/types/dist/schemes/events/TopicUnfollowed.d.ts +0 -1
- package/build/types/types/dist/schemes/events/UserUpdated.d.ts +0 -1
- package/src/types/dist/index.d.ts +0 -88
- package/src/types/dist/index.js +0 -2
- package/src/types/dist/schemes/ChatLocation.d.ts +0 -5
- package/src/types/dist/schemes/ChatLocation.js +0 -2
- package/src/types/dist/schemes/Envelope.d.ts +0 -5
- package/src/types/dist/schemes/Envelope.js +0 -2
- package/src/types/dist/schemes/FollowedTopic.d.ts +0 -7
- package/src/types/dist/schemes/FollowedTopic.js +0 -2
- package/src/types/dist/schemes/Message.d.ts +0 -8
- package/src/types/dist/schemes/Message.js +0 -2
- package/src/types/dist/schemes/PermissionOverwritesValue.d.ts +0 -4
- package/src/types/dist/schemes/PermissionOverwritesValue.js +0 -2
- package/src/types/dist/schemes/Role.d.ts +0 -6
- package/src/types/dist/schemes/Role.js +0 -2
- package/src/types/dist/schemes/Room.d.ts +0 -10
- package/src/types/dist/schemes/Room.js +0 -2
- package/src/types/dist/schemes/RoomMember.d.ts +0 -7
- package/src/types/dist/schemes/RoomMember.js +0 -2
- package/src/types/dist/schemes/RoomSummary.d.ts +0 -5
- package/src/types/dist/schemes/RoomSummary.js +0 -2
- package/src/types/dist/schemes/Space.d.ts +0 -6
- package/src/types/dist/schemes/Space.js +0 -2
- package/src/types/dist/schemes/SpaceMember.d.ts +0 -5
- package/src/types/dist/schemes/SpaceMember.js +0 -2
- package/src/types/dist/schemes/Topic.d.ts +0 -9
- package/src/types/dist/schemes/Topic.js +0 -2
- package/src/types/dist/schemes/User.d.ts +0 -8
- package/src/types/dist/schemes/User.js +0 -2
- package/src/types/dist/schemes/UserState.d.ts +0 -6
- package/src/types/dist/schemes/UserState.js +0 -2
- package/src/types/dist/schemes/commands/Ack.js +0 -2
- package/src/types/dist/schemes/commands/AssignRole.d.ts +0 -6
- package/src/types/dist/schemes/commands/AssignRole.js +0 -2
- package/src/types/dist/schemes/commands/CreateMessage.d.ts +0 -5
- package/src/types/dist/schemes/commands/CreateMessage.js +0 -2
- package/src/types/dist/schemes/commands/CreateOwner.d.ts +0 -5
- package/src/types/dist/schemes/commands/CreateOwner.js +0 -2
- package/src/types/dist/schemes/commands/CreateRole.d.ts +0 -5
- package/src/types/dist/schemes/commands/CreateRole.js +0 -2
- package/src/types/dist/schemes/commands/CreateRoom.d.ts +0 -7
- package/src/types/dist/schemes/commands/CreateRoom.js +0 -2
- package/src/types/dist/schemes/commands/CreateSpace.d.ts +0 -3
- package/src/types/dist/schemes/commands/CreateSpace.js +0 -2
- package/src/types/dist/schemes/commands/CreateTopic.d.ts +0 -12
- package/src/types/dist/schemes/commands/CreateTopic.js +0 -2
- package/src/types/dist/schemes/commands/DeassignRole.d.ts +0 -6
- package/src/types/dist/schemes/commands/DeassignRole.js +0 -2
- package/src/types/dist/schemes/commands/DeleteOwner.d.ts +0 -5
- package/src/types/dist/schemes/commands/DeleteOwner.js +0 -2
- package/src/types/dist/schemes/commands/DeleteRole.d.ts +0 -4
- package/src/types/dist/schemes/commands/DeleteRole.js +0 -2
- package/src/types/dist/schemes/commands/DeleteRoom.d.ts +0 -3
- package/src/types/dist/schemes/commands/DeleteRoom.js +0 -2
- package/src/types/dist/schemes/commands/DeleteSpace.d.ts +0 -3
- package/src/types/dist/schemes/commands/DeleteSpace.js +0 -2
- package/src/types/dist/schemes/commands/DeleteTopic.d.ts +0 -4
- package/src/types/dist/schemes/commands/DeleteTopic.js +0 -2
- package/src/types/dist/schemes/commands/FollowTopic.d.ts +0 -4
- package/src/types/dist/schemes/commands/FollowTopic.js +0 -2
- package/src/types/dist/schemes/commands/GetComputedPermissions.d.ts +0 -4
- package/src/types/dist/schemes/commands/GetComputedPermissions.js +0 -2
- package/src/types/dist/schemes/commands/GetFollowedTopics.d.ts +0 -4
- package/src/types/dist/schemes/commands/GetFollowedTopics.js +0 -2
- package/src/types/dist/schemes/commands/GetOwners.d.ts +0 -4
- package/src/types/dist/schemes/commands/GetOwners.js +0 -2
- package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +0 -4
- package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.js +0 -2
- package/src/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +0 -6
- package/src/types/dist/schemes/commands/GetPermissionOverwrites.js +0 -2
- package/src/types/dist/schemes/commands/GetRoomMembers.d.ts +0 -3
- package/src/types/dist/schemes/commands/GetRoomMembers.js +0 -2
- package/src/types/dist/schemes/commands/GetSession.d.ts +0 -2
- package/src/types/dist/schemes/commands/GetSession.js +0 -2
- package/src/types/dist/schemes/commands/GetSpaceMembers.d.ts +0 -3
- package/src/types/dist/schemes/commands/GetSpaceMembers.js +0 -2
- package/src/types/dist/schemes/commands/GetSpaceRooms.d.ts +0 -3
- package/src/types/dist/schemes/commands/GetSpaceRooms.js +0 -2
- package/src/types/dist/schemes/commands/JoinRoom.d.ts +0 -3
- package/src/types/dist/schemes/commands/JoinRoom.js +0 -2
- package/src/types/dist/schemes/commands/JoinSpace.d.ts +0 -3
- package/src/types/dist/schemes/commands/JoinSpace.js +0 -2
- package/src/types/dist/schemes/commands/LeaveRoom.d.ts +0 -3
- package/src/types/dist/schemes/commands/LeaveRoom.js +0 -2
- package/src/types/dist/schemes/commands/LeaveSpace.d.ts +0 -3
- package/src/types/dist/schemes/commands/LeaveSpace.js +0 -2
- package/src/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +0 -8
- package/src/types/dist/schemes/commands/SetPermissionOverwrites.js +0 -2
- package/src/types/dist/schemes/commands/UnfollowTopic.d.ts +0 -4
- package/src/types/dist/schemes/commands/UnfollowTopic.js +0 -2
- package/src/types/dist/schemes/commands/UpdateRole.d.ts +0 -7
- package/src/types/dist/schemes/commands/UpdateRole.js +0 -2
- package/src/types/dist/schemes/commands/UpdateRoom.d.ts +0 -5
- package/src/types/dist/schemes/commands/UpdateRoom.js +0 -2
- package/src/types/dist/schemes/commands/UpdateSpace.d.ts +0 -4
- package/src/types/dist/schemes/commands/UpdateSpace.js +0 -2
- package/src/types/dist/schemes/events/Bye.d.ts +0 -3
- package/src/types/dist/schemes/events/Bye.js +0 -2
- package/src/types/dist/schemes/events/ComputedPermissions.d.ts +0 -5
- package/src/types/dist/schemes/events/ComputedPermissions.js +0 -2
- package/src/types/dist/schemes/events/Error.d.ts +0 -4
- package/src/types/dist/schemes/events/Error.js +0 -2
- package/src/types/dist/schemes/events/FollowedTopicUpdated.d.ts +0 -4
- package/src/types/dist/schemes/events/FollowedTopicUpdated.js +0 -2
- package/src/types/dist/schemes/events/FollowedTopics.d.ts +0 -6
- package/src/types/dist/schemes/events/FollowedTopics.js +0 -2
- package/src/types/dist/schemes/events/NewMessage.js +0 -2
- package/src/types/dist/schemes/events/NewRole.d.ts +0 -5
- package/src/types/dist/schemes/events/NewRole.js +0 -2
- package/src/types/dist/schemes/events/NewRoom.d.ts +0 -5
- package/src/types/dist/schemes/events/NewRoom.js +0 -2
- package/src/types/dist/schemes/events/NewTopic.d.ts +0 -5
- package/src/types/dist/schemes/events/NewTopic.js +0 -2
- package/src/types/dist/schemes/events/Ok.d.ts +0 -2
- package/src/types/dist/schemes/events/Ok.js +0 -2
- package/src/types/dist/schemes/events/Owners.d.ts +0 -8
- package/src/types/dist/schemes/events/Owners.js +0 -2
- package/src/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +0 -10
- package/src/types/dist/schemes/events/PermissionOverwriteTargets.js +0 -2
- package/src/types/dist/schemes/events/PermissionOverwrites.d.ts +0 -8
- package/src/types/dist/schemes/events/PermissionOverwrites.js +0 -2
- package/src/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +0 -8
- package/src/types/dist/schemes/events/PermissionOverwritesUpdated.js +0 -2
- package/src/types/dist/schemes/events/RoleDeleted.d.ts +0 -4
- package/src/types/dist/schemes/events/RoleDeleted.js +0 -2
- package/src/types/dist/schemes/events/RoleUpdated.d.ts +0 -5
- package/src/types/dist/schemes/events/RoleUpdated.js +0 -2
- package/src/types/dist/schemes/events/RoomDeleted.d.ts +0 -3
- package/src/types/dist/schemes/events/RoomDeleted.js +0 -2
- package/src/types/dist/schemes/events/RoomJoined.d.ts +0 -4
- package/src/types/dist/schemes/events/RoomJoined.js +0 -2
- package/src/types/dist/schemes/events/RoomLeft.d.ts +0 -3
- package/src/types/dist/schemes/events/RoomLeft.js +0 -2
- package/src/types/dist/schemes/events/RoomMemberJoined.d.ts +0 -5
- package/src/types/dist/schemes/events/RoomMemberJoined.js +0 -2
- package/src/types/dist/schemes/events/RoomMemberLeft.d.ts +0 -4
- package/src/types/dist/schemes/events/RoomMemberLeft.js +0 -2
- package/src/types/dist/schemes/events/RoomMemberUpdated.d.ts +0 -6
- package/src/types/dist/schemes/events/RoomMemberUpdated.js +0 -2
- package/src/types/dist/schemes/events/RoomMembers.d.ts +0 -5
- package/src/types/dist/schemes/events/RoomMembers.js +0 -2
- package/src/types/dist/schemes/events/RoomUpdated.d.ts +0 -4
- package/src/types/dist/schemes/events/RoomUpdated.js +0 -2
- package/src/types/dist/schemes/events/Session.d.ts +0 -7
- package/src/types/dist/schemes/events/Session.js +0 -2
- package/src/types/dist/schemes/events/SpaceDeleted.d.ts +0 -3
- package/src/types/dist/schemes/events/SpaceDeleted.js +0 -2
- package/src/types/dist/schemes/events/SpaceJoined.d.ts +0 -4
- package/src/types/dist/schemes/events/SpaceJoined.js +0 -2
- package/src/types/dist/schemes/events/SpaceLeft.d.ts +0 -3
- package/src/types/dist/schemes/events/SpaceLeft.js +0 -2
- package/src/types/dist/schemes/events/SpaceMemberJoined.d.ts +0 -5
- package/src/types/dist/schemes/events/SpaceMemberJoined.js +0 -2
- package/src/types/dist/schemes/events/SpaceMemberLeft.d.ts +0 -4
- package/src/types/dist/schemes/events/SpaceMemberLeft.js +0 -2
- package/src/types/dist/schemes/events/SpaceMemberUpdated.d.ts +0 -6
- package/src/types/dist/schemes/events/SpaceMemberUpdated.js +0 -2
- package/src/types/dist/schemes/events/SpaceMembers.d.ts +0 -5
- package/src/types/dist/schemes/events/SpaceMembers.js +0 -2
- package/src/types/dist/schemes/events/SpaceRooms.d.ts +0 -5
- package/src/types/dist/schemes/events/SpaceRooms.js +0 -2
- package/src/types/dist/schemes/events/SpaceUpdated.d.ts +0 -4
- package/src/types/dist/schemes/events/SpaceUpdated.js +0 -2
- package/src/types/dist/schemes/events/TopicDeleted.d.ts +0 -4
- package/src/types/dist/schemes/events/TopicDeleted.js +0 -2
- package/src/types/dist/schemes/events/TopicFollowed.d.ts +0 -4
- package/src/types/dist/schemes/events/TopicFollowed.js +0 -2
- package/src/types/dist/schemes/events/TopicUnfollowed.d.ts +0 -4
- package/src/types/dist/schemes/events/TopicUnfollowed.js +0 -2
- package/src/types/dist/schemes/events/UserUpdated.d.ts +0 -4
- package/src/types/dist/schemes/events/UserUpdated.js +0 -2
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import {Message, MessageReference, NewMessage, Room, Session, Topic} from "../types/src";
|
|
2
|
+
import {ChatStateTracker} from "./ChatStateTracker";
|
|
3
|
+
import {ObservableIndexedObjectCollection} from "../IndexedObjectCollection";
|
|
4
|
+
|
|
5
|
+
export enum WindowState {
|
|
6
|
+
UNINITIALIZED,
|
|
7
|
+
LATEST,
|
|
8
|
+
PAST,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export abstract class TraversableRemoteCollection<T> extends ObservableIndexedObjectCollection<T> {
|
|
12
|
+
/**
|
|
13
|
+
* Current mode od collection window. To change mode, call one of available fetch methods.
|
|
14
|
+
*/
|
|
15
|
+
public get state(): WindowState {
|
|
16
|
+
return this.currentState;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Maximum numer of items stored in window.
|
|
21
|
+
* Null for unlimited.
|
|
22
|
+
*/
|
|
23
|
+
public limit: number | null = 50;
|
|
24
|
+
|
|
25
|
+
private currentState: WindowState = WindowState.UNINITIALIZED;
|
|
26
|
+
private fetchingState: WindowState = undefined;
|
|
27
|
+
|
|
28
|
+
public async resetToLatest(): Promise<void> {
|
|
29
|
+
this.throwIfFetchingInProgress();
|
|
30
|
+
|
|
31
|
+
if (this.currentState === WindowState.LATEST) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this.fetchingState = WindowState.LATEST;
|
|
36
|
+
|
|
37
|
+
let result;
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
result = await this.fetchLatestItems();
|
|
41
|
+
} finally {
|
|
42
|
+
this.fetchingState = undefined;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
this.deleteAll();
|
|
46
|
+
this.addItems(result, 'tail');
|
|
47
|
+
this.currentState = WindowState.LATEST;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public async fetchPrevious(): Promise<void> {
|
|
51
|
+
this.throwIfFetchingInProgress();
|
|
52
|
+
|
|
53
|
+
this.fetchingState = WindowState.PAST;
|
|
54
|
+
|
|
55
|
+
let result;
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
result = await this.fetchItemsBefore();
|
|
59
|
+
} finally {
|
|
60
|
+
this.fetchingState = undefined;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (! result) {
|
|
64
|
+
return this.resetToLatest();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (result.length) {
|
|
68
|
+
this.addItems(result, 'head');
|
|
69
|
+
this.currentState = (await this.isLatestItemLoaded()) ? WindowState.LATEST : WindowState.PAST;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public async fetchNext(): Promise<void> {
|
|
74
|
+
this.throwIfFetchingInProgress();
|
|
75
|
+
|
|
76
|
+
let result;
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
result = await this.fetchItemsAfter();
|
|
80
|
+
} finally {
|
|
81
|
+
this.fetchingState = undefined;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (! result) {
|
|
85
|
+
await this.resetToLatest();
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (result.length) {
|
|
90
|
+
this.addItems(result, 'tail');
|
|
91
|
+
await this.refreshMode();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
protected abstract fetchLatestItems(): Promise<T[]>;
|
|
96
|
+
|
|
97
|
+
protected abstract fetchItemsBefore(): Promise<T[] | null>;
|
|
98
|
+
|
|
99
|
+
protected abstract fetchItemsAfter(): Promise<T[] | null>;
|
|
100
|
+
|
|
101
|
+
protected abstract isLatestItemLoaded(): Promise<boolean>;
|
|
102
|
+
|
|
103
|
+
protected async refreshMode(): Promise<void> {
|
|
104
|
+
this.currentState = (await this.isLatestItemLoaded()) ? WindowState.LATEST : WindowState.PAST;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
private throwIfFetchingInProgress(): void {
|
|
108
|
+
if (this.fetchingState) {
|
|
109
|
+
throw new Error(`Items fetching in progress: ${WindowState[this.fetchingState]}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
private addItems(newItems: T[], to: 'head' | 'tail'): void {
|
|
114
|
+
let result;
|
|
115
|
+
|
|
116
|
+
if (to === 'head') {
|
|
117
|
+
result = this.trimItemsArrayToLimit([...newItems, ...this.items], 'tail');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (to === 'tail') {
|
|
121
|
+
result = this.trimItemsArrayToLimit([...this.items, ...newItems], 'head');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
this.deleteAll();
|
|
125
|
+
this.set(...result);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Return array with messages of count that matching limit.
|
|
130
|
+
*/
|
|
131
|
+
private trimItemsArrayToLimit(items: T[], from: 'head' | 'tail'): T[] {
|
|
132
|
+
if (this.limit === null) {
|
|
133
|
+
return items;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (from === 'head') {
|
|
137
|
+
return items.slice(-this.limit);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (from === 'tail') {
|
|
141
|
+
return items.slice(0, this.limit);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export class TopicHistoryWindow extends TraversableRemoteCollection<Message> {
|
|
147
|
+
/**
|
|
148
|
+
* Reexported available window modes enum.
|
|
149
|
+
*/
|
|
150
|
+
public readonly WindowState: typeof WindowState = WindowState;
|
|
151
|
+
|
|
152
|
+
public constructor(
|
|
153
|
+
private roomId: string,
|
|
154
|
+
private topicId: string,
|
|
155
|
+
private tracker: ChatStateTracker,
|
|
156
|
+
) {
|
|
157
|
+
super('id');
|
|
158
|
+
this.tracker.client.on('Session', ev => this.handleSession(ev));
|
|
159
|
+
this.tracker.client.on('NewMessage', ev => this.handleNewMessage(ev));
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* For internal use.
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
public _setTopicReference(ref: MessageReference): void {
|
|
167
|
+
const refMessage = this.get(ref.messageId);
|
|
168
|
+
|
|
169
|
+
if (refMessage) {
|
|
170
|
+
// Update referenced topic ID in message
|
|
171
|
+
this.set({...refMessage, topicRef: ref.topicId});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
private async handleNewMessage(ev: NewMessage): Promise<void> {
|
|
176
|
+
if (
|
|
177
|
+
[WindowState.LATEST, WindowState.UNINITIALIZED].includes(this.state)
|
|
178
|
+
&& ev.location.roomId === this.roomId
|
|
179
|
+
&& ev.location.topicId === this.topicId
|
|
180
|
+
) {
|
|
181
|
+
this.set(ev.message);
|
|
182
|
+
|
|
183
|
+
if (this.state === WindowState.UNINITIALIZED) {
|
|
184
|
+
await this.refreshMode();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
private handleSession(ev: Session): void {
|
|
190
|
+
this.resetToLatest();
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
protected async fetchItemsAfter(): Promise<Message[] | null> {
|
|
194
|
+
const afterId = this.getAt(this.length - 1)?.id;
|
|
195
|
+
|
|
196
|
+
if (! afterId) {
|
|
197
|
+
// If there is no message to refer, fetch latest
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const result = await this.tracker.client.send('GetMessages', {
|
|
202
|
+
location: {roomId: this.roomId, topicId: this.topicId},
|
|
203
|
+
after: afterId,
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
if (result.error) {
|
|
207
|
+
throw new Error(`Cannot fetch messages: ${result.error.message}`);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return result.data.messages;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
protected async fetchItemsBefore(): Promise<Message[] | null> {
|
|
214
|
+
const beforeId = this.getAt(0)?.id;
|
|
215
|
+
|
|
216
|
+
if (! beforeId) {
|
|
217
|
+
// If there is no message to refer, fetch latest
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const result = await this.tracker.client.send('GetMessages', {
|
|
222
|
+
location: {roomId: this.roomId, topicId: this.topicId},
|
|
223
|
+
before: beforeId,
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
if (result.error) {
|
|
227
|
+
throw new Error(`Cannot fetch messages: ${result.error.message}`);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return result.data.messages;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
protected async fetchLatestItems(): Promise<Message[]> {
|
|
234
|
+
const result = await this.tracker.client.send('GetMessages', {
|
|
235
|
+
location: {roomId: this.roomId, topicId: this.topicId},
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
if (result.error) {
|
|
239
|
+
throw new Error(`Cannot fetch messages: ${result.error.message}`);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return result.data.messages;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
private async getTopic(): Promise<Topic | undefined> {
|
|
246
|
+
return (await this.tracker.rooms.getTopics(this.roomId, [this.topicId])).get(this.topicId);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
private async getLatestMessageId(): Promise<string | undefined> {
|
|
250
|
+
return (await this.getTopic())?.lastMessage?.id;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
protected async isLatestItemLoaded(): Promise<boolean> {
|
|
254
|
+
const lastMessageId = await this.getLatestMessageId();
|
|
255
|
+
return lastMessageId ? this.has(lastMessageId) : false;
|
|
256
|
+
}
|
|
257
|
+
}
|
package/src/types/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {Envelope} from "./schemes/Envelope";
|
|
2
|
-
import {Message} from "./schemes/Message";
|
|
2
|
+
import {Message, MessageType} from "./schemes/Message";
|
|
3
3
|
import {PermissionOverwritesValue} from "./schemes/PermissionOverwritesValue";
|
|
4
4
|
import {Role} from "./schemes/Role";
|
|
5
5
|
import {Room} from "./schemes/Room";
|
|
@@ -85,11 +85,16 @@ import {TopicUnfollowed} from "./schemes/events/TopicUnfollowed";
|
|
|
85
85
|
import {TopicFollowed} from "./schemes/events/TopicFollowed";
|
|
86
86
|
import {GetFollowedTopics} from "./schemes/commands/GetFollowedTopics";
|
|
87
87
|
import {FollowedTopicUpdated} from "./schemes/events/FollowedTopicUpdated";
|
|
88
|
+
import {GetMessages} from "./schemes/commands/GetMessages";
|
|
89
|
+
import {Messages} from "./schemes/events/Messages";
|
|
90
|
+
import {Topics} from "./schemes/events/Topics";
|
|
91
|
+
import {GetTopics} from "./schemes/commands/GetTopics";
|
|
88
92
|
|
|
89
93
|
export {
|
|
90
94
|
// objects
|
|
91
95
|
Envelope,
|
|
92
96
|
Message,
|
|
97
|
+
MessageType,
|
|
93
98
|
Role,
|
|
94
99
|
Room,
|
|
95
100
|
RoomType,
|
|
@@ -107,6 +112,7 @@ export {
|
|
|
107
112
|
// events
|
|
108
113
|
Bye,
|
|
109
114
|
Error,
|
|
115
|
+
Messages,
|
|
110
116
|
NewMessage,
|
|
111
117
|
NewRole,
|
|
112
118
|
NewRoom,
|
|
@@ -145,6 +151,7 @@ export {
|
|
|
145
151
|
Ok,
|
|
146
152
|
// commands
|
|
147
153
|
AssignRole,
|
|
154
|
+
GetMessages,
|
|
148
155
|
CreateMessage,
|
|
149
156
|
Ack,
|
|
150
157
|
CreateRole,
|
|
@@ -177,4 +184,6 @@ export {
|
|
|
177
184
|
CreateOwner,
|
|
178
185
|
DeleteOwner,
|
|
179
186
|
GetOwners,
|
|
187
|
+
Topics,
|
|
188
|
+
GetTopics,
|
|
180
189
|
};
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import {User} from "./User";
|
|
2
2
|
|
|
3
|
+
export enum MessageType {
|
|
4
|
+
Text = 'Text',
|
|
5
|
+
Join = 'Join',
|
|
6
|
+
Leave = 'Leave',
|
|
7
|
+
}
|
|
8
|
+
|
|
3
9
|
export interface Message {
|
|
4
10
|
id: string;
|
|
5
11
|
createdAt: string;
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
type: MessageType;
|
|
13
|
+
user: User;
|
|
14
|
+
content?: string;
|
|
8
15
|
topicRef: string | null;
|
|
9
16
|
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import {TraversableRemoteCollection, WindowState} from "../src/state-tracker/TopicHistoryWindow";
|
|
2
|
+
|
|
3
|
+
interface SimpleMessage {
|
|
4
|
+
id: number;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const messages: SimpleMessage[] = [
|
|
8
|
+
{id: 0},
|
|
9
|
+
{id: 1},
|
|
10
|
+
{id: 2},
|
|
11
|
+
{id: 3},
|
|
12
|
+
{id: 4},
|
|
13
|
+
{id: 5},
|
|
14
|
+
{id: 6},
|
|
15
|
+
{id: 7},
|
|
16
|
+
{id: 8},
|
|
17
|
+
{id: 9},
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
class TestableHistoryWindow extends TraversableRemoteCollection<SimpleMessage> {
|
|
21
|
+
public constructor() {
|
|
22
|
+
super('id');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
protected async fetchItemsAfter(): Promise<SimpleMessage[]> {
|
|
26
|
+
const after = this.getAt(this.length - 1)?.id;
|
|
27
|
+
if (after === undefined) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
// Return only 3 items
|
|
31
|
+
return messages.slice(after + 1, after + 4);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
protected async fetchItemsBefore(): Promise<SimpleMessage[]> {
|
|
35
|
+
const before = this.getAt(0)?.id;
|
|
36
|
+
if (before === undefined) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return messages.slice(Math.max(before - 3, 0), before);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
protected async fetchLatestItems(): Promise<SimpleMessage[]> {
|
|
43
|
+
return messages.slice(-3);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected async isLatestItemLoaded(): Promise<boolean> {
|
|
47
|
+
return this.has(messages.length - 1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
test('history window - fresh instance', async () => {
|
|
52
|
+
const window = new TestableHistoryWindow();
|
|
53
|
+
expect(window.items).toHaveLength(0);
|
|
54
|
+
expect(window.limit).toEqual(50);
|
|
55
|
+
expect(window.state).toEqual(WindowState.UNINITIALIZED);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('history window - traverse back', async () => {
|
|
59
|
+
const window = new TestableHistoryWindow();
|
|
60
|
+
window.limit = 5;
|
|
61
|
+
|
|
62
|
+
await window.fetchPrevious(); // 7,8,9
|
|
63
|
+
|
|
64
|
+
expect(window.state).toEqual(WindowState.LATEST);
|
|
65
|
+
expect(window.items).toHaveLength(3);
|
|
66
|
+
[7,8,9].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
67
|
+
|
|
68
|
+
await window.fetchPrevious(); // 4,5,6,7,8
|
|
69
|
+
|
|
70
|
+
expect(window.state).toEqual(WindowState.PAST);
|
|
71
|
+
expect(window.items).toHaveLength(5);
|
|
72
|
+
[4,5,6,7,8].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
73
|
+
|
|
74
|
+
await window.fetchPrevious(); // 1,2,3,4,5
|
|
75
|
+
await window.fetchPrevious(); // 0,1,2,3,4
|
|
76
|
+
await window.fetchPrevious(); // 0,1,2,3,4
|
|
77
|
+
|
|
78
|
+
expect(window.state).toEqual(WindowState.PAST);
|
|
79
|
+
expect(window.items).toHaveLength(5);
|
|
80
|
+
[0,1,2,3,4].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
test('history window - traverse forward', async () => {
|
|
84
|
+
const window = new TestableHistoryWindow();
|
|
85
|
+
window.limit = 5;
|
|
86
|
+
|
|
87
|
+
await window.fetchNext();
|
|
88
|
+
|
|
89
|
+
expect(window.state).toEqual(WindowState.LATEST);
|
|
90
|
+
expect(window.items).toHaveLength(3);
|
|
91
|
+
[7,8,9].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
92
|
+
|
|
93
|
+
await window.fetchPrevious(); // [4,5,6,7,8]
|
|
94
|
+
await window.fetchPrevious(); // [1,2,3,4,5]
|
|
95
|
+
await window.fetchNext(); // [4,5,6,7,8]
|
|
96
|
+
|
|
97
|
+
expect(window.state).toEqual(WindowState.PAST);
|
|
98
|
+
expect(window.items).toHaveLength(5);
|
|
99
|
+
[4,5,6,7,8].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
100
|
+
|
|
101
|
+
await window.fetchNext();
|
|
102
|
+
await window.fetchNext();
|
|
103
|
+
await window.fetchNext(); // move to latest
|
|
104
|
+
|
|
105
|
+
expect(window.state).toEqual(WindowState.LATEST);
|
|
106
|
+
expect(window.items).toHaveLength(5);
|
|
107
|
+
[5,6,7,8,9].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
test('history window - reset to latest', async () => {
|
|
111
|
+
const window = new TestableHistoryWindow();
|
|
112
|
+
window.limit = 5;
|
|
113
|
+
|
|
114
|
+
await window.fetchPrevious();
|
|
115
|
+
|
|
116
|
+
expect(window.state).toEqual(WindowState.LATEST);
|
|
117
|
+
|
|
118
|
+
await window.fetchPrevious();
|
|
119
|
+
await window.fetchPrevious();
|
|
120
|
+
await window.fetchPrevious(); // Move to start
|
|
121
|
+
|
|
122
|
+
expect(window.state).toEqual(WindowState.PAST);
|
|
123
|
+
|
|
124
|
+
await window.resetToLatest();
|
|
125
|
+
|
|
126
|
+
expect(window.state).toEqual(WindowState.LATEST);
|
|
127
|
+
expect(window.items).toHaveLength(3);
|
|
128
|
+
[7,8,9].forEach(id => expect(window.items.map(item => item.id)).toContain(id));
|
|
129
|
+
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __esModule: boolean;
|