polfan-server-js-client 0.1.2 → 0.1.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.
Files changed (207) hide show
  1. package/.gitmodules +3 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  3. package/.idea/polfan-server-js-client.iml +3 -1
  4. package/.idea/vcs.xml +1 -1
  5. package/README.md +17 -17
  6. package/build/index.js +1968 -462
  7. package/build/index.js.map +1 -1
  8. package/build/types/AbstractChatClient.d.ts +26 -9
  9. package/build/types/IndexedObjectCollection.d.ts +3 -3
  10. package/build/types/Permissions.d.ts +65 -0
  11. package/build/types/WebSocketChatClient.d.ts +1 -1
  12. package/build/types/index.d.ts +4 -1
  13. package/build/types/state-tracker/AsyncUtils.d.ts +14 -0
  14. package/build/types/state-tracker/ChatStateTracker.d.ts +26 -0
  15. package/build/types/state-tracker/MessagesManager.d.ts +39 -0
  16. package/build/types/state-tracker/PermissionsManager.d.ts +41 -0
  17. package/build/types/state-tracker/RoomsManager.d.ts +49 -0
  18. package/build/types/state-tracker/SpacesManager.d.ts +52 -0
  19. package/build/types/state-tracker/functions.d.ts +2 -0
  20. package/build/types/types/src/index.d.ts +82 -0
  21. package/build/types/types/src/schemes/AckReport.d.ts +7 -0
  22. package/build/types/types/src/schemes/ChatLocation.d.ts +5 -0
  23. package/build/types/types/src/schemes/Envelope.d.ts +5 -0
  24. package/build/types/types/src/schemes/Message.d.ts +7 -0
  25. package/build/types/types/src/schemes/PermissionOverwritesValue.d.ts +4 -0
  26. package/build/types/types/src/schemes/Role.d.ts +6 -0
  27. package/build/types/types/src/schemes/Room.d.ts +10 -0
  28. package/build/types/types/src/schemes/RoomMember.d.ts +7 -0
  29. package/build/types/types/src/schemes/RoomSummary.d.ts +5 -0
  30. package/build/types/types/src/schemes/Space.d.ts +6 -0
  31. package/build/types/types/src/schemes/SpaceMember.d.ts +5 -0
  32. package/build/types/types/src/schemes/Topic.d.ts +5 -0
  33. package/build/types/types/src/schemes/User.d.ts +8 -0
  34. package/build/types/types/src/schemes/UserState.d.ts +6 -0
  35. package/build/types/types/src/schemes/commands/Ack.d.ts +5 -0
  36. package/build/types/types/src/schemes/commands/AssignRole.d.ts +6 -0
  37. package/build/types/types/src/schemes/commands/CreateMessage.d.ts +5 -0
  38. package/build/types/types/src/schemes/commands/CreateOwner.d.ts +5 -0
  39. package/build/types/types/src/schemes/commands/CreateRole.d.ts +5 -0
  40. package/build/types/types/src/schemes/commands/CreateRoom.d.ts +7 -0
  41. package/build/types/types/src/schemes/commands/CreateSpace.d.ts +3 -0
  42. package/build/types/types/src/schemes/commands/CreateTopic.d.ts +12 -0
  43. package/build/types/types/src/schemes/commands/DeassignRole.d.ts +6 -0
  44. package/build/types/types/src/schemes/commands/DeleteOwner.d.ts +5 -0
  45. package/build/types/types/src/schemes/commands/DeleteRole.d.ts +4 -0
  46. package/build/types/types/src/schemes/commands/DeleteRoom.d.ts +3 -0
  47. package/build/types/types/src/schemes/commands/DeleteSpace.d.ts +3 -0
  48. package/build/types/types/src/schemes/commands/DeleteTopic.d.ts +4 -0
  49. package/build/types/types/src/schemes/commands/GetAckReports.d.ts +4 -0
  50. package/build/types/types/src/schemes/commands/GetComputedPermissions.d.ts +4 -0
  51. package/build/types/types/src/schemes/commands/GetOwners.d.ts +4 -0
  52. package/build/types/types/src/schemes/commands/GetPermissionOverwriteTargets.d.ts +4 -0
  53. package/build/types/types/src/schemes/commands/GetPermissionOverwrites.d.ts +6 -0
  54. package/build/types/types/src/schemes/commands/GetRoomMembers.d.ts +3 -0
  55. package/build/types/types/src/schemes/commands/GetSession.d.ts +2 -0
  56. package/build/types/types/src/schemes/commands/GetSpaceMembers.d.ts +3 -0
  57. package/build/types/types/src/schemes/commands/GetSpaceRooms.d.ts +3 -0
  58. package/build/types/types/src/schemes/commands/JoinRoom.d.ts +3 -0
  59. package/build/types/types/src/schemes/commands/JoinSpace.d.ts +3 -0
  60. package/build/types/types/src/schemes/commands/LeaveRoom.d.ts +3 -0
  61. package/build/types/types/src/schemes/commands/LeaveSpace.d.ts +3 -0
  62. package/build/types/types/src/schemes/commands/SetPermissionOverwrites.d.ts +8 -0
  63. package/build/types/types/src/schemes/commands/UpdateRole.d.ts +7 -0
  64. package/build/types/types/src/schemes/commands/UpdateRoom.d.ts +5 -0
  65. package/build/types/types/src/schemes/commands/UpdateSpace.d.ts +4 -0
  66. package/build/types/types/src/schemes/events/AckReports.d.ts +4 -0
  67. package/build/types/types/src/schemes/events/Bye.d.ts +3 -0
  68. package/build/types/types/src/schemes/events/ComputedPermissions.d.ts +5 -0
  69. package/build/types/types/src/schemes/events/Error.d.ts +4 -0
  70. package/build/types/types/src/schemes/events/NewMessage.d.ts +6 -0
  71. package/build/types/types/src/schemes/events/NewRole.d.ts +5 -0
  72. package/build/types/types/src/schemes/events/NewRoom.d.ts +5 -0
  73. package/build/types/types/src/schemes/events/NewTopic.d.ts +5 -0
  74. package/build/types/types/src/schemes/events/Ok.d.ts +2 -0
  75. package/build/types/types/src/schemes/events/Owners.d.ts +8 -0
  76. package/build/types/types/src/schemes/events/PermissionOverwriteTargets.d.ts +10 -0
  77. package/build/types/types/src/schemes/events/PermissionOverwrites.d.ts +8 -0
  78. package/build/types/types/src/schemes/events/PermissionOverwritesUpdated.d.ts +8 -0
  79. package/build/types/types/src/schemes/events/RoleDeleted.d.ts +4 -0
  80. package/build/types/types/src/schemes/events/RoleUpdated.d.ts +5 -0
  81. package/build/types/types/src/schemes/events/RoomDeleted.d.ts +3 -0
  82. package/build/types/types/src/schemes/events/RoomJoined.d.ts +4 -0
  83. package/build/types/types/src/schemes/events/RoomLeft.d.ts +3 -0
  84. package/build/types/types/src/schemes/events/RoomMemberJoined.d.ts +5 -0
  85. package/build/types/types/src/schemes/events/RoomMemberLeft.d.ts +4 -0
  86. package/build/types/types/src/schemes/events/RoomMemberUpdated.d.ts +6 -0
  87. package/build/types/types/src/schemes/events/RoomMembers.d.ts +5 -0
  88. package/build/types/types/src/schemes/events/RoomUpdated.d.ts +4 -0
  89. package/build/types/types/src/schemes/events/Session.d.ts +7 -0
  90. package/build/types/types/src/schemes/events/SpaceDeleted.d.ts +3 -0
  91. package/build/types/types/src/schemes/events/SpaceJoined.d.ts +4 -0
  92. package/build/types/types/src/schemes/events/SpaceLeft.d.ts +3 -0
  93. package/build/types/types/src/schemes/events/SpaceMemberJoined.d.ts +5 -0
  94. package/build/types/types/src/schemes/events/SpaceMemberLeft.d.ts +4 -0
  95. package/build/types/types/src/schemes/events/SpaceMemberUpdated.d.ts +6 -0
  96. package/build/types/types/src/schemes/events/SpaceMembers.d.ts +5 -0
  97. package/build/types/types/src/schemes/events/SpaceRooms.d.ts +5 -0
  98. package/build/types/types/src/schemes/events/SpaceUpdated.d.ts +4 -0
  99. package/build/types/types/src/schemes/events/TopicDeleted.d.ts +4 -0
  100. package/build/types/types/src/schemes/events/UserUpdated.d.ts +4 -0
  101. package/jest.config.ts +199 -0
  102. package/package.json +4 -22
  103. package/src/AbstractChatClient.ts +50 -16
  104. package/src/AbstractRestClient.ts +65 -65
  105. package/src/IndexedObjectCollection.ts +3 -3
  106. package/src/Permissions.ts +46 -0
  107. package/src/WebApiChatClient.ts +1 -1
  108. package/src/WebSocketChatClient.ts +2 -2
  109. package/src/index.ts +7 -2
  110. package/src/state-tracker/AsyncUtils.ts +38 -0
  111. package/src/state-tracker/ChatStateTracker.ts +42 -0
  112. package/src/state-tracker/MessagesManager.ts +154 -0
  113. package/src/state-tracker/PermissionsManager.ts +306 -0
  114. package/src/state-tracker/RoomsManager.ts +272 -0
  115. package/src/state-tracker/SpacesManager.ts +267 -0
  116. package/src/state-tracker/functions.ts +25 -0
  117. package/src/types/README.md +2 -0
  118. package/src/types/package-lock.json +31 -0
  119. package/src/types/package.json +16 -0
  120. package/src/types/src/index.ts +168 -0
  121. package/src/types/src/schemes/AckReport.ts +7 -0
  122. package/src/types/src/schemes/ChatLocation.ts +5 -0
  123. package/src/types/src/schemes/Envelope.ts +5 -0
  124. package/src/types/src/schemes/Message.ts +8 -0
  125. package/src/types/src/schemes/PermissionOverwritesValue.ts +4 -0
  126. package/src/types/src/schemes/Role.ts +6 -0
  127. package/src/types/src/schemes/Room.ts +12 -0
  128. package/src/types/src/schemes/RoomMember.ts +8 -0
  129. package/src/types/src/schemes/RoomSummary.ts +5 -0
  130. package/src/types/src/schemes/Space.ts +7 -0
  131. package/src/types/src/schemes/SpaceMember.ts +6 -0
  132. package/src/types/src/schemes/Topic.ts +5 -0
  133. package/src/types/src/schemes/User.ts +9 -0
  134. package/src/types/src/schemes/UserState.ts +7 -0
  135. package/src/types/src/schemes/commands/Ack.ts +6 -0
  136. package/src/types/src/schemes/commands/AssignRole.ts +7 -0
  137. package/src/types/src/schemes/commands/CreateMessage.ts +6 -0
  138. package/src/types/src/schemes/commands/CreateOwner.ts +6 -0
  139. package/src/types/src/schemes/commands/CreateRole.ts +5 -0
  140. package/src/types/src/schemes/commands/CreateRoom.ts +8 -0
  141. package/src/types/src/schemes/commands/CreateSpace.ts +3 -0
  142. package/src/types/src/schemes/commands/CreateTopic.ts +14 -0
  143. package/src/types/src/schemes/commands/DeassignRole.ts +7 -0
  144. package/src/types/src/schemes/commands/DeleteOwner.ts +6 -0
  145. package/src/types/src/schemes/commands/DeleteRole.ts +4 -0
  146. package/src/types/src/schemes/commands/DeleteRoom.ts +3 -0
  147. package/src/types/src/schemes/commands/DeleteSpace.ts +3 -0
  148. package/src/types/src/schemes/commands/DeleteTopic.ts +5 -0
  149. package/src/types/src/schemes/commands/GetAckReports.ts +5 -0
  150. package/src/types/src/schemes/commands/GetComputedPermissions.ts +5 -0
  151. package/src/types/src/schemes/commands/GetOwners.ts +5 -0
  152. package/src/types/src/schemes/commands/GetPermissionOverwriteTargets.ts +5 -0
  153. package/src/types/src/schemes/commands/GetPermissionOverwrites.ts +7 -0
  154. package/src/types/src/schemes/commands/GetRoomMembers.ts +3 -0
  155. package/src/types/src/schemes/commands/GetSession.ts +2 -0
  156. package/src/types/src/schemes/commands/GetSpaceMembers.ts +3 -0
  157. package/src/types/src/schemes/commands/GetSpaceRooms.ts +3 -0
  158. package/src/types/src/schemes/commands/JoinRoom.ts +3 -0
  159. package/src/types/src/schemes/commands/JoinSpace.ts +3 -0
  160. package/src/types/src/schemes/commands/LeaveRoom.ts +3 -0
  161. package/src/types/src/schemes/commands/LeaveSpace.ts +3 -0
  162. package/src/types/src/schemes/commands/SetPermissionOverwrites.ts +9 -0
  163. package/src/types/src/schemes/commands/UpdateRole.ts +7 -0
  164. package/src/types/src/schemes/commands/UpdateRoom.ts +5 -0
  165. package/src/types/src/schemes/commands/UpdateSpace.ts +4 -0
  166. package/src/types/src/schemes/events/AckReports.ts +5 -0
  167. package/src/types/src/schemes/events/Bye.ts +3 -0
  168. package/src/types/src/schemes/events/ComputedPermissions.ts +6 -0
  169. package/src/types/src/schemes/events/Error.ts +4 -0
  170. package/src/types/src/schemes/events/NewMessage.ts +7 -0
  171. package/src/types/src/schemes/events/NewRole.ts +6 -0
  172. package/src/types/src/schemes/events/NewRoom.ts +6 -0
  173. package/src/types/src/schemes/events/NewTopic.ts +6 -0
  174. package/src/types/src/schemes/events/Ok.ts +3 -0
  175. package/src/types/src/schemes/events/Owners.ts +9 -0
  176. package/src/types/src/schemes/events/PermissionOverwriteTargets.ts +11 -0
  177. package/src/types/src/schemes/events/PermissionOverwrites.ts +9 -0
  178. package/src/types/src/schemes/events/PermissionOverwritesUpdated.ts +9 -0
  179. package/src/types/src/schemes/events/RoleDeleted.ts +4 -0
  180. package/src/types/src/schemes/events/RoleUpdated.ts +6 -0
  181. package/src/types/src/schemes/events/RoomDeleted.ts +3 -0
  182. package/src/types/src/schemes/events/RoomJoined.ts +5 -0
  183. package/src/types/src/schemes/events/RoomLeft.ts +3 -0
  184. package/src/types/src/schemes/events/RoomMemberJoined.ts +6 -0
  185. package/src/types/src/schemes/events/RoomMemberLeft.ts +4 -0
  186. package/src/types/src/schemes/events/RoomMemberUpdated.ts +7 -0
  187. package/src/types/src/schemes/events/RoomMembers.ts +6 -0
  188. package/src/types/src/schemes/events/RoomUpdated.ts +5 -0
  189. package/src/types/src/schemes/events/Session.ts +8 -0
  190. package/src/types/src/schemes/events/SpaceDeleted.ts +3 -0
  191. package/src/types/src/schemes/events/SpaceJoined.ts +5 -0
  192. package/src/types/src/schemes/events/SpaceLeft.ts +3 -0
  193. package/src/types/src/schemes/events/SpaceMemberJoined.ts +6 -0
  194. package/src/types/src/schemes/events/SpaceMemberLeft.ts +4 -0
  195. package/src/types/src/schemes/events/SpaceMemberUpdated.ts +7 -0
  196. package/src/types/src/schemes/events/SpaceMembers.ts +6 -0
  197. package/src/types/src/schemes/events/SpaceRooms.ts +6 -0
  198. package/src/types/src/schemes/events/SpaceUpdated.ts +5 -0
  199. package/src/types/src/schemes/events/TopicDeleted.ts +5 -0
  200. package/src/types/src/schemes/events/UserUpdated.ts +5 -0
  201. package/src/types/tsconfig.json +75 -0
  202. package/tests/async-utils.test.ts +30 -0
  203. package/tests/permissions.test.ts +14 -0
  204. package/tests/space-roles.test.ts +43 -0
  205. package/build/types/ChatStateTracker.d.ts +0 -54
  206. package/index.html +0 -8
  207. package/src/ChatStateTracker.ts +0 -336
package/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "src/types"]
2
+ path = src/types
3
+ url = https://github.com/szado/pserv-ts-types
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ </profile>
6
+ </component>
@@ -1,7 +1,9 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <module type="WEB_MODULE" version="4">
3
3
  <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$" />
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/build" />
6
+ </content>
5
7
  <orderEntry type="inheritedJdk" />
6
8
  <orderEntry type="sourceFolder" forTests="false" />
7
9
  </component>
package/.idea/vcs.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
4
+ <mapping directory="" vcs="Git" />
5
5
  </component>
6
6
  </project>
package/README.md CHANGED
@@ -4,22 +4,22 @@ TypeScript client library to handle connection with Polfan chat service.
4
4
  ## How to use?
5
5
 
6
6
  ```js
7
- (async function () {
8
- // Request new token and create client instance.
9
- const tokenData = await PServ.Client.getToken('login', 'pass');
10
- const client = new PServ.Client.createByToken(tokenData.token);
11
-
12
- // Bind the listener for each NewMessage event:
13
- client.on('NewMessage', ev => `${ev.message.author.nick} wrote: ${ev.message.content}`);
14
-
15
- // Send a message to the server:
16
- client.sendCommand(new PServ.commands.CreateMessage({
17
- content: 'Hello world!',
18
- topicId: 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxx'
19
- }));
20
-
21
- // You can handle result for specific command with returned promise:
22
- const result = client.sendCommand(new PServ.commands.GetSpaceMembers({id: 'xxx'}));
23
- console.log('Space member list', result.members)
7
+ (async () => {
8
+ // Get access token by credentials
9
+ const token = await PServ.AuthClient.createToken('login', 'password');
10
+
11
+ // Create web api client (there is also WebSocket client available)
12
+ const client = new PServ.WebApiChatClient({
13
+ token: token.token, // Pass received token
14
+ url: 'https://pserv-api-address',
15
+ });
16
+
17
+ // Call `GetSession` command which returns user session data
18
+ const session = await client.send('GetSession');
19
+
20
+ console.log("My nick:", session.user.nick);
21
+ console.log("The rooms you are in:", session.rooms);
22
+ console.log("The spaces you are in:", session.spaces);
23
+ console.log("The version of server you connected to:", session.serverVersion);
24
24
  })();
25
25
  ```