@hocuspocus/provider 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (132) hide show
  1. package/dist/{hocuspocus-provider.js → hocuspocus-provider.cjs} +362 -186
  2. package/dist/hocuspocus-provider.cjs.map +1 -0
  3. package/dist/hocuspocus-provider.esm.js +359 -181
  4. package/dist/hocuspocus-provider.esm.js.map +1 -1
  5. package/dist/packages/common/src/CloseEvents.d.ts +23 -0
  6. package/dist/packages/common/src/auth.d.ts +6 -0
  7. package/dist/packages/common/src/awarenessStatesToArray.d.ts +3 -0
  8. package/dist/packages/common/src/index.d.ts +4 -0
  9. package/dist/packages/common/src/types.d.ts +10 -0
  10. package/dist/packages/extension-database/src/Database.d.ts +30 -0
  11. package/dist/packages/extension-database/src/index.d.ts +1 -0
  12. package/dist/packages/extension-logger/src/Logger.d.ts +67 -0
  13. package/dist/packages/extension-logger/src/index.d.ts +1 -0
  14. package/dist/packages/{monitor → extension-monitor}/src/Collector.d.ts +4 -5
  15. package/dist/packages/{monitor → extension-monitor}/src/Dashboard.d.ts +2 -2
  16. package/dist/packages/{monitor → extension-monitor}/src/Storage.d.ts +0 -0
  17. package/dist/packages/{monitor → extension-monitor}/src/index.d.ts +3 -5
  18. package/dist/packages/extension-redis/src/Redis.d.ts +98 -0
  19. package/dist/packages/extension-redis/src/index.d.ts +1 -0
  20. package/dist/packages/extension-sqlite/src/SQLite.d.ts +26 -0
  21. package/dist/packages/extension-sqlite/src/index.d.ts +1 -0
  22. package/dist/packages/extension-throttle/src/index.d.ts +24 -0
  23. package/dist/packages/{webhook → extension-webhook}/src/index.d.ts +5 -11
  24. package/dist/packages/provider/src/EventEmitter.d.ts +1 -1
  25. package/dist/packages/provider/src/HocuspocusCloudProvider.d.ts +11 -0
  26. package/dist/packages/provider/src/HocuspocusProvider.d.ts +116 -32
  27. package/dist/packages/provider/src/IncomingMessage.d.ts +9 -6
  28. package/dist/packages/provider/src/MessageReceiver.d.ts +3 -2
  29. package/dist/packages/provider/src/MessageSender.d.ts +4 -9
  30. package/dist/packages/provider/src/OutgoingMessage.d.ts +5 -4
  31. package/dist/packages/provider/src/OutgoingMessages/AuthenticationMessage.d.ts +7 -0
  32. package/dist/packages/provider/src/OutgoingMessages/UpdateMessage.d.ts +1 -2
  33. package/dist/packages/provider/src/index.d.ts +1 -1
  34. package/dist/packages/provider/src/types.d.ts +54 -2
  35. package/dist/packages/server/src/Connection.d.ts +16 -7
  36. package/dist/packages/server/src/Debugger.d.ts +14 -0
  37. package/dist/packages/server/src/Document.d.ts +11 -5
  38. package/dist/packages/server/src/Hocuspocus.d.ts +63 -17
  39. package/dist/packages/server/src/IncomingMessage.d.ts +11 -7
  40. package/dist/packages/server/src/MessageReceiver.d.ts +13 -0
  41. package/dist/packages/server/src/OutgoingMessage.d.ts +6 -0
  42. package/dist/packages/server/src/index.d.ts +6 -0
  43. package/dist/packages/server/src/types.d.ts +168 -26
  44. package/dist/{demos/backend/src/create-document.d.ts → playground/backend/src/default.d.ts} +0 -0
  45. package/dist/{demos → playground}/backend/src/express.d.ts +0 -0
  46. package/dist/{demos → playground}/backend/src/koa.d.ts +0 -0
  47. package/dist/{demos/backend/src/minimal.d.ts → playground/backend/src/load-document.d.ts} +0 -0
  48. package/dist/{demos → playground}/backend/src/monitor.d.ts +0 -0
  49. package/dist/{demos/backend/src/webhook.d.ts → playground/backend/src/redis.d.ts} +0 -0
  50. package/dist/playground/backend/src/slow.d.ts +1 -0
  51. package/dist/playground/backend/src/webhook.d.ts +1 -0
  52. package/dist/tests/extension-database/fetch.d.ts +1 -0
  53. package/dist/tests/extension-logger/onListen.d.ts +1 -0
  54. package/dist/tests/extension-redis/closeConnections.d.ts +1 -0
  55. package/dist/tests/extension-redis/getConnectionCount.d.ts +1 -0
  56. package/dist/tests/extension-redis/getDocumentsCount.d.ts +1 -0
  57. package/dist/tests/extension-redis/onAwarenessChange.d.ts +1 -0
  58. package/dist/tests/extension-redis/onChange.d.ts +1 -0
  59. package/dist/tests/extension-redis/onStoreDocument.d.ts +1 -0
  60. package/dist/tests/extension-throttle/configuration.d.ts +1 -0
  61. package/dist/tests/provider/configuration.d.ts +1 -0
  62. package/dist/tests/provider/observe.d.ts +1 -0
  63. package/dist/tests/provider/observeDeep.d.ts +1 -0
  64. package/dist/tests/provider/onAuthenticated.d.ts +1 -0
  65. package/dist/tests/provider/onAuthenticationFailed.d.ts +1 -0
  66. package/dist/tests/provider/onAwarenessChange.d.ts +1 -0
  67. package/dist/tests/provider/onAwarenessUpdate.d.ts +1 -0
  68. package/dist/tests/provider/onClose.d.ts +1 -0
  69. package/dist/tests/provider/onConnect.d.ts +1 -0
  70. package/dist/tests/provider/onDisconnect.d.ts +1 -0
  71. package/dist/tests/provider/onMessage.d.ts +1 -0
  72. package/dist/tests/provider/onOpen.d.ts +1 -0
  73. package/dist/tests/provider/onSynced.d.ts +1 -0
  74. package/dist/tests/server/address.d.ts +1 -0
  75. package/dist/tests/server/afterStoreDocument.d.ts +1 -0
  76. package/dist/tests/server/closeConnections.d.ts +1 -0
  77. package/dist/tests/server/getConnectionsCount.d.ts +1 -0
  78. package/dist/tests/server/getDocumentName.d.ts +1 -0
  79. package/dist/tests/server/getDocumentsCount.d.ts +1 -0
  80. package/dist/tests/server/getMessageLogs.d.ts +1 -0
  81. package/dist/tests/server/listen.d.ts +1 -0
  82. package/dist/tests/server/onAuthenticate.d.ts +1 -0
  83. package/dist/tests/server/onAwarenessUpdate.d.ts +1 -0
  84. package/dist/tests/server/onChange.d.ts +1 -0
  85. package/dist/tests/server/onConfigure.d.ts +1 -0
  86. package/dist/tests/server/onConnect.d.ts +1 -0
  87. package/dist/tests/server/onDestroy.d.ts +1 -0
  88. package/dist/tests/server/onDisconnect.d.ts +1 -0
  89. package/dist/tests/server/onListen.d.ts +1 -0
  90. package/dist/tests/server/onLoadDocument.d.ts +1 -0
  91. package/dist/tests/server/onRequest.d.ts +1 -0
  92. package/dist/tests/server/onStoreDocument.d.ts +1 -0
  93. package/dist/tests/server/onUpgrade.d.ts +1 -0
  94. package/dist/tests/server/requiresAuthentication.d.ts +1 -0
  95. package/dist/tests/transformer/TiptapTransformer.d.ts +1 -0
  96. package/dist/tests/utils/createDirectory.d.ts +1 -0
  97. package/dist/tests/utils/flushRedis.d.ts +1 -0
  98. package/dist/tests/utils/index.d.ts +8 -0
  99. package/dist/tests/utils/newHocuspocus.d.ts +2 -0
  100. package/dist/tests/utils/newHocuspocusProvider.d.ts +3 -0
  101. package/dist/tests/utils/randomInteger.d.ts +1 -0
  102. package/dist/tests/utils/redisConnectionSettings.d.ts +4 -0
  103. package/dist/tests/utils/removeDirectory.d.ts +1 -0
  104. package/dist/tests/utils/retryableAssertion.d.ts +2 -0
  105. package/dist/tests/utils/sleep.d.ts +1 -0
  106. package/package.json +15 -11
  107. package/src/EventEmitter.ts +1 -1
  108. package/src/HocuspocusCloudProvider.ts +34 -0
  109. package/src/HocuspocusProvider.ts +389 -159
  110. package/src/IncomingMessage.ts +35 -11
  111. package/src/MessageReceiver.ts +56 -24
  112. package/src/MessageSender.ts +5 -17
  113. package/src/OutgoingMessage.ts +9 -9
  114. package/src/OutgoingMessages/AuthenticationMessage.ts +21 -0
  115. package/src/OutgoingMessages/AwarenessMessage.ts +1 -1
  116. package/src/OutgoingMessages/SyncStepOneMessage.ts +0 -1
  117. package/src/OutgoingMessages/UpdateMessage.ts +4 -4
  118. package/src/index.ts +1 -1
  119. package/src/types.ts +70 -3
  120. package/CHANGELOG.md +0 -24
  121. package/dist/hocuspocus-provider.js.map +0 -1
  122. package/dist/packages/logger/src/index.d.ts +0 -13
  123. package/dist/packages/provider/src/utils/awarenessStatesToArray.d.ts +0 -4
  124. package/dist/packages/provider/src/utils/index.d.ts +0 -1
  125. package/dist/packages/redis/src/Redis.d.ts +0 -22
  126. package/dist/packages/redis/src/RedisCluster.d.ts +0 -4
  127. package/dist/packages/redis/src/index.d.ts +0 -2
  128. package/dist/packages/rocksdb/src/index.d.ts +0 -30
  129. package/dist/packages/server/src/CloseEvents.d.ts +0 -3
  130. package/dist/packages/throttle/src/index.d.ts +0 -28
  131. package/src/utils/awarenessStatesToArray.ts +0 -8
  132. package/src/utils/index.ts +0 -1
@@ -1,70 +1,211 @@
1
1
  /// <reference types="node" />
2
2
  import { IncomingHttpHeaders, IncomingMessage, ServerResponse } from 'http';
3
3
  import { URLSearchParams } from 'url';
4
- import { Socket } from 'net';
4
+ import { Awareness } from 'y-protocols/awareness';
5
5
  import Document from './Document';
6
+ import { Hocuspocus } from './Hocuspocus';
6
7
  export declare enum MessageType {
8
+ Unknown = -1,
7
9
  Sync = 0,
8
- Awareness = 1
9
- }
10
- export declare enum WsReadyStates {
11
- Closing = 2,
12
- Closed = 3
10
+ Awareness = 1,
11
+ Auth = 2,
12
+ QueryAwareness = 3,
13
+ SyncReply = 4
13
14
  }
14
15
  export interface AwarenessUpdate {
15
16
  added: Array<any>;
16
17
  updated: Array<any>;
17
18
  removed: Array<any>;
18
19
  }
20
+ export interface ConnectionConfiguration {
21
+ readOnly: boolean;
22
+ requiresAuthentication: boolean;
23
+ isAuthenticated: boolean;
24
+ }
19
25
  export interface Extension {
20
- onChange(data: onChangePayload): Promise<any>;
21
- onConnect(data: onConnectPayload): Promise<any>;
22
- onConfigure(data: onConfigurePayload): Promise<any>;
23
- onCreateDocument(data: onCreateDocumentPayload): Promise<any>;
24
- onDestroy(data: onDestroyPayload): Promise<any>;
25
- onDisconnect(data: onDisconnectPayload): Promise<any>;
26
- onListen(data: onListenPayload): Promise<any>;
27
- onRequest(data: onRequestPayload): Promise<any>;
28
- onUpgrade(data: onUpgradePayload): Promise<any>;
26
+ priority?: number;
27
+ onConfigure?(data: onConfigurePayload): Promise<any>;
28
+ onListen?(data: onListenPayload): Promise<any>;
29
+ onUpgrade?(data: onUpgradePayload): Promise<any>;
30
+ onConnect?(data: onConnectPayload): Promise<any>;
31
+ connected?(data: connectedPayload): Promise<any>;
32
+ onAuthenticate?(data: onAuthenticatePayload): Promise<any>;
33
+ /**
34
+ * @deprecated onCreateDocument is deprecated, use onLoadDocument instead
35
+ */
36
+ onCreateDocument?(data: onLoadDocumentPayload): Promise<any>;
37
+ onLoadDocument?(data: onLoadDocumentPayload): Promise<any>;
38
+ afterLoadDocument?(data: onLoadDocumentPayload): Promise<any>;
39
+ onChange?(data: onChangePayload): Promise<any>;
40
+ onStoreDocument?(data: onStoreDocumentPayload): Promise<any>;
41
+ afterStoreDocument?(data: afterStoreDocumentPayload): Promise<any>;
42
+ onAwarenessUpdate?(data: onAwarenessUpdatePayload): Promise<any>;
43
+ onRequest?(data: onRequestPayload): Promise<any>;
44
+ onDisconnect?(data: onDisconnectPayload): Promise<any>;
45
+ onDestroy?(data: onDestroyPayload): Promise<any>;
29
46
  }
47
+ export declare type HookName = 'onConfigure' | 'onListen' | 'onUpgrade' | 'onConnect' | 'connected' | 'onAuthenticate' |
48
+ /**
49
+ * @deprecated onCreateDocument is deprecated, use onLoadDocument instead
50
+ */
51
+ 'onCreateDocument' | 'onLoadDocument' | 'afterLoadDocument' | 'onChange' | 'onStoreDocument' | 'afterStoreDocument' | 'onAwarenessUpdate' | 'onRequest' | 'onDisconnect' | 'onDestroy';
52
+ export declare type HookPayload = onConfigurePayload | onListenPayload | onUpgradePayload | onConnectPayload | connectedPayload | onAuthenticatePayload | onLoadDocumentPayload | onChangePayload | onStoreDocumentPayload | afterStoreDocumentPayload | onAwarenessUpdatePayload | onRequestPayload | onDisconnectPayload | onDestroyPayload;
30
53
  export interface Configuration extends Extension {
54
+ /**
55
+ * A name for the instance, used for logging.
56
+ */
57
+ name: string | null;
58
+ /**
59
+ * A list of hocuspocus extenions.
60
+ */
31
61
  extensions: Array<Extension>;
62
+ /**
63
+ * The port which the server listens on.
64
+ */
32
65
  port: number | null;
66
+ /**
67
+ * Defines in which interval the server sends a ping, and closes the connection when no pong is sent back.
68
+ */
33
69
  timeout: number;
70
+ /**
71
+ * Debounces the call of the `onStoreDocument` hook for the given amount of time in ms.
72
+ * Otherwise every single update would be persisted.
73
+ */
74
+ debounce: number;
75
+ /**
76
+ * Makes sure to call `onStoreDocument` at least in the given amount of time (ms).
77
+ */
78
+ maxDebounce: number;
79
+ /**
80
+ * By default, the servers show a start screen. If passed false, the server will start quietly.
81
+ */
82
+ quiet: boolean;
83
+ /**
84
+ * options to pass to the ydoc document
85
+ */
86
+ yDocOptions: {
87
+ gc: boolean;
88
+ gcFilter: () => boolean;
89
+ };
90
+ /**
91
+ * Function which returns the (customized) document name based on the request
92
+ */
93
+ getDocumentName?(data: getDocumentNamePayload): string | Promise<string>;
94
+ }
95
+ export interface getDocumentNamePayload {
96
+ documentName: string;
97
+ request: IncomingMessage;
98
+ requestParameters: URLSearchParams;
99
+ }
100
+ export interface onAuthenticatePayload {
101
+ documentName: string;
102
+ instance: Hocuspocus;
103
+ requestHeaders: IncomingHttpHeaders;
104
+ requestParameters: URLSearchParams;
105
+ socketId: string;
106
+ token: string;
107
+ connection: ConnectionConfiguration;
34
108
  }
35
109
  export interface onConnectPayload {
36
110
  documentName: string;
111
+ instance: Hocuspocus;
37
112
  request: IncomingMessage;
38
113
  requestHeaders: IncomingHttpHeaders;
39
114
  requestParameters: URLSearchParams;
40
115
  socketId: string;
41
- connection: {
42
- readOnly: boolean;
43
- };
116
+ connection: ConnectionConfiguration;
117
+ }
118
+ export interface connectedPayload {
119
+ documentName: string;
120
+ instance: Hocuspocus;
121
+ request: IncomingMessage;
122
+ requestHeaders: IncomingHttpHeaders;
123
+ requestParameters: URLSearchParams;
124
+ socketId: string;
125
+ connection: ConnectionConfiguration;
126
+ }
127
+ export interface onLoadDocumentPayload {
128
+ context: any;
129
+ document: Document;
130
+ documentName: string;
131
+ instance: Hocuspocus;
132
+ requestHeaders: IncomingHttpHeaders;
133
+ requestParameters: URLSearchParams;
134
+ socketId: string;
135
+ connection: ConnectionConfiguration;
44
136
  }
45
- export interface onCreateDocumentPayload {
137
+ export interface afterLoadDocumentPayload {
46
138
  context: any;
47
139
  document: Document;
48
140
  documentName: string;
141
+ instance: Hocuspocus;
49
142
  requestHeaders: IncomingHttpHeaders;
50
143
  requestParameters: URLSearchParams;
51
144
  socketId: string;
145
+ connection: ConnectionConfiguration;
52
146
  }
53
147
  export interface onChangePayload {
54
148
  clientsCount: number;
55
149
  context: any;
56
150
  document: Document;
57
151
  documentName: string;
152
+ instance: Hocuspocus;
153
+ requestHeaders: IncomingHttpHeaders;
154
+ requestParameters: URLSearchParams;
155
+ update: Uint8Array;
156
+ socketId: string;
157
+ }
158
+ export interface onStoreDocumentPayload {
159
+ clientsCount: number;
160
+ context: any;
161
+ document: Document;
162
+ documentName: string;
163
+ instance: Hocuspocus;
164
+ requestHeaders: IncomingHttpHeaders;
165
+ requestParameters: URLSearchParams;
166
+ socketId: string;
167
+ }
168
+ export interface afterStoreDocumentPayload extends onStoreDocumentPayload {
169
+ }
170
+ export interface onAwarenessUpdatePayload {
171
+ clientsCount: number;
172
+ context: any;
173
+ document: Document;
174
+ documentName: string;
175
+ instance: Hocuspocus;
58
176
  requestHeaders: IncomingHttpHeaders;
59
177
  requestParameters: URLSearchParams;
60
178
  update: Uint8Array;
61
179
  socketId: string;
180
+ added: number[];
181
+ updated: number[];
182
+ removed: number[];
183
+ awareness: Awareness;
184
+ states: StatesArray;
185
+ }
186
+ export declare type StatesArray = {
187
+ clientId: number;
188
+ [key: string | number]: any;
189
+ }[];
190
+ export interface fetchPayload {
191
+ context: any;
192
+ document: Document;
193
+ documentName: string;
194
+ instance: Hocuspocus;
195
+ requestHeaders: IncomingHttpHeaders;
196
+ requestParameters: URLSearchParams;
197
+ socketId: string;
198
+ connection: ConnectionConfiguration;
199
+ }
200
+ export interface storePayload extends onStoreDocumentPayload {
201
+ state: Buffer;
62
202
  }
63
203
  export interface onDisconnectPayload {
64
204
  clientsCount: number;
65
205
  context: any;
66
206
  document: Document;
67
207
  documentName: string;
208
+ instance: Hocuspocus;
68
209
  requestHeaders: IncomingHttpHeaders;
69
210
  requestParameters: URLSearchParams;
70
211
  socketId: string;
@@ -72,23 +213,24 @@ export interface onDisconnectPayload {
72
213
  export interface onRequestPayload {
73
214
  request: IncomingMessage;
74
215
  response: ServerResponse;
216
+ instance: Hocuspocus;
75
217
  }
76
218
  export interface onUpgradePayload {
77
- head: any;
78
219
  request: IncomingMessage;
79
- socket: Socket;
220
+ socket: any;
221
+ head: any;
222
+ instance: Hocuspocus;
80
223
  }
81
224
  export interface onListenPayload {
225
+ instance: Hocuspocus;
226
+ configuration: Configuration;
82
227
  port: number;
83
228
  }
84
229
  export interface onDestroyPayload {
230
+ instance: Hocuspocus;
85
231
  }
86
232
  export interface onConfigurePayload {
233
+ instance: Hocuspocus;
87
234
  configuration: Configuration;
88
235
  version: string;
89
- yjsVersion: string;
90
- }
91
- export interface CloseEvent {
92
- code: number;
93
- reason: string;
94
236
  }
File without changes
@@ -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 {};
@@ -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,8 @@
1
+ export * from './createDirectory';
2
+ export * from './flushRedis';
3
+ export * from './newHocuspocus';
4
+ export * from './newHocuspocusProvider';
5
+ export * from './randomInteger';
6
+ export * from './redisConnectionSettings';
7
+ export * from './removeDirectory';
8
+ 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 @@
1
+ export declare const randomInteger: (min: number, max: number) => number;
@@ -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,2 @@
1
+ import { ExecutionContext } from 'ava';
2
+ export declare const retryableAssertion: (t: ExecutionContext, recoverableTry: (tt: ExecutionContext) => void) => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const sleep: (time: number) => Promise<unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hocuspocus/provider",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-alpha.40",
4
4
  "description": "hocuspocus provider",
5
5
  "homepage": "https://hocuspocus.dev",
6
6
  "keywords": [
@@ -11,24 +11,28 @@
11
11
  ],
12
12
  "license": "MIT",
13
13
  "type": "module",
14
- "main": "dist/hocuspocus-provider.esm.js",
14
+ "main": "dist/hocuspocus-provider.cjs",
15
15
  "module": "dist/hocuspocus-provider.esm.js",
16
- "types": "dist/packages/logger/src/index.d.ts",
16
+ "types": "dist/packages/provider/src/index.d.ts",
17
17
  "exports": {
18
- "import": "./dist/hocuspocus-provider.esm.js",
19
- "require": "./dist/hocuspocus-provider.js"
18
+ "source": {
19
+ "import": "./src"
20
+ },
21
+ "default": {
22
+ "import": "./dist/hocuspocus-provider.esm.js",
23
+ "require": "./dist/hocuspocus-provider.cjs"
24
+ }
20
25
  },
21
26
  "files": [
22
27
  "src",
23
28
  "dist"
24
29
  ],
25
30
  "dependencies": {
26
- "lib0": "^0.2.42",
31
+ "@hocuspocus/common": "^1.0.0-alpha.12",
32
+ "@lifeomic/attempt": "^3.0.2",
33
+ "lib0": "^0.2.46",
27
34
  "y-protocols": "^1.0.5",
28
- "yjs": "^13.5.8"
35
+ "yjs": "^13.5.29"
29
36
  },
30
- "gitHead": "9e1f9b46ab3c1dbbe2f42384f91751bc5c56c5b8",
31
- "publishConfig": {
32
- "access": "public"
33
- }
37
+ "gitHead": "6865794352a68372a54c579040513e45aac422d1"
34
38
  }
@@ -36,7 +36,7 @@ export default class EventEmitter {
36
36
  return this
37
37
  }
38
38
 
39
- protected removeAllListeners(): void {
39
+ removeAllListeners(): void {
40
40
  this.callbacks = {}
41
41
  }
42
42
  }
@@ -0,0 +1,34 @@
1
+ import {
2
+ HocuspocusProvider,
3
+ HocuspocusProviderConfiguration,
4
+ } from './HocuspocusProvider'
5
+
6
+ export type HocuspocusCloudProviderConfiguration =
7
+ Required<Pick<HocuspocusProviderConfiguration, 'name'>> &
8
+ Partial<HocuspocusProviderConfiguration> &
9
+ AdditionalHocuspocusCloudProviderConfiguration
10
+
11
+ export interface AdditionalHocuspocusCloudProviderConfiguration {
12
+ /**
13
+ * A Hocuspocus Cloud key, get one here: https://hocuspocus.cloud/
14
+ */
15
+ key: string,
16
+ }
17
+
18
+ export class HocuspocusCloudProvider extends HocuspocusProvider {
19
+ constructor(configuration: HocuspocusCloudProviderConfiguration) {
20
+ if (!configuration.url) {
21
+ configuration.url = 'wss://connect.hocuspocus.cloud'
22
+ }
23
+
24
+ if (configuration.key) {
25
+ if (!configuration.parameters) {
26
+ configuration.parameters = {}
27
+ }
28
+
29
+ configuration.parameters.key = configuration.key
30
+ }
31
+
32
+ super(configuration as HocuspocusProviderConfiguration)
33
+ }
34
+ }