document-drive 4.0.1 → 4.1.0-dev.2
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/prisma/schema.prisma +1 -2
- package/dist/src/drive-document-model/gen/document-model.js +3 -3
- package/dist/src/drive-document-model/gen/document-model.js.map +1 -1
- package/dist/src/drive-document-model/gen/drive/actions.d.ts +9 -9
- package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/actions.d.ts +8 -8
- package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.d.ts +6 -2
- package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.js +8 -1
- package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
- package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/reducer.js.map +1 -1
- package/dist/src/drive-document-model/gen/schema/types.d.ts +1 -14
- package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts +1 -5
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.js +0 -12
- package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
- package/dist/src/drive-document-model/gen/types.d.ts +13 -4
- package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/types.js.map +1 -1
- package/dist/src/drive-document-model/module.d.ts +2 -1
- package/dist/src/drive-document-model/module.d.ts.map +1 -1
- package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
- package/dist/src/drive-document-model/src/reducers/node.js +1 -25
- package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
- package/dist/src/drive-document-model/src/tests/actions.test.js +1 -23
- package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
- package/dist/src/drive-document-model/src/tests/base.test.js +0 -32
- package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
- package/dist/src/drive-document-model/src/tests/utils.test.js +7 -37
- package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
- package/dist/src/drive-document-model/src/utils.d.ts +2 -8
- package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
- package/dist/src/drive-document-model/src/utils.js +6 -55
- package/dist/src/drive-document-model/src/utils.js.map +1 -1
- package/dist/src/processors/types.d.ts +2 -1
- package/dist/src/processors/types.d.ts.map +1 -1
- package/dist/src/queue/base.d.ts +6 -27
- package/dist/src/queue/base.d.ts.map +1 -1
- package/dist/src/queue/base.js +15 -203
- package/dist/src/queue/base.js.map +1 -1
- package/dist/src/queue/event.d.ts +41 -0
- package/dist/src/queue/event.d.ts.map +1 -0
- package/dist/src/queue/event.js +222 -0
- package/dist/src/queue/event.js.map +1 -0
- package/dist/src/queue/redis.d.ts +1 -27
- package/dist/src/queue/redis.d.ts.map +1 -1
- package/dist/src/queue/redis.js +122 -110
- package/dist/src/queue/redis.js.map +1 -1
- package/dist/src/queue/types.d.ts +18 -12
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js +3 -0
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/server/base-server.d.ts +87 -11
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +549 -250
- package/dist/src/server/base-server.js.map +1 -1
- package/dist/src/server/builder.js +2 -2
- package/dist/src/server/builder.js.map +1 -1
- package/dist/src/server/error.d.ts +3 -3
- package/dist/src/server/error.d.ts.map +1 -1
- package/dist/src/server/error.js +2 -2
- package/dist/src/server/error.js.map +1 -1
- package/dist/src/server/listener/listener-manager.d.ts +5 -6
- package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
- package/dist/src/server/listener/listener-manager.js +62 -79
- package/dist/src/server/listener/listener-manager.js.map +1 -1
- package/dist/src/server/listener/transmitter/internal.d.ts +3 -3
- package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/internal.js +18 -13
- package/dist/src/server/listener/transmitter/internal.js.map +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.js +14 -8
- package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
- package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/switchboard-push.js +13 -8
- package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
- package/dist/src/server/sync-manager.d.ts +8 -10
- package/dist/src/server/sync-manager.d.ts.map +1 -1
- package/dist/src/server/sync-manager.js +62 -147
- package/dist/src/server/sync-manager.js.map +1 -1
- package/dist/src/server/sync-unit-map.d.ts +137 -0
- package/dist/src/server/sync-unit-map.d.ts.map +1 -0
- package/dist/src/server/sync-unit-map.js +234 -0
- package/dist/src/server/sync-unit-map.js.map +1 -0
- package/dist/src/server/types.d.ts +116 -33
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/server/types.js.map +1 -1
- package/dist/src/server/utils.d.ts +10 -1
- package/dist/src/server/utils.d.ts.map +1 -1
- package/dist/src/server/utils.js +44 -1
- package/dist/src/server/utils.js.map +1 -1
- package/dist/src/storage/browser.d.ts +7 -2
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +80 -22
- package/dist/src/storage/browser.js.map +1 -1
- package/dist/src/storage/filesystem.d.ts +7 -2
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +79 -22
- package/dist/src/storage/filesystem.js.map +1 -1
- package/dist/src/storage/memory.d.ts +7 -2
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +76 -22
- package/dist/src/storage/memory.js.map +1 -1
- package/dist/src/storage/prisma/client/edge.js +5 -4
- package/dist/src/storage/prisma/client/index-browser.js +2 -1
- package/dist/src/storage/prisma/client/index.d.ts +58 -249
- package/dist/src/storage/prisma/client/index.js +5 -4
- package/dist/src/storage/prisma/client/package.json +1 -1
- package/dist/src/storage/prisma/client/schema.prisma +2 -3
- package/dist/src/storage/prisma/client/wasm.js +2 -1
- package/dist/src/storage/prisma/prisma.d.ts +9 -4
- package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
- package/dist/src/storage/prisma/prisma.js +119 -51
- package/dist/src/storage/prisma/prisma.js.map +1 -1
- package/dist/src/storage/types.d.ts +43 -4
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/src/storage/utils.d.ts +3 -0
- package/dist/src/storage/utils.d.ts.map +1 -1
- package/dist/src/storage/utils.js +14 -0
- package/dist/src/storage/utils.js.map +1 -1
- package/dist/src/utils/gql-transformations.d.ts +14 -5
- package/dist/src/utils/gql-transformations.d.ts.map +1 -1
- package/dist/src/utils/gql-transformations.js +1 -0
- package/dist/src/utils/gql-transformations.js.map +1 -1
- package/dist/src/utils/migrations.d.ts.map +1 -1
- package/dist/src/utils/migrations.js.map +1 -1
- package/dist/src/utils/misc.d.ts +2 -0
- package/dist/src/utils/misc.d.ts.map +1 -1
- package/dist/src/utils/misc.js +4 -0
- package/dist/src/utils/misc.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +4 -4
- package/dist/test/cache.test.d.ts +0 -2
- package/dist/test/cache.test.d.ts.map +0 -1
- package/dist/test/cache.test.js +0 -281
- package/dist/test/cache.test.js.map +0 -1
- package/dist/test/default-remote-drives.test.d.ts +0 -2
- package/dist/test/default-remote-drives.test.d.ts.map +0 -1
- package/dist/test/default-remote-drives.test.js +0 -446
- package/dist/test/default-remote-drives.test.js.map +0 -1
- package/dist/test/document-helpers/addUndo.test.d.ts +0 -2
- package/dist/test/document-helpers/addUndo.test.d.ts.map +0 -1
- package/dist/test/document-helpers/addUndo.test.js +0 -120
- package/dist/test/document-helpers/addUndo.test.js.map +0 -1
- package/dist/test/document-helpers/attachBranch.test.d.ts +0 -2
- package/dist/test/document-helpers/attachBranch.test.d.ts.map +0 -1
- package/dist/test/document-helpers/attachBranch.test.js +0 -333
- package/dist/test/document-helpers/attachBranch.test.js.map +0 -1
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -2
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +0 -1
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +0 -252
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +0 -1
- package/dist/test/document-helpers/garbageCollect.test.d.ts +0 -2
- package/dist/test/document-helpers/garbageCollect.test.d.ts.map +0 -1
- package/dist/test/document-helpers/garbageCollect.test.js +0 -136
- package/dist/test/document-helpers/garbageCollect.test.js.map +0 -1
- package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +0 -2
- package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +0 -1
- package/dist/test/document-helpers/groupOperationsByScope.test.js +0 -98
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +0 -1
- package/dist/test/document-helpers/merge.test.d.ts +0 -2
- package/dist/test/document-helpers/merge.test.d.ts.map +0 -1
- package/dist/test/document-helpers/merge.test.js +0 -757
- package/dist/test/document-helpers/merge.test.js.map +0 -1
- package/dist/test/document-helpers/nextSkipNumber.test.d.ts +0 -2
- package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +0 -1
- package/dist/test/document-helpers/nextSkipNumber.test.js +0 -123
- package/dist/test/document-helpers/nextSkipNumber.test.js.map +0 -1
- package/dist/test/document-helpers/prepareOperations.test.d.ts +0 -2
- package/dist/test/document-helpers/prepareOperations.test.d.ts.map +0 -1
- package/dist/test/document-helpers/prepareOperations.test.js +0 -304
- package/dist/test/document-helpers/prepareOperations.test.js.map +0 -1
- package/dist/test/document-helpers/removeExistingOperations.test.d.ts +0 -2
- package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +0 -1
- package/dist/test/document-helpers/removeExistingOperations.test.js +0 -150
- package/dist/test/document-helpers/removeExistingOperations.test.js.map +0 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -2
- package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +0 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +0 -148
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +0 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -2
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +0 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +0 -200
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +0 -1
- package/dist/test/document-helpers/sortOperations.test.d.ts +0 -2
- package/dist/test/document-helpers/sortOperations.test.d.ts.map +0 -1
- package/dist/test/document-helpers/sortOperations.test.js +0 -101
- package/dist/test/document-helpers/sortOperations.test.js.map +0 -1
- package/dist/test/document-helpers/split.test.d.ts +0 -2
- package/dist/test/document-helpers/split.test.d.ts.map +0 -1
- package/dist/test/document-helpers/split.test.js +0 -121
- package/dist/test/document-helpers/split.test.js.map +0 -1
- package/dist/test/document-helpers/utils.d.ts +0 -8
- package/dist/test/document-helpers/utils.d.ts.map +0 -1
- package/dist/test/document-helpers/utils.js +0 -22
- package/dist/test/document-helpers/utils.js.map +0 -1
- package/dist/test/drive-operations.test.d.ts +0 -2
- package/dist/test/drive-operations.test.d.ts.map +0 -1
- package/dist/test/drive-operations.test.js +0 -145
- package/dist/test/drive-operations.test.js.map +0 -1
- package/dist/test/graphql.test.d.ts +0 -2
- package/dist/test/graphql.test.d.ts.map +0 -1
- package/dist/test/graphql.test.js +0 -10
- package/dist/test/graphql.test.js.map +0 -1
- package/dist/test/internal-listener.test.d.ts +0 -2
- package/dist/test/internal-listener.test.d.ts.map +0 -1
- package/dist/test/internal-listener.test.js +0 -277
- package/dist/test/internal-listener.test.js.map +0 -1
- package/dist/test/queue.test.d.ts +0 -2
- package/dist/test/queue.test.d.ts.map +0 -1
- package/dist/test/queue.test.js +0 -338
- package/dist/test/queue.test.js.map +0 -1
- package/dist/test/read-mode.test.d.ts +0 -2
- package/dist/test/read-mode.test.d.ts.map +0 -1
- package/dist/test/read-mode.test.js +0 -578
- package/dist/test/read-mode.test.js.map +0 -1
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
- package/dist/test/server/driveOperationsConflictResolution.test.js +0 -460
- package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
- package/dist/test/server/mergeOperations.test.d.ts +0 -2
- package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
- package/dist/test/server/mergeOperations.test.js +0 -107
- package/dist/test/server/mergeOperations.test.js.map +0 -1
- package/dist/test/server/processOperations.test.d.ts +0 -2
- package/dist/test/server/processOperations.test.d.ts.map +0 -1
- package/dist/test/server/processOperations.test.js +0 -380
- package/dist/test/server/processOperations.test.js.map +0 -1
- package/dist/test/server.test.d.ts +0 -2
- package/dist/test/server.test.d.ts.map +0 -1
- package/dist/test/server.test.js +0 -899
- package/dist/test/server.test.js.map +0 -1
- package/dist/test/signature-migration.test.d.ts +0 -2
- package/dist/test/signature-migration.test.d.ts.map +0 -1
- package/dist/test/signature-migration.test.js +0 -239
- package/dist/test/signature-migration.test.js.map +0 -1
- package/dist/test/storage.test.d.ts +0 -2
- package/dist/test/storage.test.d.ts.map +0 -1
- package/dist/test/storage.test.js +0 -523
- package/dist/test/storage.test.js.map +0 -1
- package/dist/test/utils.d.ts +0 -48
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -133
- package/dist/test/utils.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -89
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/vitest-setup.d.ts +0 -2
- package/dist/test/vitest-setup.d.ts.map +0 -1
- package/dist/test/vitest-setup.js +0 -5
- package/dist/test/vitest-setup.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -27
- package/dist/vitest.config.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "document-drive",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.1.0-dev.2",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"sqlite3": "^5.1.7",
|
|
49
49
|
"uuid": "^11.0.5",
|
|
50
50
|
"zod": "^3.24.3",
|
|
51
|
-
"@powerhousedao/
|
|
52
|
-
"@powerhousedao/
|
|
53
|
-
"document-model": "4.0.
|
|
51
|
+
"@powerhousedao/codegen": "4.1.0-dev.2",
|
|
52
|
+
"@powerhousedao/config": "4.1.0-dev.2",
|
|
53
|
+
"document-model": "4.1.0-dev.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@powerhousedao/analytics-engine-core": "^0.5.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.test.d.ts","sourceRoot":"","sources":["../../test/cache.test.ts"],"names":[],"mappings":""}
|
package/dist/test/cache.test.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
import sizeof from "object-sizeof";
|
|
2
|
-
import { createClient } from "redis";
|
|
3
|
-
import { beforeEach, describe, it } from "vitest";
|
|
4
|
-
import { createDocument as createDocumentModelDocument, generateId, } from "../../document-model/index.js";
|
|
5
|
-
import { LRUCacheStorage } from "../src/cache/lru.js";
|
|
6
|
-
import InMemoryCache from "../src/cache/memory.js";
|
|
7
|
-
import { createDocument as createDriveDocument } from "../src/drive-document-model/gen/utils.js";
|
|
8
|
-
const initRedis = async () => {
|
|
9
|
-
const redisClient = createClient({
|
|
10
|
-
url: process.env.REDIS_TLS_URL ?? "redis://localhost:6379",
|
|
11
|
-
});
|
|
12
|
-
redisClient.on("error", (err) => {
|
|
13
|
-
console.log("Redis Client Error", err);
|
|
14
|
-
throw new Error("Redis Client Error");
|
|
15
|
-
});
|
|
16
|
-
redisClient.connect();
|
|
17
|
-
return redisClient;
|
|
18
|
-
};
|
|
19
|
-
// Array of cache implementations to test
|
|
20
|
-
const cacheImplementations = [
|
|
21
|
-
["InMemoryCache", () => Promise.resolve(new InMemoryCache())],
|
|
22
|
-
[
|
|
23
|
-
"InMemoryCache with LRU with 512KB maxSize",
|
|
24
|
-
() => Promise.resolve(new InMemoryCache(new LRUCacheStorage({ maxSize: 512000 }))),
|
|
25
|
-
],
|
|
26
|
-
// [
|
|
27
|
-
// "RedisCache",
|
|
28
|
-
// async () => {
|
|
29
|
-
// const client = await initRedis();
|
|
30
|
-
// // Clear the test keys
|
|
31
|
-
// await client.flushDb();
|
|
32
|
-
// // Use type assertion to handle Redis client type compatibility
|
|
33
|
-
// return new RedisCache(client as any);
|
|
34
|
-
// },
|
|
35
|
-
// ],
|
|
36
|
-
];
|
|
37
|
-
describe.each(cacheImplementations)("%s", (_, buildCache) => {
|
|
38
|
-
let cache;
|
|
39
|
-
beforeEach(async () => {
|
|
40
|
-
cache = await buildCache();
|
|
41
|
-
});
|
|
42
|
-
// Document tests
|
|
43
|
-
describe("document operations", () => {
|
|
44
|
-
it("should set and get a document", async ({ expect }) => {
|
|
45
|
-
const documentId = "test-document-id";
|
|
46
|
-
const document = createDocumentModelDocument();
|
|
47
|
-
await cache.setDocument(documentId, document);
|
|
48
|
-
const retrievedDocument = await cache.getDocument(documentId);
|
|
49
|
-
expect(retrievedDocument).toBeDefined();
|
|
50
|
-
expect(retrievedDocument?.header.documentType).toBe(document.header.documentType);
|
|
51
|
-
});
|
|
52
|
-
it("should return undefined when getting a non-existent document", async ({ expect, }) => {
|
|
53
|
-
const documentId = "non-existent-document";
|
|
54
|
-
const retrievedDocument = await cache.getDocument(documentId);
|
|
55
|
-
expect(retrievedDocument).toBeUndefined();
|
|
56
|
-
});
|
|
57
|
-
it("should delete a document", async ({ expect }) => {
|
|
58
|
-
const documentId = "document-to-delete";
|
|
59
|
-
const document = createDocumentModelDocument();
|
|
60
|
-
await cache.setDocument(documentId, document);
|
|
61
|
-
const deletionResult = await cache.deleteDocument(documentId);
|
|
62
|
-
const retrievedDocument = await cache.getDocument(documentId);
|
|
63
|
-
expect(deletionResult).toBe(true);
|
|
64
|
-
expect(retrievedDocument).toBeUndefined();
|
|
65
|
-
});
|
|
66
|
-
it("should return false when deleting a non-existent document", async ({ expect, }) => {
|
|
67
|
-
const documentId = "non-existent-document";
|
|
68
|
-
const deletionResult = await cache.deleteDocument(documentId);
|
|
69
|
-
expect(deletionResult).toBe(false);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
// Drive tests
|
|
73
|
-
describe("drive operations", () => {
|
|
74
|
-
it("should set and get a drive", async ({ expect }) => {
|
|
75
|
-
const driveId = "test-drive-id";
|
|
76
|
-
const drive = createDriveDocument();
|
|
77
|
-
await cache.setDrive(driveId, drive);
|
|
78
|
-
const retrievedDrive = await cache.getDrive(driveId);
|
|
79
|
-
expect(retrievedDrive).toBeDefined();
|
|
80
|
-
expect(retrievedDrive?.header.documentType).toBe(drive.header.documentType);
|
|
81
|
-
});
|
|
82
|
-
it("should return undefined when getting a non-existent drive", async ({ expect, }) => {
|
|
83
|
-
const driveId = "non-existent-drive";
|
|
84
|
-
const retrievedDrive = await cache.getDrive(driveId);
|
|
85
|
-
expect(retrievedDrive).toBeUndefined();
|
|
86
|
-
});
|
|
87
|
-
it("should delete a drive", async ({ expect }) => {
|
|
88
|
-
const drive = createDriveDocument();
|
|
89
|
-
const driveId = drive.header.id;
|
|
90
|
-
// Set slug for slug deletion logic
|
|
91
|
-
drive.header.slug = "test-slug";
|
|
92
|
-
await cache.setDrive(driveId, drive);
|
|
93
|
-
const deletionResult = await cache.deleteDrive(driveId);
|
|
94
|
-
const retrievedDrive = await cache.getDrive(driveId);
|
|
95
|
-
expect(deletionResult).toBe(true);
|
|
96
|
-
expect(retrievedDrive).toBeUndefined();
|
|
97
|
-
});
|
|
98
|
-
it("should return false when deleting a non-existent drive", async ({ expect, }) => {
|
|
99
|
-
const driveId = generateId();
|
|
100
|
-
const deletionResult = await cache.deleteDrive(driveId);
|
|
101
|
-
expect(deletionResult).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
// Drive by slug tests
|
|
105
|
-
describe("drive by slug operations", () => {
|
|
106
|
-
it("should set and get a drive by slug", async ({ expect }) => {
|
|
107
|
-
const slug = "test-slug";
|
|
108
|
-
const drive = createDriveDocument();
|
|
109
|
-
const driveId = drive.header.id;
|
|
110
|
-
drive.header.id = driveId;
|
|
111
|
-
drive.header.slug = slug;
|
|
112
|
-
await cache.setDriveBySlug(slug, drive);
|
|
113
|
-
const retrievedDrive = await cache.getDriveBySlug(slug);
|
|
114
|
-
expect(retrievedDrive).toBeDefined();
|
|
115
|
-
expect(retrievedDrive?.header.id).toBe(driveId);
|
|
116
|
-
expect(retrievedDrive?.header.slug).toBe(slug);
|
|
117
|
-
});
|
|
118
|
-
it("should return undefined when getting a non-existent drive by slug", async ({ expect, }) => {
|
|
119
|
-
const slug = "non-existent-slug";
|
|
120
|
-
const retrievedDrive = await cache.getDriveBySlug(slug);
|
|
121
|
-
expect(retrievedDrive).toBeUndefined();
|
|
122
|
-
});
|
|
123
|
-
it("should delete a drive by slug", async ({ expect }) => {
|
|
124
|
-
const slug = "slug-to-delete";
|
|
125
|
-
const drive = createDriveDocument();
|
|
126
|
-
drive.header.slug = slug;
|
|
127
|
-
await cache.setDriveBySlug(slug, drive);
|
|
128
|
-
const deletionResult = await cache.deleteDriveBySlug(slug);
|
|
129
|
-
const retrievedDrive = await cache.getDriveBySlug(slug);
|
|
130
|
-
expect(deletionResult).toBe(true);
|
|
131
|
-
expect(retrievedDrive).toBeUndefined();
|
|
132
|
-
});
|
|
133
|
-
it("should return false when deleting a non-existent drive by slug", async ({ expect, }) => {
|
|
134
|
-
const slug = "non-existent-slug";
|
|
135
|
-
const deletionResult = await cache.deleteDriveBySlug(slug);
|
|
136
|
-
expect(deletionResult).toBe(false);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
// Cross-referencing tests
|
|
140
|
-
describe("cross-referencing", () => {
|
|
141
|
-
it("should retrieve the same drive via ID after setting by slug", async ({ expect, }) => {
|
|
142
|
-
const slug = "test-slug";
|
|
143
|
-
const drive = createDriveDocument();
|
|
144
|
-
const driveId = drive.header.id;
|
|
145
|
-
// Set slug for consistency
|
|
146
|
-
drive.header.slug = slug;
|
|
147
|
-
await cache.setDriveBySlug(slug, drive);
|
|
148
|
-
const retrievedDriveBySlug = await cache.getDriveBySlug(slug);
|
|
149
|
-
const retrievedDriveById = await cache.getDrive(driveId);
|
|
150
|
-
expect(retrievedDriveBySlug).toBeDefined();
|
|
151
|
-
expect(retrievedDriveById).toBeDefined();
|
|
152
|
-
expect(retrievedDriveById?.header.id).toBe(driveId);
|
|
153
|
-
expect(retrievedDriveById?.header.slug).toBe(slug);
|
|
154
|
-
expect(retrievedDriveBySlug?.header.id).toBe(retrievedDriveById?.header.id);
|
|
155
|
-
});
|
|
156
|
-
it("should make drive inaccessible by slug after deleting by ID", async ({ expect, }) => {
|
|
157
|
-
const slug = "test-slug";
|
|
158
|
-
const drive = createDriveDocument();
|
|
159
|
-
const driveId = drive.header.id;
|
|
160
|
-
// Set slug for slug deletion logic
|
|
161
|
-
drive.header.slug = slug;
|
|
162
|
-
await cache.setDriveBySlug(slug, drive);
|
|
163
|
-
await cache.deleteDrive(driveId);
|
|
164
|
-
const retrievedDriveBySlug = await cache.getDriveBySlug(slug);
|
|
165
|
-
expect(retrievedDriveBySlug).toBeUndefined();
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
describe("collisions", () => {
|
|
169
|
-
it("(OBSOLETE) should allow document and drives with the same id without colliding", async ({ expect, }) => {
|
|
170
|
-
const documentId = generateId();
|
|
171
|
-
const driveId = documentId;
|
|
172
|
-
const document = createDocumentModelDocument();
|
|
173
|
-
document.header.id = documentId;
|
|
174
|
-
const drive = createDriveDocument();
|
|
175
|
-
drive.header.id = driveId;
|
|
176
|
-
await cache.setDocument(documentId, document);
|
|
177
|
-
await cache.setDrive(driveId, drive);
|
|
178
|
-
const retrievedDocument = await cache.getDocument(documentId);
|
|
179
|
-
const retrievedDrive = await cache.getDrive(driveId);
|
|
180
|
-
expect(retrievedDocument).toBeDefined();
|
|
181
|
-
expect(retrievedDrive).toBeDefined();
|
|
182
|
-
expect(retrievedDocument?.header.documentType).toBe(document.header.documentType);
|
|
183
|
-
expect(retrievedDrive?.header.documentType).toBe(drive.header.documentType);
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
// Test specifically for LRU cache behavior
|
|
188
|
-
describe("LRU Cache Specific Tests", () => {
|
|
189
|
-
// Helper functions for test data
|
|
190
|
-
function createTestDocument() {
|
|
191
|
-
return createDocumentModelDocument({
|
|
192
|
-
state: {
|
|
193
|
-
global: {
|
|
194
|
-
id: `doc`,
|
|
195
|
-
name: `Document`,
|
|
196
|
-
author: { name: "author", website: "url" },
|
|
197
|
-
description: "x".repeat(100),
|
|
198
|
-
extension: "md",
|
|
199
|
-
specifications: [],
|
|
200
|
-
},
|
|
201
|
-
local: {},
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
function createTestDrive() {
|
|
206
|
-
const drive = createDriveDocument();
|
|
207
|
-
drive.state.global.nodes = new Array(10).fill(0).map((_, i) => ({
|
|
208
|
-
id: `node-${i}`,
|
|
209
|
-
name: `Node ${i}`,
|
|
210
|
-
kind: "FILE",
|
|
211
|
-
parentFolder: null,
|
|
212
|
-
}));
|
|
213
|
-
return drive;
|
|
214
|
-
}
|
|
215
|
-
const testDocSize = sizeof(createTestDocument());
|
|
216
|
-
it("should evict older documents when size limit is reached", async ({ expect, }) => {
|
|
217
|
-
// Create a small LRU cache with size for a single document
|
|
218
|
-
const cache = new InMemoryCache(new LRUCacheStorage({ maxSize: testDocSize }));
|
|
219
|
-
const doc = createTestDocument();
|
|
220
|
-
await cache.setDocument(`doc-1`, doc);
|
|
221
|
-
await cache.setDocument(`doc-2`, doc);
|
|
222
|
-
// The earliest documents should have been evicted
|
|
223
|
-
const firstDoc = await cache.getDocument("doc-1");
|
|
224
|
-
const lastDoc = await cache.getDocument("doc-2");
|
|
225
|
-
expect(firstDoc).toBeUndefined(); // Should be evicted
|
|
226
|
-
expect(lastDoc).toBeDefined(); // Should still be in cache
|
|
227
|
-
});
|
|
228
|
-
it("should keep most recently accessed documents in cache", async ({ expect, }) => {
|
|
229
|
-
// Create cache that can hold 2 documents
|
|
230
|
-
const cache = new InMemoryCache(new LRUCacheStorage({ maxSize: testDocSize * 2 }));
|
|
231
|
-
const doc = createTestDocument();
|
|
232
|
-
// Add 3 documents
|
|
233
|
-
await cache.setDocument(`doc-1`, doc);
|
|
234
|
-
await cache.setDocument(`doc-2`, doc);
|
|
235
|
-
// Access doc-1 to make it most recently used
|
|
236
|
-
await cache.getDocument(`doc-1`);
|
|
237
|
-
// Add doc-3 which should evict doc-2 since doc-1 was recently accessed
|
|
238
|
-
await cache.setDocument(`doc-3`, doc);
|
|
239
|
-
const doc1 = await cache.getDocument("doc-1");
|
|
240
|
-
const doc2 = await cache.getDocument("doc-2");
|
|
241
|
-
const doc3 = await cache.getDocument("doc-3");
|
|
242
|
-
expect(doc1).toBeDefined(); // Should remain as it was most recently accessed
|
|
243
|
-
expect(doc2).toBeUndefined(); // Should be evicted
|
|
244
|
-
expect(doc3).toBeDefined(); // Should be present as it was just added
|
|
245
|
-
});
|
|
246
|
-
it("should handle document updates without unnecessary eviction", async ({ expect, }) => {
|
|
247
|
-
// Create cache that can hold 2 documents
|
|
248
|
-
const cache = new InMemoryCache(new LRUCacheStorage({ maxSize: testDocSize * 2 }));
|
|
249
|
-
const doc = createTestDocument();
|
|
250
|
-
// Add 2 documents filling the cache
|
|
251
|
-
await cache.setDocument(`doc-1`, doc);
|
|
252
|
-
await cache.setDocument(`doc-2`, doc);
|
|
253
|
-
// Update doc-1 with similar sized content
|
|
254
|
-
const updatedDoc = JSON.parse(JSON.stringify(doc));
|
|
255
|
-
updatedDoc.state.global.description = "y".repeat(100);
|
|
256
|
-
await cache.setDocument(`doc-1`, updatedDoc);
|
|
257
|
-
const doc1 = await cache.getDocument("doc-1");
|
|
258
|
-
const doc2 = await cache.getDocument("doc-2");
|
|
259
|
-
expect(doc1).toBeDefined();
|
|
260
|
-
expect((doc1?.state.global).description).toBe("y".repeat(100));
|
|
261
|
-
expect(doc2).toBeDefined(); // Should not be evicted as cache size wasn't exceeded
|
|
262
|
-
});
|
|
263
|
-
it("should maintain size limit with multiple document types", async ({ expect, }) => {
|
|
264
|
-
const doc = createTestDocument();
|
|
265
|
-
const drive = createTestDrive();
|
|
266
|
-
const totalSize = sizeof(doc) + sizeof(drive);
|
|
267
|
-
// Create cache that can hold one document and one drive
|
|
268
|
-
const cache = new InMemoryCache(new LRUCacheStorage({ maxSize: totalSize }));
|
|
269
|
-
await cache.setDocument(`doc-1`, doc);
|
|
270
|
-
await cache.setDrive(`drive-1`, drive);
|
|
271
|
-
// Adding another document should evict the first document
|
|
272
|
-
await cache.setDocument(`doc-2`, doc);
|
|
273
|
-
const doc1 = await cache.getDocument("doc-1");
|
|
274
|
-
const doc2 = await cache.getDocument("doc-2");
|
|
275
|
-
const drive1 = await cache.getDrive("drive-1");
|
|
276
|
-
expect(doc1).toBeUndefined(); // Should be evicted
|
|
277
|
-
expect(doc2).toBeDefined(); // Should be present
|
|
278
|
-
expect(drive1).toBeDefined(); // Should be present as it's in a different storage
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
//# sourceMappingURL=cache.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../../test/cache.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-remote-drives.test.d.ts","sourceRoot":"","sources":["../../test/default-remote-drives.test.ts"],"names":[],"mappings":""}
|