@hocuspocus/extension-sqlite 1.0.0-alpha.1 → 1.0.0-alpha.12
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/dist/hocuspocus-sqlite.cjs +29 -20
- package/dist/hocuspocus-sqlite.cjs.map +1 -1
- package/dist/hocuspocus-sqlite.esm.js +26 -20
- package/dist/hocuspocus-sqlite.esm.js.map +1 -1
- package/dist/packages/common/src/CloseEvents.d.ts +23 -0
- package/dist/packages/common/src/awarenessStatesToArray.d.ts +3 -0
- package/dist/packages/common/src/index.d.ts +3 -0
- package/dist/packages/common/src/types.d.ts +10 -0
- package/dist/packages/extension-database/src/Database.d.ts +5 -9
- package/dist/packages/extension-logger/src/Logger.d.ts +5 -0
- package/dist/packages/extension-monitor/src/Collector.d.ts +0 -2
- package/dist/packages/extension-monitor/src/index.d.ts +2 -2
- package/dist/packages/extension-sqlite/src/SQLite.d.ts +4 -4
- package/dist/packages/extension-throttle/src/index.d.ts +6 -2
- package/dist/packages/extension-webhook/src/index.d.ts +1 -2
- package/dist/packages/provider/src/EventEmitter.d.ts +1 -1
- package/dist/packages/provider/src/HocuspocusCloudProvider.d.ts +4 -3
- package/dist/packages/provider/src/HocuspocusProvider.d.ts +24 -26
- package/dist/packages/provider/src/index.d.ts +0 -1
- package/dist/packages/provider/src/types.d.ts +43 -0
- package/dist/packages/server/src/Connection.d.ts +5 -5
- package/dist/packages/server/src/Debugger.d.ts +1 -2
- package/dist/packages/server/src/Document.d.ts +8 -5
- package/dist/packages/server/src/Hocuspocus.d.ts +32 -14
- package/dist/packages/server/src/MessageReceiver.d.ts +8 -5
- package/dist/packages/server/src/OutgoingMessage.d.ts +1 -0
- package/dist/packages/server/src/index.d.ts +7 -0
- package/dist/packages/server/src/types.d.ts +92 -34
- package/dist/tests/extension-logger/onListen.d.ts +1 -0
- package/dist/tests/extension-redis/onLoadDocument.d.ts +1 -0
- package/dist/tests/extension-redis/onSynced.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/closeConnections.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/getConnectionCount.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/getDocumentsCount.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/onAwarenessChange.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/onChange.d.ts +1 -0
- package/dist/tests/extension-redis-rewrite/onStoreDocument.d.ts +1 -0
- package/dist/tests/extension-rocksdb/onLoadDocument.d.ts +1 -0
- package/dist/tests/extension-throttle/configuration.d.ts +1 -0
- package/dist/tests/provider/configuration.d.ts +1 -0
- package/dist/tests/provider/observe.d.ts +1 -0
- package/dist/tests/provider/observeDeep.d.ts +1 -0
- package/dist/tests/provider/onAuthenticated.d.ts +1 -0
- package/dist/tests/provider/onAuthenticationFailed.d.ts +1 -0
- package/dist/tests/provider/onAwarenessChange.d.ts +1 -0
- package/dist/tests/provider/onAwarenessUpdate.d.ts +1 -0
- package/dist/tests/provider/onClose.d.ts +1 -0
- package/dist/tests/provider/onConnect.d.ts +1 -0
- package/dist/tests/provider/onDisconnect.d.ts +1 -0
- package/dist/tests/provider/onMessage.d.ts +1 -0
- package/dist/tests/provider/onOpen.d.ts +1 -0
- package/dist/tests/provider/onSynced.d.ts +1 -0
- package/dist/tests/server/address.d.ts +1 -0
- package/dist/tests/server/afterStoreDocument.d.ts +1 -0
- package/dist/tests/server/closeConnections.d.ts +1 -0
- package/dist/tests/server/getConnectionsCount.d.ts +1 -0
- package/dist/tests/server/getDocumentName.d.ts +1 -0
- package/dist/tests/server/getDocumentsCount.d.ts +1 -0
- package/dist/tests/server/getMessageLogs.d.ts +1 -0
- package/dist/tests/server/listen.d.ts +1 -0
- package/dist/tests/server/onAuthenticate.d.ts +1 -0
- package/dist/tests/server/onAwarenessUpdate.d.ts +1 -0
- package/dist/tests/server/onChange.d.ts +1 -0
- package/dist/tests/server/onConfigure.d.ts +1 -0
- package/dist/tests/server/onConnect.d.ts +1 -0
- package/dist/tests/server/onDestroy.d.ts +1 -0
- package/dist/tests/server/onDisconnect.d.ts +1 -0
- package/dist/tests/server/onListen.d.ts +1 -0
- package/dist/tests/server/onLoadDocument.d.ts +1 -0
- package/dist/tests/server/onRequest.d.ts +1 -0
- package/dist/tests/server/onStoreDocument.d.ts +1 -0
- package/dist/tests/server/onUpgrade.d.ts +1 -0
- package/dist/tests/server/requiresAuthentication.d.ts +1 -0
- package/dist/tests/transformer/TiptapTransformer.d.ts +1 -0
- package/dist/tests/utils/createDirectory.d.ts +1 -0
- package/dist/tests/utils/flushRedis.d.ts +1 -0
- package/dist/tests/utils/index.d.ts +7 -0
- package/dist/tests/utils/newHocuspocus.d.ts +2 -0
- package/dist/tests/utils/newHocuspocusProvider.d.ts +3 -0
- package/dist/tests/utils/redisConnectionSettings.d.ts +4 -0
- package/dist/tests/utils/removeDirectory.d.ts +1 -0
- package/dist/tests/utils/sleep.d.ts +1 -0
- package/package.json +5 -5
- package/src/SQLite.ts +29 -21
- package/dist/packages/provider/src/utils/awarenessStatesToArray.d.ts +0 -4
- package/dist/packages/provider/src/utils/index.d.ts +0 -1
- package/dist/packages/server/src/CloseEvents.d.ts +0 -4
package/src/SQLite.ts
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { Database, DatabaseConfiguration } from '@hocuspocus/extension-database'
|
|
2
2
|
import sqlite3 from 'sqlite3'
|
|
3
|
-
import
|
|
3
|
+
import kleur from 'kleur'
|
|
4
|
+
|
|
5
|
+
export const schema = `CREATE TABLE IF NOT EXISTS "documents" (
|
|
6
|
+
"name" varchar(255) NOT NULL,
|
|
7
|
+
"data" blob NOT NULL,
|
|
8
|
+
UNIQUE(name)
|
|
9
|
+
)`
|
|
10
|
+
|
|
11
|
+
export const selectQuery = `
|
|
12
|
+
SELECT data FROM "documents" WHERE name = $name ORDER BY rowid DESC
|
|
13
|
+
`
|
|
14
|
+
|
|
15
|
+
export const upsertQuery = `
|
|
16
|
+
INSERT INTO "documents" ("name", "data") VALUES ($name, $data)
|
|
17
|
+
ON CONFLICT(name) DO UPDATE SET data = $data
|
|
18
|
+
`
|
|
4
19
|
|
|
5
20
|
export interface SQLiteConfiguration extends DatabaseConfiguration {
|
|
6
21
|
/**
|
|
@@ -22,34 +37,28 @@ export class SQLite extends Database {
|
|
|
22
37
|
|
|
23
38
|
configuration: SQLiteConfiguration = {
|
|
24
39
|
database: ':memory:',
|
|
25
|
-
schema
|
|
26
|
-
|
|
27
|
-
"data" blob NOT NULL
|
|
28
|
-
);`,
|
|
29
|
-
fetchUpdates: async ({ documentName }) => {
|
|
40
|
+
schema,
|
|
41
|
+
fetch: async ({ documentName }) => {
|
|
30
42
|
return new Promise((resolve, reject) => {
|
|
31
|
-
this.db?.
|
|
43
|
+
this.db?.get(selectQuery, {
|
|
32
44
|
$name: documentName,
|
|
33
|
-
}, (error,
|
|
45
|
+
}, (error, row) => {
|
|
34
46
|
if (error) {
|
|
35
47
|
reject(error)
|
|
36
48
|
}
|
|
37
49
|
|
|
38
|
-
resolve(
|
|
50
|
+
resolve(row?.data)
|
|
39
51
|
})
|
|
40
52
|
})
|
|
41
53
|
},
|
|
42
|
-
|
|
43
|
-
this.db?.run(
|
|
54
|
+
store: async ({ documentName, state }) => {
|
|
55
|
+
this.db?.run(upsertQuery, {
|
|
44
56
|
$name: documentName,
|
|
45
|
-
$data:
|
|
57
|
+
$data: state,
|
|
46
58
|
})
|
|
47
59
|
},
|
|
48
60
|
}
|
|
49
61
|
|
|
50
|
-
/**
|
|
51
|
-
* Constructor
|
|
52
|
-
*/
|
|
53
62
|
constructor(configuration?: Partial<SQLiteConfiguration>) {
|
|
54
63
|
super({})
|
|
55
64
|
|
|
@@ -59,14 +68,13 @@ export class SQLite extends Database {
|
|
|
59
68
|
}
|
|
60
69
|
}
|
|
61
70
|
|
|
62
|
-
async onListen() {
|
|
63
|
-
console.warn(` ${chalk.yellow('The SQLite extension is intended to be used in a local development environment, not in a production environment.')}`)
|
|
64
|
-
console.log()
|
|
65
|
-
}
|
|
66
|
-
|
|
67
71
|
async onConfigure() {
|
|
68
72
|
this.db = new sqlite3.Database(this.configuration.database)
|
|
69
|
-
|
|
70
73
|
this.db.run(this.configuration.schema)
|
|
71
74
|
}
|
|
75
|
+
|
|
76
|
+
async onListen() {
|
|
77
|
+
console.warn(` ${kleur.yellow('The SQLite extension is intended to be used in a local development environment, not in a production environment.')}`)
|
|
78
|
+
console.log()
|
|
79
|
+
}
|
|
72
80
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as awarenessStatesToArray } from './awarenessStatesToArray';
|