@hocuspocus/common 1.0.0-alpha.10

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 (123) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +14 -0
  3. package/dist/hocuspocus-common.cjs +280 -0
  4. package/dist/hocuspocus-common.cjs.map +1 -0
  5. package/dist/hocuspocus-common.esm.js +268 -0
  6. package/dist/hocuspocus-common.esm.js.map +1 -0
  7. package/dist/packages/common/src/CloseEvents.d.ts +23 -0
  8. package/dist/packages/common/src/auth.d.ts +6 -0
  9. package/dist/packages/common/src/awarenessStatesToArray.d.ts +3 -0
  10. package/dist/packages/common/src/index.d.ts +4 -0
  11. package/dist/packages/common/src/types.d.ts +10 -0
  12. package/dist/packages/extension-database/src/Database.d.ts +32 -0
  13. package/dist/packages/extension-database/src/index.d.ts +1 -0
  14. package/dist/packages/extension-logger/src/Logger.d.ts +67 -0
  15. package/dist/packages/extension-logger/src/index.d.ts +1 -0
  16. package/dist/packages/extension-monitor/src/Collector.d.ts +60 -0
  17. package/dist/packages/extension-monitor/src/Dashboard.d.ts +29 -0
  18. package/dist/packages/extension-monitor/src/Storage.d.ts +35 -0
  19. package/dist/packages/extension-monitor/src/index.d.ts +38 -0
  20. package/dist/packages/extension-redis/src/Redis.d.ts +16 -0
  21. package/dist/packages/extension-redis/src/RedisCluster.d.ts +4 -0
  22. package/dist/packages/extension-redis/src/index.d.ts +2 -0
  23. package/dist/packages/extension-rocksdb/src/index.d.ts +22 -0
  24. package/dist/packages/extension-sqlite/src/SQLite.d.ts +26 -0
  25. package/dist/packages/extension-sqlite/src/index.d.ts +1 -0
  26. package/dist/packages/extension-throttle/src/index.d.ts +24 -0
  27. package/dist/packages/extension-webhook/src/index.d.ts +58 -0
  28. package/dist/packages/provider/src/EventEmitter.d.ts +9 -0
  29. package/dist/packages/provider/src/HocuspocusCloudProvider.d.ts +11 -0
  30. package/dist/packages/provider/src/HocuspocusProvider.d.ts +156 -0
  31. package/dist/packages/provider/src/IncomingMessage.d.ts +14 -0
  32. package/dist/packages/provider/src/MessageReceiver.d.ts +13 -0
  33. package/dist/packages/provider/src/MessageSender.d.ts +10 -0
  34. package/dist/packages/provider/src/OutgoingMessage.d.ts +9 -0
  35. package/dist/packages/provider/src/OutgoingMessages/AuthenticationMessage.d.ts +7 -0
  36. package/dist/packages/provider/src/OutgoingMessages/AwarenessMessage.d.ts +8 -0
  37. package/dist/packages/provider/src/OutgoingMessages/QueryAwarenessMessage.d.ts +8 -0
  38. package/dist/packages/provider/src/OutgoingMessages/SyncStepOneMessage.d.ts +8 -0
  39. package/dist/packages/provider/src/OutgoingMessages/SyncStepTwoMessage.d.ts +8 -0
  40. package/dist/packages/provider/src/OutgoingMessages/UpdateMessage.d.ts +7 -0
  41. package/dist/packages/provider/src/index.d.ts +3 -0
  42. package/dist/packages/provider/src/types.d.ts +77 -0
  43. package/dist/packages/server/src/Connection.d.ts +63 -0
  44. package/dist/packages/server/src/Debugger.d.ts +14 -0
  45. package/dist/packages/server/src/Document.d.ts +78 -0
  46. package/dist/packages/server/src/Hocuspocus.d.ts +107 -0
  47. package/dist/packages/server/src/IncomingMessage.d.ts +19 -0
  48. package/dist/packages/server/src/MessageReceiver.d.ts +13 -0
  49. package/dist/packages/server/src/OutgoingMessage.d.ts +17 -0
  50. package/dist/packages/server/src/index.d.ts +9 -0
  51. package/dist/packages/server/src/types.d.ts +216 -0
  52. package/dist/packages/transformer/src/Prosemirror.d.ts +11 -0
  53. package/dist/packages/transformer/src/Tiptap.d.ts +10 -0
  54. package/dist/packages/transformer/src/index.d.ts +3 -0
  55. package/dist/packages/transformer/src/types.d.ts +5 -0
  56. package/dist/playground/backend/src/default.d.ts +1 -0
  57. package/dist/playground/backend/src/express.d.ts +1 -0
  58. package/dist/playground/backend/src/koa.d.ts +1 -0
  59. package/dist/playground/backend/src/load-document.d.ts +1 -0
  60. package/dist/playground/backend/src/monitor.d.ts +1 -0
  61. package/dist/playground/backend/src/redis.d.ts +1 -0
  62. package/dist/playground/backend/src/slow.d.ts +1 -0
  63. package/dist/playground/backend/src/webhook.d.ts +1 -0
  64. package/dist/tests/extension-logger/onListen.d.ts +1 -0
  65. package/dist/tests/extension-redis/onLoadDocument.d.ts +1 -0
  66. package/dist/tests/extension-redis/onSynced.d.ts +1 -0
  67. package/dist/tests/extension-redis-rewrite/closeConnections.d.ts +1 -0
  68. package/dist/tests/extension-redis-rewrite/getConnectionCount.d.ts +1 -0
  69. package/dist/tests/extension-redis-rewrite/getDocumentsCount.d.ts +1 -0
  70. package/dist/tests/extension-redis-rewrite/onAwarenessChange.d.ts +1 -0
  71. package/dist/tests/extension-redis-rewrite/onChange.d.ts +1 -0
  72. package/dist/tests/extension-redis-rewrite/onStoreDocument.d.ts +1 -0
  73. package/dist/tests/extension-rocksdb/onLoadDocument.d.ts +1 -0
  74. package/dist/tests/extension-throttle/configuration.d.ts +1 -0
  75. package/dist/tests/provider/configuration.d.ts +1 -0
  76. package/dist/tests/provider/observe.d.ts +1 -0
  77. package/dist/tests/provider/observeDeep.d.ts +1 -0
  78. package/dist/tests/provider/onAuthenticated.d.ts +1 -0
  79. package/dist/tests/provider/onAuthenticationFailed.d.ts +1 -0
  80. package/dist/tests/provider/onAwarenessChange.d.ts +1 -0
  81. package/dist/tests/provider/onAwarenessUpdate.d.ts +1 -0
  82. package/dist/tests/provider/onClose.d.ts +1 -0
  83. package/dist/tests/provider/onConnect.d.ts +1 -0
  84. package/dist/tests/provider/onDisconnect.d.ts +1 -0
  85. package/dist/tests/provider/onMessage.d.ts +1 -0
  86. package/dist/tests/provider/onOpen.d.ts +1 -0
  87. package/dist/tests/provider/onSynced.d.ts +1 -0
  88. package/dist/tests/server/address.d.ts +1 -0
  89. package/dist/tests/server/afterStoreDocument.d.ts +1 -0
  90. package/dist/tests/server/closeConnections.d.ts +1 -0
  91. package/dist/tests/server/getConnectionsCount.d.ts +1 -0
  92. package/dist/tests/server/getDocumentName.d.ts +1 -0
  93. package/dist/tests/server/getDocumentsCount.d.ts +1 -0
  94. package/dist/tests/server/getMessageLogs.d.ts +1 -0
  95. package/dist/tests/server/listen.d.ts +1 -0
  96. package/dist/tests/server/onAuthenticate.d.ts +1 -0
  97. package/dist/tests/server/onAwarenessUpdate.d.ts +1 -0
  98. package/dist/tests/server/onChange.d.ts +1 -0
  99. package/dist/tests/server/onConfigure.d.ts +1 -0
  100. package/dist/tests/server/onConnect.d.ts +1 -0
  101. package/dist/tests/server/onDestroy.d.ts +1 -0
  102. package/dist/tests/server/onDisconnect.d.ts +1 -0
  103. package/dist/tests/server/onListen.d.ts +1 -0
  104. package/dist/tests/server/onLoadDocument.d.ts +1 -0
  105. package/dist/tests/server/onRequest.d.ts +1 -0
  106. package/dist/tests/server/onStoreDocument.d.ts +1 -0
  107. package/dist/tests/server/onUpgrade.d.ts +1 -0
  108. package/dist/tests/server/requiresAuthentication.d.ts +1 -0
  109. package/dist/tests/transformer/TiptapTransformer.d.ts +1 -0
  110. package/dist/tests/utils/createDirectory.d.ts +1 -0
  111. package/dist/tests/utils/flushRedis.d.ts +1 -0
  112. package/dist/tests/utils/index.d.ts +7 -0
  113. package/dist/tests/utils/newHocuspocus.d.ts +2 -0
  114. package/dist/tests/utils/newHocuspocusProvider.d.ts +3 -0
  115. package/dist/tests/utils/redisConnectionSettings.d.ts +4 -0
  116. package/dist/tests/utils/removeDirectory.d.ts +1 -0
  117. package/dist/tests/utils/sleep.d.ts +1 -0
  118. package/package.json +31 -0
  119. package/src/CloseEvents.ts +39 -0
  120. package/src/auth.ts +40 -0
  121. package/src/awarenessStatesToArray.ts +8 -0
  122. package/src/index.ts +4 -0
  123. package/src/types.ts +10 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare const createDirectory: (dir: string) => void;
@@ -0,0 +1 @@
1
+ export declare const flushRedis: () => Promise<string>;
@@ -0,0 +1,7 @@
1
+ export * from './createDirectory';
2
+ export * from './flushRedis';
3
+ export * from './newHocuspocus';
4
+ export * from './newHocuspocusProvider';
5
+ export * from './redisConnectionSettings';
6
+ export * from './removeDirectory';
7
+ export * from './sleep';
@@ -0,0 +1,2 @@
1
+ import { Hocuspocus, Configuration } from '@hocuspocus/server';
2
+ export declare const newHocuspocus: (options?: Partial<Configuration> | undefined) => Hocuspocus;
@@ -0,0 +1,3 @@
1
+ import { HocuspocusProvider, HocuspocusProviderConfiguration } from '@hocuspocus/provider';
2
+ import { Hocuspocus } from '@hocuspocus/server';
3
+ export declare const newHocuspocusProvider: (server: Hocuspocus, options?: Partial<Omit<HocuspocusProviderConfiguration, 'url'>>) => HocuspocusProvider;
@@ -0,0 +1,4 @@
1
+ export declare const redisConnectionSettings: {
2
+ host: string;
3
+ port: number;
4
+ };
@@ -0,0 +1 @@
1
+ export declare const removeDirectory: (dir: string) => void;
@@ -0,0 +1 @@
1
+ export declare const sleep: (time: number) => Promise<unknown>;
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@hocuspocus/common",
3
+ "description": "shared code for multiple Hocuspocus packages",
4
+ "version": "1.0.0-alpha.10",
5
+ "homepage": "https://hocuspocus.dev",
6
+ "keywords": [
7
+ "hocuspocus"
8
+ ],
9
+ "license": "MIT",
10
+ "type": "module",
11
+ "main": "dist/hocuspocus-common.esm.js",
12
+ "module": "dist/hocuspocus-common.esm.js",
13
+ "types": "dist/packages/common/src/index.d.ts",
14
+ "exports": {
15
+ "source": {
16
+ "import": "./src"
17
+ },
18
+ "default": {
19
+ "import": "./dist/hocuspocus-common.esm.js",
20
+ "require": "./dist/hocuspocus-common.cjs"
21
+ }
22
+ },
23
+ "files": [
24
+ "src",
25
+ "dist"
26
+ ],
27
+ "gitHead": "1fc2a6cff1b5fd626b8dd7c486755111965da20d",
28
+ "dependencies": {
29
+ "lib0": "^0.2.47"
30
+ }
31
+ }
@@ -0,0 +1,39 @@
1
+ export interface CloseEvent {
2
+ code: number,
3
+ reason: string,
4
+ }
5
+
6
+ /**
7
+ * The server successfully processed the request, asks that the requester reset
8
+ * its document view, and is not returning any content.
9
+ */
10
+ export const ResetConnection: CloseEvent = {
11
+ code: 4205,
12
+ reason: 'Reset Connection',
13
+ }
14
+
15
+ /**
16
+ * Similar to Forbidden, but specifically for use when authentication is required and has
17
+ * failed or has not yet been provided.
18
+ */
19
+ export const Unauthorized: CloseEvent = {
20
+ code: 4401,
21
+ reason: 'Unauthorized',
22
+ }
23
+
24
+ /**
25
+ * The request contained valid data and was understood by the server, but the server
26
+ * is refusing action.
27
+ */
28
+ export const Forbidden: CloseEvent = {
29
+ code: 4403,
30
+ reason: 'Forbidden',
31
+ }
32
+
33
+ /**
34
+ * The server timed out waiting for the request.
35
+ */
36
+ export const ConnectionTimeout: CloseEvent = {
37
+ code: 4408,
38
+ reason: 'Connection Timeout',
39
+ }
package/src/auth.ts ADDED
@@ -0,0 +1,40 @@
1
+ import * as encoding from 'lib0/encoding'
2
+ import * as decoding from 'lib0/decoding'
3
+
4
+ enum AuthMessageType {
5
+ Token = 0,
6
+ PermissionDenied = 1,
7
+ Authenticated = 2,
8
+ }
9
+
10
+ export const writeAuthentication = (encoder: encoding.Encoder, auth: string) => {
11
+ encoding.writeVarUint(encoder, AuthMessageType.Token)
12
+ encoding.writeVarString(encoder, auth)
13
+ }
14
+
15
+ export const writePermissionDenied = (encoder: encoding.Encoder, reason: string) => {
16
+ encoding.writeVarUint(encoder, AuthMessageType.PermissionDenied)
17
+ encoding.writeVarString(encoder, reason)
18
+ }
19
+
20
+ export const writeAuthenticated = (encoder: encoding.Encoder) => {
21
+ encoding.writeVarUint(encoder, AuthMessageType.Authenticated)
22
+ }
23
+
24
+ export const readAuthMessage = (
25
+ decoder: decoding.Decoder,
26
+ permissionDeniedHandler: (reason: string) => void,
27
+ authenticatedHandler: () => void,
28
+ ) => {
29
+ switch (decoding.readVarUint(decoder)) {
30
+ case AuthMessageType.PermissionDenied: {
31
+ permissionDeniedHandler(decoding.readVarString(decoder))
32
+ break
33
+ }
34
+ case AuthMessageType.Authenticated: {
35
+ authenticatedHandler()
36
+ break
37
+ }
38
+ default:
39
+ }
40
+ }
@@ -0,0 +1,8 @@
1
+ export const awarenessStatesToArray = (states: Map<number, Record<string, any>>) => {
2
+ return Array.from(states.entries()).map(([key, value]) => {
3
+ return {
4
+ clientId: key,
5
+ ...value,
6
+ }
7
+ })
8
+ }
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './auth'
2
+ export * from './CloseEvents'
3
+ export * from './awarenessStatesToArray'
4
+ export * from './types'
package/src/types.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * State of the WebSocket connection.
3
+ * https://developer.mozilla.org/de/docs/Web/API/WebSocket/readyState
4
+ */
5
+ export enum WsReadyStates {
6
+ Connecting = 0,
7
+ Open = 1,
8
+ Closing = 2,
9
+ Closed = 3,
10
+ }