document-drive 4.0.0-staging.6 → 4.0.1

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 (254) 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 +2 -1
  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/node/creators.d.ts +2 -6
  9. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
  10. package/dist/src/drive-document-model/gen/node/creators.js +1 -8
  11. package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
  12. package/dist/src/drive-document-model/gen/schema/types.d.ts +14 -1
  13. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
  14. package/dist/src/drive-document-model/gen/schema/zod.d.ts +5 -1
  15. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
  16. package/dist/src/drive-document-model/gen/schema/zod.js +12 -0
  17. package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
  18. package/dist/src/drive-document-model/gen/types.d.ts +4 -13
  19. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
  20. package/dist/src/drive-document-model/gen/types.js.map +1 -1
  21. package/dist/src/drive-document-model/module.d.ts +1 -2
  22. package/dist/src/drive-document-model/module.d.ts.map +1 -1
  23. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
  24. package/dist/src/drive-document-model/src/reducers/node.js +25 -1
  25. package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
  26. package/dist/src/drive-document-model/src/tests/actions.test.js +23 -1
  27. package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
  28. package/dist/src/drive-document-model/src/tests/base.test.js +32 -0
  29. package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
  30. package/dist/src/drive-document-model/src/tests/utils.test.js +37 -7
  31. package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
  32. package/dist/src/drive-document-model/src/utils.d.ts +8 -2
  33. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
  34. package/dist/src/drive-document-model/src/utils.js +55 -6
  35. package/dist/src/drive-document-model/src/utils.js.map +1 -1
  36. package/dist/src/queue/base.d.ts +27 -6
  37. package/dist/src/queue/base.d.ts.map +1 -1
  38. package/dist/src/queue/base.js +203 -15
  39. package/dist/src/queue/base.js.map +1 -1
  40. package/dist/src/queue/redis.d.ts +27 -1
  41. package/dist/src/queue/redis.d.ts.map +1 -1
  42. package/dist/src/queue/redis.js +110 -122
  43. package/dist/src/queue/redis.js.map +1 -1
  44. package/dist/src/queue/types.d.ts +12 -18
  45. package/dist/src/queue/types.d.ts.map +1 -1
  46. package/dist/src/queue/types.js +0 -3
  47. package/dist/src/queue/types.js.map +1 -1
  48. package/dist/src/server/base-server.d.ts +11 -87
  49. package/dist/src/server/base-server.d.ts.map +1 -1
  50. package/dist/src/server/base-server.js +250 -549
  51. package/dist/src/server/base-server.js.map +1 -1
  52. package/dist/src/server/builder.js +2 -2
  53. package/dist/src/server/builder.js.map +1 -1
  54. package/dist/src/server/error.d.ts +3 -3
  55. package/dist/src/server/error.d.ts.map +1 -1
  56. package/dist/src/server/error.js +2 -2
  57. package/dist/src/server/error.js.map +1 -1
  58. package/dist/src/server/listener/listener-manager.d.ts +6 -5
  59. package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
  60. package/dist/src/server/listener/listener-manager.js +79 -62
  61. package/dist/src/server/listener/listener-manager.js.map +1 -1
  62. package/dist/src/server/listener/transmitter/internal.d.ts +1 -1
  63. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  64. package/dist/src/server/listener/transmitter/internal.js +12 -14
  65. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  66. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  67. package/dist/src/server/listener/transmitter/pull-responder.js +8 -14
  68. package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
  69. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
  70. package/dist/src/server/listener/transmitter/switchboard-push.js +8 -13
  71. package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
  72. package/dist/src/server/sync-manager.d.ts +10 -8
  73. package/dist/src/server/sync-manager.d.ts.map +1 -1
  74. package/dist/src/server/sync-manager.js +147 -62
  75. package/dist/src/server/sync-manager.js.map +1 -1
  76. package/dist/src/server/types.d.ts +31 -114
  77. package/dist/src/server/types.d.ts.map +1 -1
  78. package/dist/src/server/types.js.map +1 -1
  79. package/dist/src/server/utils.d.ts +1 -10
  80. package/dist/src/server/utils.d.ts.map +1 -1
  81. package/dist/src/server/utils.js +0 -41
  82. package/dist/src/server/utils.js.map +1 -1
  83. package/dist/src/storage/browser.d.ts +2 -7
  84. package/dist/src/storage/browser.d.ts.map +1 -1
  85. package/dist/src/storage/browser.js +22 -80
  86. package/dist/src/storage/browser.js.map +1 -1
  87. package/dist/src/storage/filesystem.d.ts +2 -7
  88. package/dist/src/storage/filesystem.d.ts.map +1 -1
  89. package/dist/src/storage/filesystem.js +22 -79
  90. package/dist/src/storage/filesystem.js.map +1 -1
  91. package/dist/src/storage/memory.d.ts +2 -7
  92. package/dist/src/storage/memory.d.ts.map +1 -1
  93. package/dist/src/storage/memory.js +22 -76
  94. package/dist/src/storage/memory.js.map +1 -1
  95. package/dist/src/storage/prisma/client/edge.js +4 -5
  96. package/dist/src/storage/prisma/client/index-browser.js +1 -2
  97. package/dist/src/storage/prisma/client/index.d.ts +249 -58
  98. package/dist/src/storage/prisma/client/index.js +4 -5
  99. package/dist/src/storage/prisma/client/package.json +1 -1
  100. package/dist/src/storage/prisma/client/schema.prisma +3 -2
  101. package/dist/src/storage/prisma/client/wasm.js +1 -2
  102. package/dist/src/storage/prisma/prisma.d.ts +4 -9
  103. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  104. package/dist/src/storage/prisma/prisma.js +51 -119
  105. package/dist/src/storage/prisma/prisma.js.map +1 -1
  106. package/dist/src/storage/types.d.ts +4 -43
  107. package/dist/src/storage/types.d.ts.map +1 -1
  108. package/dist/src/storage/utils.d.ts +0 -3
  109. package/dist/src/storage/utils.d.ts.map +1 -1
  110. package/dist/src/storage/utils.js +0 -14
  111. package/dist/src/storage/utils.js.map +1 -1
  112. package/dist/src/utils/gql-transformations.d.ts +5 -14
  113. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  114. package/dist/src/utils/gql-transformations.js +0 -1
  115. package/dist/src/utils/gql-transformations.js.map +1 -1
  116. package/dist/src/utils/misc.d.ts +0 -2
  117. package/dist/src/utils/misc.d.ts.map +1 -1
  118. package/dist/src/utils/misc.js +0 -4
  119. package/dist/src/utils/misc.js.map +1 -1
  120. package/dist/test/cache.test.d.ts +2 -0
  121. package/dist/test/cache.test.d.ts.map +1 -0
  122. package/dist/test/cache.test.js +281 -0
  123. package/dist/test/cache.test.js.map +1 -0
  124. package/dist/test/default-remote-drives.test.d.ts +2 -0
  125. package/dist/test/default-remote-drives.test.d.ts.map +1 -0
  126. package/dist/test/default-remote-drives.test.js +446 -0
  127. package/dist/test/default-remote-drives.test.js.map +1 -0
  128. package/dist/test/document-helpers/addUndo.test.d.ts +2 -0
  129. package/dist/test/document-helpers/addUndo.test.d.ts.map +1 -0
  130. package/dist/test/document-helpers/addUndo.test.js +120 -0
  131. package/dist/test/document-helpers/addUndo.test.js.map +1 -0
  132. package/dist/test/document-helpers/attachBranch.test.d.ts +2 -0
  133. package/dist/test/document-helpers/attachBranch.test.d.ts.map +1 -0
  134. package/dist/test/document-helpers/attachBranch.test.js +333 -0
  135. package/dist/test/document-helpers/attachBranch.test.js.map +1 -0
  136. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +2 -0
  137. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +1 -0
  138. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +252 -0
  139. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -0
  140. package/dist/test/document-helpers/garbageCollect.test.d.ts +2 -0
  141. package/dist/test/document-helpers/garbageCollect.test.d.ts.map +1 -0
  142. package/dist/test/document-helpers/garbageCollect.test.js +136 -0
  143. package/dist/test/document-helpers/garbageCollect.test.js.map +1 -0
  144. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +2 -0
  145. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +1 -0
  146. package/dist/test/document-helpers/groupOperationsByScope.test.js +98 -0
  147. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -0
  148. package/dist/test/document-helpers/merge.test.d.ts +2 -0
  149. package/dist/test/document-helpers/merge.test.d.ts.map +1 -0
  150. package/dist/test/document-helpers/merge.test.js +757 -0
  151. package/dist/test/document-helpers/merge.test.js.map +1 -0
  152. package/dist/test/document-helpers/nextSkipNumber.test.d.ts +2 -0
  153. package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +1 -0
  154. package/dist/test/document-helpers/nextSkipNumber.test.js +123 -0
  155. package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -0
  156. package/dist/test/document-helpers/prepareOperations.test.d.ts +2 -0
  157. package/dist/test/document-helpers/prepareOperations.test.d.ts.map +1 -0
  158. package/dist/test/document-helpers/prepareOperations.test.js +304 -0
  159. package/dist/test/document-helpers/prepareOperations.test.js.map +1 -0
  160. package/dist/test/document-helpers/removeExistingOperations.test.d.ts +2 -0
  161. package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +1 -0
  162. package/dist/test/document-helpers/removeExistingOperations.test.js +150 -0
  163. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -0
  164. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +2 -0
  165. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +1 -0
  166. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +148 -0
  167. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -0
  168. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +2 -0
  169. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +1 -0
  170. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +200 -0
  171. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -0
  172. package/dist/test/document-helpers/sortOperations.test.d.ts +2 -0
  173. package/dist/test/document-helpers/sortOperations.test.d.ts.map +1 -0
  174. package/dist/test/document-helpers/sortOperations.test.js +101 -0
  175. package/dist/test/document-helpers/sortOperations.test.js.map +1 -0
  176. package/dist/test/document-helpers/split.test.d.ts +2 -0
  177. package/dist/test/document-helpers/split.test.d.ts.map +1 -0
  178. package/dist/test/document-helpers/split.test.js +121 -0
  179. package/dist/test/document-helpers/split.test.js.map +1 -0
  180. package/dist/test/document-helpers/utils.d.ts +8 -0
  181. package/dist/test/document-helpers/utils.d.ts.map +1 -0
  182. package/dist/test/document-helpers/utils.js +22 -0
  183. package/dist/test/document-helpers/utils.js.map +1 -0
  184. package/dist/test/drive-operations.test.d.ts +2 -0
  185. package/dist/test/drive-operations.test.d.ts.map +1 -0
  186. package/dist/test/drive-operations.test.js +145 -0
  187. package/dist/test/drive-operations.test.js.map +1 -0
  188. package/dist/test/graphql.test.d.ts +2 -0
  189. package/dist/test/graphql.test.d.ts.map +1 -0
  190. package/dist/test/graphql.test.js +10 -0
  191. package/dist/test/graphql.test.js.map +1 -0
  192. package/dist/test/internal-listener.test.d.ts +2 -0
  193. package/dist/test/internal-listener.test.d.ts.map +1 -0
  194. package/dist/test/internal-listener.test.js +277 -0
  195. package/dist/test/internal-listener.test.js.map +1 -0
  196. package/dist/test/queue.test.d.ts +2 -0
  197. package/dist/test/queue.test.d.ts.map +1 -0
  198. package/dist/test/queue.test.js +338 -0
  199. package/dist/test/queue.test.js.map +1 -0
  200. package/dist/test/read-mode.test.d.ts +2 -0
  201. package/dist/test/read-mode.test.d.ts.map +1 -0
  202. package/dist/test/read-mode.test.js +578 -0
  203. package/dist/test/read-mode.test.js.map +1 -0
  204. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +2 -0
  205. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +1 -0
  206. package/dist/test/server/driveOperationsConflictResolution.test.js +460 -0
  207. package/dist/test/server/driveOperationsConflictResolution.test.js.map +1 -0
  208. package/dist/test/server/mergeOperations.test.d.ts +2 -0
  209. package/dist/test/server/mergeOperations.test.d.ts.map +1 -0
  210. package/dist/test/server/mergeOperations.test.js +107 -0
  211. package/dist/test/server/mergeOperations.test.js.map +1 -0
  212. package/dist/test/server/processOperations.test.d.ts +2 -0
  213. package/dist/test/server/processOperations.test.d.ts.map +1 -0
  214. package/dist/test/server/processOperations.test.js +380 -0
  215. package/dist/test/server/processOperations.test.js.map +1 -0
  216. package/dist/test/server.test.d.ts +2 -0
  217. package/dist/test/server.test.d.ts.map +1 -0
  218. package/dist/test/server.test.js +899 -0
  219. package/dist/test/server.test.js.map +1 -0
  220. package/dist/test/signature-migration.test.d.ts +2 -0
  221. package/dist/test/signature-migration.test.d.ts.map +1 -0
  222. package/dist/test/signature-migration.test.js +239 -0
  223. package/dist/test/signature-migration.test.js.map +1 -0
  224. package/dist/test/storage.test.d.ts +2 -0
  225. package/dist/test/storage.test.d.ts.map +1 -0
  226. package/dist/test/storage.test.js +523 -0
  227. package/dist/test/storage.test.js.map +1 -0
  228. package/dist/test/utils.d.ts +48 -0
  229. package/dist/test/utils.d.ts.map +1 -0
  230. package/dist/test/utils.js +133 -0
  231. package/dist/test/utils.js.map +1 -0
  232. package/dist/test/utils.test.d.ts +2 -0
  233. package/dist/test/utils.test.d.ts.map +1 -0
  234. package/dist/test/utils.test.js +89 -0
  235. package/dist/test/utils.test.js.map +1 -0
  236. package/dist/test/vitest-setup.d.ts +2 -0
  237. package/dist/test/vitest-setup.d.ts.map +1 -0
  238. package/dist/test/vitest-setup.js +5 -0
  239. package/dist/test/vitest-setup.js.map +1 -0
  240. package/dist/tsconfig.tsbuildinfo +1 -0
  241. package/dist/vitest.config.d.ts +3 -0
  242. package/dist/vitest.config.d.ts.map +1 -0
  243. package/dist/vitest.config.js +27 -0
  244. package/dist/vitest.config.js.map +1 -0
  245. package/package.json +4 -4
  246. package/dist/src/queue/event.d.ts +0 -42
  247. package/dist/src/queue/event.d.ts.map +0 -1
  248. package/dist/src/queue/event.js +0 -222
  249. package/dist/src/queue/event.js.map +0 -1
  250. package/dist/src/server/sync-unit-map.d.ts +0 -137
  251. package/dist/src/server/sync-unit-map.d.ts.map +0 -1
  252. package/dist/src/server/sync-unit-map.js +0 -234
  253. package/dist/src/server/sync-unit-map.js.map +0 -1
  254. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -0,0 +1,133 @@
1
+ import { driveDocumentModelModule } from "#drive-document-model/module";
2
+ import { documentModelDocumentModelModule, } from "document-model";
3
+ export const baseDocumentModels = [
4
+ driveDocumentModelModule,
5
+ documentModelDocumentModelModule,
6
+ ];
7
+ export function expectUUID(expect) {
8
+ return expect.stringMatching(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
9
+ }
10
+ export function expectUTCTimestamp(expect) {
11
+ return expect.stringMatching(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/i);
12
+ }
13
+ export function buildOperation(reducer, document, action, index) {
14
+ const newDocument = reducer(document, action);
15
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
+ const operation = newDocument.operations[action.scope]
17
+ .slice()
18
+ .pop();
19
+ return { ...operation, index: index ?? operation.index };
20
+ }
21
+ export function buildOperations(reducer, document, actions) {
22
+ const operations = [];
23
+ for (const action of actions) {
24
+ document = reducer(document, action);
25
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
26
+ const operation = document.operations[action.scope]
27
+ .slice()
28
+ .pop();
29
+ operations.push(operation);
30
+ }
31
+ return operations;
32
+ }
33
+ export function buildOperationAndDocument(reducer, document, action, index) {
34
+ const newDocument = reducer(document, action);
35
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36
+ const operation = newDocument.operations[action.scope].slice().pop();
37
+ return {
38
+ document: newDocument,
39
+ operation: {
40
+ ...operation,
41
+ index: index ?? operation.index,
42
+ },
43
+ };
44
+ }
45
+ export class BasicClient {
46
+ server;
47
+ driveId;
48
+ documentId;
49
+ document;
50
+ reducer;
51
+ unsyncedOperations = [];
52
+ constructor(server, driveId, documentId, document, reducer) {
53
+ this.server = server;
54
+ this.driveId = driveId;
55
+ this.documentId = documentId;
56
+ this.document = document;
57
+ this.reducer = reducer;
58
+ }
59
+ getDocument() {
60
+ return this.document;
61
+ }
62
+ clearUnsyncedOperations() {
63
+ this.unsyncedOperations = [];
64
+ }
65
+ async pushOperationsToServer() {
66
+ const result = await this.server.addOperations(this.driveId, this.documentId, this.unsyncedOperations);
67
+ if (result.status === "SUCCESS") {
68
+ this.unsyncedOperations = [];
69
+ }
70
+ return result;
71
+ }
72
+ async syncDocument() {
73
+ this.clearUnsyncedOperations();
74
+ const remoteDocument = await this.server.getDocument(this.driveId, this.documentId);
75
+ const remoteDocumentOperations = Object.values(remoteDocument.operations).flat();
76
+ const result = await this.server._processOperations(this.driveId, this.documentId, this.document, remoteDocumentOperations);
77
+ this.document = result.document;
78
+ return this.document;
79
+ }
80
+ dispatchDocumentAction(action) {
81
+ const result = buildOperationAndDocument(this.reducer, this.document, action);
82
+ this.document = { ...result.document };
83
+ this.unsyncedOperations.push({ ...result.operation });
84
+ return result;
85
+ }
86
+ }
87
+ export class DriveBasicClient {
88
+ server;
89
+ driveId;
90
+ document;
91
+ reducer;
92
+ unsyncedOperations = [];
93
+ constructor(server, driveId, document, reducer) {
94
+ this.server = server;
95
+ this.driveId = driveId;
96
+ this.document = document;
97
+ this.reducer = reducer;
98
+ }
99
+ getDocument() {
100
+ return this.document;
101
+ }
102
+ getUnsyncedOperations() {
103
+ return this.unsyncedOperations;
104
+ }
105
+ setUnsyncedOperations(operations) {
106
+ this.unsyncedOperations = operations;
107
+ }
108
+ clearUnsyncedOperations() {
109
+ this.unsyncedOperations = [];
110
+ }
111
+ async pushOperationsToServer() {
112
+ const result = await this.server.addDriveOperations(this.driveId, this.unsyncedOperations);
113
+ if (result.status === "SUCCESS") {
114
+ this.unsyncedOperations = [];
115
+ }
116
+ return result;
117
+ }
118
+ async syncDocument() {
119
+ this.clearUnsyncedOperations();
120
+ const remoteDocument = await this.server.getDrive(this.driveId);
121
+ const remoteDocumentOperations = Object.values(remoteDocument.operations).flat();
122
+ const result = await this.server._processOperations(this.driveId, undefined, this.document, remoteDocumentOperations);
123
+ this.document = result.document;
124
+ return this.document;
125
+ }
126
+ dispatchDriveAction(action) {
127
+ const result = buildOperationAndDocument(this.reducer, this.document, action);
128
+ this.document = { ...result.document };
129
+ this.unsyncedOperations.push({ ...result.operation });
130
+ return result;
131
+ }
132
+ }
133
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../test/utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import { setModelName } from "document-model";
2
+ import { describe, expect, it } from "vitest";
3
+ import { reducer } from "../src/drive-document-model/gen/reducer.js";
4
+ import { createDocument } from "../src/drive-document-model/gen/utils.js";
5
+ import { buildDocumentRevisionsFilter, filterOperationsByRevision, isAfterRevision, isAtRevision, } from "../src/server/utils.js";
6
+ import { runAsapAsync } from "../src/utils/misc.js";
7
+ import { RunAsap } from "../src/utils/run-asap.js";
8
+ describe("utils", () => {
9
+ it("should run setTimeout", async () => {
10
+ const result = await runAsapAsync(() => Promise.resolve(1), RunAsap.useSetTimeout);
11
+ expect(result).toBe(1);
12
+ });
13
+ it("should build document revisions filter", async () => {
14
+ let document = createDocument();
15
+ expect(buildDocumentRevisionsFilter(document)).toStrictEqual({
16
+ global: -1,
17
+ local: -1,
18
+ });
19
+ document = reducer(document, setModelName({ name: "0" }));
20
+ expect(buildDocumentRevisionsFilter(document)).toStrictEqual({
21
+ global: 0,
22
+ local: -1,
23
+ });
24
+ });
25
+ it("should check revisions filter", async () => {
26
+ let document = createDocument();
27
+ expect(isAtRevision(document)).toBe(true);
28
+ expect(isAtRevision(document, { global: -1, local: -1 })).toBe(true);
29
+ expect(isAtRevision(document, { global: -1 })).toBe(true);
30
+ expect(isAtRevision(document, { local: -1 })).toBe(true);
31
+ expect(isAtRevision(document, { global: 0, local: 0 })).toBe(false);
32
+ expect(isAtRevision(document, { global: 0, local: -1 })).toBe(false);
33
+ document = reducer(document, setModelName({ name: "0" }));
34
+ expect(isAtRevision(document, { global: 0, local: -1 })).toBe(true);
35
+ expect(isAtRevision(document, { global: -1, local: -1 })).toBe(false);
36
+ expect(isAtRevision(document, { global: 0 })).toBe(true);
37
+ expect(isAtRevision(document, { local: -1 })).toBe(true);
38
+ expect(isAtRevision(document, { local: 0 })).toBe(false);
39
+ expect(isAtRevision(document, { global: 0, local: 0 })).toBe(false);
40
+ expect(isAtRevision(document, { global: 2, local: -1 })).toBe(false);
41
+ });
42
+ it("should check document is at least at revisions filter", async () => {
43
+ let document = createDocument();
44
+ expect(isAfterRevision(document)).toBe(true);
45
+ expect(isAfterRevision(document, { global: -1, local: -1 })).toBe(false);
46
+ expect(isAfterRevision(document, { global: -1 })).toBe(false);
47
+ expect(isAfterRevision(document, { local: -1 })).toBe(false);
48
+ expect(isAfterRevision(document, { global: 0, local: 0 })).toBe(false);
49
+ expect(isAfterRevision(document, { global: 0, local: -1 })).toBe(false);
50
+ document = reducer(document, setModelName({ name: "0" }));
51
+ expect(isAfterRevision(document, { global: 0, local: -1 })).toBe(false);
52
+ expect(isAfterRevision(document, { global: -1 })).toBe(true);
53
+ expect(isAfterRevision(document, { global: 0 })).toBe(false);
54
+ expect(isAfterRevision(document, { local: -1 })).toBe(false);
55
+ expect(isAfterRevision(document, { local: 0 })).toBe(false);
56
+ expect(isAfterRevision(document, { global: 0, local: 0 })).toBe(false);
57
+ expect(isAfterRevision(document, { global: 2, local: -1 })).toBe(false);
58
+ });
59
+ it("should filter operations by revision", async () => {
60
+ let document = createDocument();
61
+ expect(filterOperationsByRevision(document.operations)).toStrictEqual({
62
+ global: [],
63
+ local: [],
64
+ });
65
+ document = reducer(document, setModelName({ name: "0" }));
66
+ document = reducer(document, setModelName({ name: "1" }));
67
+ document = reducer(document, setModelName({ name: "2" }));
68
+ document = reducer(document, setModelName({ name: "3" }));
69
+ document = reducer(document, setModelName({ name: "4" }));
70
+ expect(filterOperationsByRevision(document.operations)).toStrictEqual(document.operations);
71
+ expect(filterOperationsByRevision(document.operations, {
72
+ global: -1,
73
+ local: -1,
74
+ })).toStrictEqual({
75
+ global: [],
76
+ local: [],
77
+ });
78
+ expect(filterOperationsByRevision(document.operations, {
79
+ global: 2,
80
+ }).global).toHaveLength(3);
81
+ expect(filterOperationsByRevision(document.operations, {
82
+ global: 2,
83
+ })).toStrictEqual({
84
+ global: document.operations.global.slice(0, 3),
85
+ local: [],
86
+ });
87
+ });
88
+ });
89
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../test/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EACf,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,aAAa,CACtB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAEhC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC;YACV,KAAK,EAAE,CAAC,CAAC;SACV,CAAC,CAAC;QAEH,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YAC3D,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC,CAAC;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAEhC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAEhC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAEhC,MAAM,CAAC,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;YACpE,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,CAAC,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CACnE,QAAQ,CAAC,UAAU,CACpB,CAAC;QAEF,MAAM,CACJ,0BAA0B,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,CAAC,CAAC;YACV,KAAK,EAAE,CAAC,CAAC;SACV,CAAC,CACH,CAAC,aAAa,CAAC;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CACJ,0BAA0B,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,CAAC;SACV,CAAC,CAAC,MAAM,CACV,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAElB,MAAM,CACJ,0BAA0B,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,CAAC;SACV,CAAC,CACH,CAAC,aAAa,CAAC;YACd,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vitest-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest-setup.d.ts","sourceRoot":"","sources":["../../test/vitest-setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ if (typeof window === "undefined") {
2
+ import("fake-indexeddb/auto");
3
+ }
4
+ export {};
5
+ //# sourceMappingURL=vitest-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest-setup.js","sourceRoot":"","sources":["../../test/vitest-setup.ts"],"names":[],"mappings":"AAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAChC,CAAC"}