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.
Files changed (264) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/prisma/schema.prisma +1 -2
  6. package/dist/src/drive-document-model/gen/document-model.js +3 -3
  7. package/dist/src/drive-document-model/gen/document-model.js.map +1 -1
  8. package/dist/src/drive-document-model/gen/drive/actions.d.ts +9 -9
  9. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -1
  10. package/dist/src/drive-document-model/gen/node/actions.d.ts +8 -8
  11. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -1
  12. package/dist/src/drive-document-model/gen/node/creators.d.ts +6 -2
  13. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
  14. package/dist/src/drive-document-model/gen/node/creators.js +8 -1
  15. package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
  16. package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -1
  17. package/dist/src/drive-document-model/gen/reducer.js.map +1 -1
  18. package/dist/src/drive-document-model/gen/schema/types.d.ts +1 -14
  19. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
  20. package/dist/src/drive-document-model/gen/schema/zod.d.ts +1 -5
  21. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
  22. package/dist/src/drive-document-model/gen/schema/zod.js +0 -12
  23. package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
  24. package/dist/src/drive-document-model/gen/types.d.ts +13 -4
  25. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
  26. package/dist/src/drive-document-model/gen/types.js.map +1 -1
  27. package/dist/src/drive-document-model/module.d.ts +2 -1
  28. package/dist/src/drive-document-model/module.d.ts.map +1 -1
  29. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
  30. package/dist/src/drive-document-model/src/reducers/node.js +1 -25
  31. package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
  32. package/dist/src/drive-document-model/src/tests/actions.test.js +1 -23
  33. package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
  34. package/dist/src/drive-document-model/src/tests/base.test.js +0 -32
  35. package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
  36. package/dist/src/drive-document-model/src/tests/utils.test.js +7 -37
  37. package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
  38. package/dist/src/drive-document-model/src/utils.d.ts +2 -8
  39. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
  40. package/dist/src/drive-document-model/src/utils.js +6 -55
  41. package/dist/src/drive-document-model/src/utils.js.map +1 -1
  42. package/dist/src/processors/types.d.ts +2 -1
  43. package/dist/src/processors/types.d.ts.map +1 -1
  44. package/dist/src/queue/base.d.ts +6 -27
  45. package/dist/src/queue/base.d.ts.map +1 -1
  46. package/dist/src/queue/base.js +15 -203
  47. package/dist/src/queue/base.js.map +1 -1
  48. package/dist/src/queue/event.d.ts +41 -0
  49. package/dist/src/queue/event.d.ts.map +1 -0
  50. package/dist/src/queue/event.js +222 -0
  51. package/dist/src/queue/event.js.map +1 -0
  52. package/dist/src/queue/redis.d.ts +1 -27
  53. package/dist/src/queue/redis.d.ts.map +1 -1
  54. package/dist/src/queue/redis.js +122 -110
  55. package/dist/src/queue/redis.js.map +1 -1
  56. package/dist/src/queue/types.d.ts +18 -12
  57. package/dist/src/queue/types.d.ts.map +1 -1
  58. package/dist/src/queue/types.js +3 -0
  59. package/dist/src/queue/types.js.map +1 -1
  60. package/dist/src/server/base-server.d.ts +87 -11
  61. package/dist/src/server/base-server.d.ts.map +1 -1
  62. package/dist/src/server/base-server.js +549 -250
  63. package/dist/src/server/base-server.js.map +1 -1
  64. package/dist/src/server/builder.js +2 -2
  65. package/dist/src/server/builder.js.map +1 -1
  66. package/dist/src/server/error.d.ts +3 -3
  67. package/dist/src/server/error.d.ts.map +1 -1
  68. package/dist/src/server/error.js +2 -2
  69. package/dist/src/server/error.js.map +1 -1
  70. package/dist/src/server/listener/listener-manager.d.ts +5 -6
  71. package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
  72. package/dist/src/server/listener/listener-manager.js +62 -79
  73. package/dist/src/server/listener/listener-manager.js.map +1 -1
  74. package/dist/src/server/listener/transmitter/internal.d.ts +3 -3
  75. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  76. package/dist/src/server/listener/transmitter/internal.js +18 -13
  77. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  78. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  79. package/dist/src/server/listener/transmitter/pull-responder.js +14 -8
  80. package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
  81. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
  82. package/dist/src/server/listener/transmitter/switchboard-push.js +13 -8
  83. package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
  84. package/dist/src/server/sync-manager.d.ts +8 -10
  85. package/dist/src/server/sync-manager.d.ts.map +1 -1
  86. package/dist/src/server/sync-manager.js +62 -147
  87. package/dist/src/server/sync-manager.js.map +1 -1
  88. package/dist/src/server/sync-unit-map.d.ts +137 -0
  89. package/dist/src/server/sync-unit-map.d.ts.map +1 -0
  90. package/dist/src/server/sync-unit-map.js +234 -0
  91. package/dist/src/server/sync-unit-map.js.map +1 -0
  92. package/dist/src/server/types.d.ts +116 -33
  93. package/dist/src/server/types.d.ts.map +1 -1
  94. package/dist/src/server/types.js.map +1 -1
  95. package/dist/src/server/utils.d.ts +10 -1
  96. package/dist/src/server/utils.d.ts.map +1 -1
  97. package/dist/src/server/utils.js +44 -1
  98. package/dist/src/server/utils.js.map +1 -1
  99. package/dist/src/storage/browser.d.ts +7 -2
  100. package/dist/src/storage/browser.d.ts.map +1 -1
  101. package/dist/src/storage/browser.js +80 -22
  102. package/dist/src/storage/browser.js.map +1 -1
  103. package/dist/src/storage/filesystem.d.ts +7 -2
  104. package/dist/src/storage/filesystem.d.ts.map +1 -1
  105. package/dist/src/storage/filesystem.js +79 -22
  106. package/dist/src/storage/filesystem.js.map +1 -1
  107. package/dist/src/storage/memory.d.ts +7 -2
  108. package/dist/src/storage/memory.d.ts.map +1 -1
  109. package/dist/src/storage/memory.js +76 -22
  110. package/dist/src/storage/memory.js.map +1 -1
  111. package/dist/src/storage/prisma/client/edge.js +5 -4
  112. package/dist/src/storage/prisma/client/index-browser.js +2 -1
  113. package/dist/src/storage/prisma/client/index.d.ts +58 -249
  114. package/dist/src/storage/prisma/client/index.js +5 -4
  115. package/dist/src/storage/prisma/client/package.json +1 -1
  116. package/dist/src/storage/prisma/client/schema.prisma +2 -3
  117. package/dist/src/storage/prisma/client/wasm.js +2 -1
  118. package/dist/src/storage/prisma/prisma.d.ts +9 -4
  119. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  120. package/dist/src/storage/prisma/prisma.js +119 -51
  121. package/dist/src/storage/prisma/prisma.js.map +1 -1
  122. package/dist/src/storage/types.d.ts +43 -4
  123. package/dist/src/storage/types.d.ts.map +1 -1
  124. package/dist/src/storage/utils.d.ts +3 -0
  125. package/dist/src/storage/utils.d.ts.map +1 -1
  126. package/dist/src/storage/utils.js +14 -0
  127. package/dist/src/storage/utils.js.map +1 -1
  128. package/dist/src/utils/gql-transformations.d.ts +14 -5
  129. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  130. package/dist/src/utils/gql-transformations.js +1 -0
  131. package/dist/src/utils/gql-transformations.js.map +1 -1
  132. package/dist/src/utils/migrations.d.ts.map +1 -1
  133. package/dist/src/utils/migrations.js.map +1 -1
  134. package/dist/src/utils/misc.d.ts +2 -0
  135. package/dist/src/utils/misc.d.ts.map +1 -1
  136. package/dist/src/utils/misc.js +4 -0
  137. package/dist/src/utils/misc.js.map +1 -1
  138. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  139. package/package.json +4 -4
  140. package/dist/test/cache.test.d.ts +0 -2
  141. package/dist/test/cache.test.d.ts.map +0 -1
  142. package/dist/test/cache.test.js +0 -281
  143. package/dist/test/cache.test.js.map +0 -1
  144. package/dist/test/default-remote-drives.test.d.ts +0 -2
  145. package/dist/test/default-remote-drives.test.d.ts.map +0 -1
  146. package/dist/test/default-remote-drives.test.js +0 -446
  147. package/dist/test/default-remote-drives.test.js.map +0 -1
  148. package/dist/test/document-helpers/addUndo.test.d.ts +0 -2
  149. package/dist/test/document-helpers/addUndo.test.d.ts.map +0 -1
  150. package/dist/test/document-helpers/addUndo.test.js +0 -120
  151. package/dist/test/document-helpers/addUndo.test.js.map +0 -1
  152. package/dist/test/document-helpers/attachBranch.test.d.ts +0 -2
  153. package/dist/test/document-helpers/attachBranch.test.d.ts.map +0 -1
  154. package/dist/test/document-helpers/attachBranch.test.js +0 -333
  155. package/dist/test/document-helpers/attachBranch.test.js.map +0 -1
  156. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -2
  157. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +0 -1
  158. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +0 -252
  159. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +0 -1
  160. package/dist/test/document-helpers/garbageCollect.test.d.ts +0 -2
  161. package/dist/test/document-helpers/garbageCollect.test.d.ts.map +0 -1
  162. package/dist/test/document-helpers/garbageCollect.test.js +0 -136
  163. package/dist/test/document-helpers/garbageCollect.test.js.map +0 -1
  164. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +0 -2
  165. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +0 -1
  166. package/dist/test/document-helpers/groupOperationsByScope.test.js +0 -98
  167. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +0 -1
  168. package/dist/test/document-helpers/merge.test.d.ts +0 -2
  169. package/dist/test/document-helpers/merge.test.d.ts.map +0 -1
  170. package/dist/test/document-helpers/merge.test.js +0 -757
  171. package/dist/test/document-helpers/merge.test.js.map +0 -1
  172. package/dist/test/document-helpers/nextSkipNumber.test.d.ts +0 -2
  173. package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +0 -1
  174. package/dist/test/document-helpers/nextSkipNumber.test.js +0 -123
  175. package/dist/test/document-helpers/nextSkipNumber.test.js.map +0 -1
  176. package/dist/test/document-helpers/prepareOperations.test.d.ts +0 -2
  177. package/dist/test/document-helpers/prepareOperations.test.d.ts.map +0 -1
  178. package/dist/test/document-helpers/prepareOperations.test.js +0 -304
  179. package/dist/test/document-helpers/prepareOperations.test.js.map +0 -1
  180. package/dist/test/document-helpers/removeExistingOperations.test.d.ts +0 -2
  181. package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +0 -1
  182. package/dist/test/document-helpers/removeExistingOperations.test.js +0 -150
  183. package/dist/test/document-helpers/removeExistingOperations.test.js.map +0 -1
  184. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -2
  185. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +0 -1
  186. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +0 -148
  187. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +0 -1
  188. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -2
  189. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +0 -1
  190. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +0 -200
  191. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +0 -1
  192. package/dist/test/document-helpers/sortOperations.test.d.ts +0 -2
  193. package/dist/test/document-helpers/sortOperations.test.d.ts.map +0 -1
  194. package/dist/test/document-helpers/sortOperations.test.js +0 -101
  195. package/dist/test/document-helpers/sortOperations.test.js.map +0 -1
  196. package/dist/test/document-helpers/split.test.d.ts +0 -2
  197. package/dist/test/document-helpers/split.test.d.ts.map +0 -1
  198. package/dist/test/document-helpers/split.test.js +0 -121
  199. package/dist/test/document-helpers/split.test.js.map +0 -1
  200. package/dist/test/document-helpers/utils.d.ts +0 -8
  201. package/dist/test/document-helpers/utils.d.ts.map +0 -1
  202. package/dist/test/document-helpers/utils.js +0 -22
  203. package/dist/test/document-helpers/utils.js.map +0 -1
  204. package/dist/test/drive-operations.test.d.ts +0 -2
  205. package/dist/test/drive-operations.test.d.ts.map +0 -1
  206. package/dist/test/drive-operations.test.js +0 -145
  207. package/dist/test/drive-operations.test.js.map +0 -1
  208. package/dist/test/graphql.test.d.ts +0 -2
  209. package/dist/test/graphql.test.d.ts.map +0 -1
  210. package/dist/test/graphql.test.js +0 -10
  211. package/dist/test/graphql.test.js.map +0 -1
  212. package/dist/test/internal-listener.test.d.ts +0 -2
  213. package/dist/test/internal-listener.test.d.ts.map +0 -1
  214. package/dist/test/internal-listener.test.js +0 -277
  215. package/dist/test/internal-listener.test.js.map +0 -1
  216. package/dist/test/queue.test.d.ts +0 -2
  217. package/dist/test/queue.test.d.ts.map +0 -1
  218. package/dist/test/queue.test.js +0 -338
  219. package/dist/test/queue.test.js.map +0 -1
  220. package/dist/test/read-mode.test.d.ts +0 -2
  221. package/dist/test/read-mode.test.d.ts.map +0 -1
  222. package/dist/test/read-mode.test.js +0 -578
  223. package/dist/test/read-mode.test.js.map +0 -1
  224. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
  225. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
  226. package/dist/test/server/driveOperationsConflictResolution.test.js +0 -460
  227. package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
  228. package/dist/test/server/mergeOperations.test.d.ts +0 -2
  229. package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
  230. package/dist/test/server/mergeOperations.test.js +0 -107
  231. package/dist/test/server/mergeOperations.test.js.map +0 -1
  232. package/dist/test/server/processOperations.test.d.ts +0 -2
  233. package/dist/test/server/processOperations.test.d.ts.map +0 -1
  234. package/dist/test/server/processOperations.test.js +0 -380
  235. package/dist/test/server/processOperations.test.js.map +0 -1
  236. package/dist/test/server.test.d.ts +0 -2
  237. package/dist/test/server.test.d.ts.map +0 -1
  238. package/dist/test/server.test.js +0 -899
  239. package/dist/test/server.test.js.map +0 -1
  240. package/dist/test/signature-migration.test.d.ts +0 -2
  241. package/dist/test/signature-migration.test.d.ts.map +0 -1
  242. package/dist/test/signature-migration.test.js +0 -239
  243. package/dist/test/signature-migration.test.js.map +0 -1
  244. package/dist/test/storage.test.d.ts +0 -2
  245. package/dist/test/storage.test.d.ts.map +0 -1
  246. package/dist/test/storage.test.js +0 -523
  247. package/dist/test/storage.test.js.map +0 -1
  248. package/dist/test/utils.d.ts +0 -48
  249. package/dist/test/utils.d.ts.map +0 -1
  250. package/dist/test/utils.js +0 -133
  251. package/dist/test/utils.js.map +0 -1
  252. package/dist/test/utils.test.d.ts +0 -2
  253. package/dist/test/utils.test.d.ts.map +0 -1
  254. package/dist/test/utils.test.js +0 -89
  255. package/dist/test/utils.test.js.map +0 -1
  256. package/dist/test/vitest-setup.d.ts +0 -2
  257. package/dist/test/vitest-setup.d.ts.map +0 -1
  258. package/dist/test/vitest-setup.js +0 -5
  259. package/dist/test/vitest-setup.js.map +0 -1
  260. package/dist/tsconfig.tsbuildinfo +0 -1
  261. package/dist/vitest.config.d.ts +0 -3
  262. package/dist/vitest.config.d.ts.map +0 -1
  263. package/dist/vitest.config.js +0 -27
  264. 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.1",
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/config": "4.0.1",
52
- "@powerhousedao/codegen": "4.0.1",
53
- "document-model": "4.0.1"
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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cache.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.test.d.ts","sourceRoot":"","sources":["../../test/cache.test.ts"],"names":[],"mappings":""}
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=default-remote-drives.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-remote-drives.test.d.ts","sourceRoot":"","sources":["../../test/default-remote-drives.test.ts"],"names":[],"mappings":""}