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
@@ -1,10 +1,48 @@
1
1
  import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
2
2
  import { type SynchronizationUnitQuery } from "#server/types";
3
3
  import type { Operation, OperationFromDocument, PHDocument } from "document-model";
4
+ export type IStorageUnit = {
5
+ /** The id of the document. If '*' then select all. */
6
+ documentId: string;
7
+ /** The type of the document model. If '*' then select all. */
8
+ documentModelType: string;
9
+ /** The scope of the document. If '*' then select all. */
10
+ scope: string;
11
+ /** The branch of the document. If '*' then select all. */
12
+ branch: string;
13
+ };
14
+ export type IStorageUnitFilter = {
15
+ /** The ids of the parent documents. If '*' then select all. */
16
+ parentId?: string[];
17
+ /** The ids of the documents. If '*' then select all. */
18
+ documentId?: string[];
19
+ /** The types of the document models. If '*' then select all. */
20
+ documentModelType?: string[];
21
+ /** The scopes of the documents. If '*' then select all. */
22
+ scope?: string[];
23
+ /** The branches of the documents. If '*' then select all. */
24
+ branch?: string[];
25
+ };
26
+ export type ResolvedStorageUnitFilter = Required<{
27
+ [K in keyof IStorageUnitFilter]: Set<string> | null;
28
+ }>;
29
+ export interface IStorageUnitStorage {
30
+ /**
31
+ * Finds storage units based on the provided filter.
32
+ *
33
+ * @param filter - The filter to apply.
34
+ * @param limit - The maximum number of documents to return.
35
+ * @param cursor - The cursor to start the search from.
36
+ */
37
+ findStorageUnitsBy: (filter: IStorageUnitFilter, limit: number, cursor?: string) => Promise<{
38
+ units: IStorageUnit[];
39
+ nextCursor?: string;
40
+ }>;
41
+ }
4
42
  /**
5
43
  * Describes the storage interface for documents.
6
44
  */
7
- export interface IDocumentStorage {
45
+ export interface IDocumentStorage extends IStorageUnitStorage {
8
46
  /**
9
47
  * Resolves a list of ids from a list of slugs.
10
48
  *
@@ -121,14 +159,15 @@ export interface IDocumentAdminStorage extends IDocumentStorage {
121
159
  * Describes the storage interface for document operations.
122
160
  */
123
161
  export interface IDocumentOperationStorage {
124
- addDocumentOperations<TDocument extends PHDocument>(drive: string, id: string, operations: OperationFromDocument<TDocument>[], document: PHDocument): Promise<void>;
125
- addDocumentOperationsWithTransaction?<TDocument extends PHDocument>(drive: string, id: string, callback: (document: TDocument) => Promise<{
162
+ addDocumentOperations<TDocument extends PHDocument>(id: string, operations: OperationFromDocument<TDocument>[], document: PHDocument): Promise<void>;
163
+ addDocumentOperationsWithTransaction?<TDocument extends PHDocument>(id: string, callback: (document: TDocument) => Promise<{
126
164
  operations: OperationFromDocument<TDocument>[];
127
165
  document: PHDocument;
128
166
  }>): Promise<void>;
129
- getOperationResultingState?(drive: string, id: string, index: number, scope: string, branch: string): Promise<string | undefined>;
167
+ getOperationResultingState?(id: string, index: number, scope: string, branch: string): Promise<string | undefined>;
130
168
  getSynchronizationUnitsRevision(units: SynchronizationUnitQuery[]): Promise<{
131
169
  documentId: string;
170
+ documentType: string;
132
171
  scope: string;
133
172
  branch: string;
134
173
  lastUpdated: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import { type IStorageUnitFilter, type ResolvedStorageUnitFilter } from "./types.js";
1
2
  export declare const isValidDocumentId: (id: string) => boolean | "";
2
3
  export declare const isValidSlug: (slug: string) => boolean | "";
4
+ export declare const resolveStorageUnitsFilterComponent: (component: string[] | undefined) => Set<string> | null;
5
+ export declare const resolveStorageUnitsFilter: (filter: IStorageUnitFilter) => ResolvedStorageUnitFilter;
3
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,iBACQ,CAAC;AAErD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,iBACkB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,iBACQ,CAAC;AAErD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,iBACkB,CAAC;AAE3D,eAAO,MAAM,kCAAkC,GAC7C,WAAW,MAAM,EAAE,GAAG,SAAS,uBAKhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,kBAAkB,KACzB,yBAUF,CAAC"}
@@ -1,3 +1,17 @@
1
1
  export const isValidDocumentId = (id) => id && id.length > 0 && /^[a-zA-Z0-9_-]+$/.test(id);
2
2
  export const isValidSlug = (slug) => slug && slug.length > 0 && /^[a-zA-Z0-9_-]+$/.test(slug);
3
+ export const resolveStorageUnitsFilterComponent = (component) => {
4
+ return component && component.length > 0 && !component.includes("*")
5
+ ? new Set(component)
6
+ : null;
7
+ };
8
+ export const resolveStorageUnitsFilter = (filter) => {
9
+ return {
10
+ parentId: resolveStorageUnitsFilterComponent(filter.parentId),
11
+ documentId: resolveStorageUnitsFilterComponent(filter.documentId),
12
+ documentModelType: resolveStorageUnitsFilterComponent(filter.documentModelType),
13
+ scope: resolveStorageUnitsFilterComponent(filter.scope),
14
+ branch: resolveStorageUnitsFilterComponent(filter.branch),
15
+ };
16
+ };
3
17
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,EAAE,CAC9C,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,EAAE,CAC9C,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,SAA+B,EAC/B,EAAE;IACF,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClE,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAA0B,EACC,EAAE;IAC7B,OAAO;QACL,QAAQ,EAAE,kCAAkC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7D,UAAU,EAAE,kCAAkC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjE,iBAAiB,EAAE,kCAAkC,CACnD,MAAM,CAAC,iBAAiB,CACzB;QACD,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC,KAAK,CAAC;QACvD,MAAM,EAAE,kCAAkC,CAAC,MAAM,CAAC,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC,CAAC"}
@@ -1,13 +1,22 @@
1
1
  import { type DocumentDriveDocument } from "document-drive";
2
- import { type PHDocument } from "document-model";
2
+ import { type Operation, type PHDocument, type PHDocumentHeader } from "document-model";
3
3
  export declare function responseForDrive(drive: DocumentDriveDocument): {
4
4
  id: string;
5
5
  slug: string;
6
- meta: {
7
- preferredEditor?: string;
8
- } | undefined;
6
+ meta: import("document-model").PHDocumentMeta | undefined;
9
7
  name: string;
10
8
  icon: string | undefined;
11
9
  };
12
- export declare function responseForDocument(document: PHDocument, typeName: string): any;
10
+ export type PHDocumentGQL = Omit<PHDocumentHeader, "revision"> & {
11
+ id: string;
12
+ revision: number;
13
+ createdAt: string;
14
+ lastModified: string;
15
+ __typename: string;
16
+ state: unknown;
17
+ initialState: unknown;
18
+ stateJSON: unknown;
19
+ operations: Operation[];
20
+ };
21
+ export declare function responseForDocument(document: PHDocument, typeName: string): PHDocumentGQL;
13
22
  //# sourceMappingURL=gql-transformations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gql-transformations.d.ts","sourceRoot":"","sources":["../../../src/utils/gql-transformations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;EAQ5D;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,GACf,GAAG,CAmBL"}
1
+ {"version":3,"file":"gql-transformations.d.ts","sourceRoot":"","sources":["../../../src/utils/gql-transformations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB;;;;;;EAQ5D;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,GACf,aAAa,CAoBf"}
@@ -9,6 +9,7 @@ export function responseForDrive(drive) {
9
9
  }
10
10
  export function responseForDocument(document, typeName) {
11
11
  return {
12
+ ...document.header,
12
13
  ...document,
13
14
  id: document.header.id,
14
15
  createdAt: document.header.createdAtUtcIso,
@@ -1 +1 @@
1
- {"version":3,"file":"gql-transformations.js","sourceRoot":"","sources":["../../../src/utils/gql-transformations.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAC7B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAoB,EACpB,QAAgB;IAEhB,OAAO;QACL,GAAG,QAAQ;QACX,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAC1C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB;QAClD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;QAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC5B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAChC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC;YAC7D,GAAG,EAAE;YACL,SAAS,EACP,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;SACrE,CAAC,CAAC;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;QAChD,UAAU,EAAE,QAAQ;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gql-transformations.js","sourceRoot":"","sources":["../../../src/utils/gql-transformations.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAC7B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;KAC3C,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,mBAAmB,CACjC,QAAoB,EACpB,QAAgB;IAEhB,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM;QAClB,GAAG,QAAQ;QACX,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAC1C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB;QAClD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;QAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC5B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAChC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC;YAC7D,GAAG,EAAE;YACL,SAAS,EACP,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;SACrE,CAAC,CAAC;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;QAChD,UAAU,EAAE,QAAQ;KACrB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAEd,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,UAAU,GACnB,UAAU,GAAG,SAAS,CAoBxB;AAED,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,WAAW,EACvE,SAAS,EAAE,SAAS,GACnB,SAAS,CAuBX"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,UAAU,GACnB,UAAU,GAAG,SAAS,CAoBxB;AAED,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,WAAW,EACvE,SAAS,EAAE,SAAS,GACnB,SAAS,CAuBX"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,kCAAkC,CAChD,QAAoB;IAEpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B,QAAQ,CAAC,UAAU,CACpB,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,GAAqB,CAAC;QACpC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,+BAA+B,CAAC,EAAE,CAAC,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1B,CAAC;IACF,uEAAuE;IACvE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,SAAoB;IAEpB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;IACrC,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;QACzD,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,SAAS,CAAC,OAAO;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM;wBAC5B,CAAC,CAAC,CAAC,SAAS,CAAC;wBACb,CAAC,CAAC,EAAE,CAA2B;iBAClC;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kCAAkC,CAChD,QAAoB;IAEpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B,QAAQ,CAAC,UAAU,CACpB,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,+BAA+B,CAAC,EAAE,CAAC,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1B,CAAC;IACF,uEAAuE;IACvE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,SAAoB;IAEpB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;IACrC,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;QACzD,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,SAAS,CAAC,OAAO;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM;wBAC5B,CAAC,CAAC,CAAC,SAAS,CAAC;wBACb,CAAC,CAAC,EAAE,CAA2B;iBAClC;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type Operation, type OperationFromDocument, type OperationsFromDocument, type PHDocument } from "document-model";
2
2
  import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
3
+ import { type ListenerRevision } from "#server/types";
3
4
  import { pascalCase } from "change-case";
4
5
  import { RunAsap } from "./run-asap.js";
5
6
  export declare const runAsap: typeof RunAsap.runAsap;
@@ -8,6 +9,7 @@ export declare function isDocumentDrive(document: PHDocument): document is Docum
8
9
  export declare function mergeOperations<TDocument extends PHDocument>(currentOperations: OperationsFromDocument<TDocument>, newOperations: OperationFromDocument<TDocument>[]): OperationsFromDocument<TDocument>;
9
10
  export declare function isNoopUpdate(operation: Operation, latestOperation?: Operation): boolean;
10
11
  export declare function isBefore(dateA: Date | string, dateB: Date | string): boolean;
12
+ export declare function operationsToRevision(operations: Pick<Operation, "index">[] | undefined): ListenerRevision["revision"];
11
13
  /**
12
14
  * Converts a string to PascalCase
13
15
  * @param {string} str - The input string to convert
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,OAAO,wBAAkB,CAAC;AACvC,eAAO,MAAM,YAAY,6BAAuB,CAAC;AAEjD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,UAAU,GACnB,QAAQ,IAAI,qBAAqB,CAEnC;AAED,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,iBAAiB,EAAE,sBAAsB,CAAC,SAAS,CAAC,EACpD,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,GAChD,sBAAsB,CAAC,SAAS,CAAC,CA0BnC;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,SAAS,WAc5B;AAGD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,WAElE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,mBAAa,CAAC"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,OAAO,wBAAkB,CAAC;AACvC,eAAO,MAAM,YAAY,6BAAuB,CAAC;AAEjD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,UAAU,GACnB,QAAQ,IAAI,qBAAqB,CAEnC;AAED,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,iBAAiB,EAAE,sBAAsB,CAAC,SAAS,CAAC,EACpD,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,GAChD,sBAAsB,CAAC,SAAS,CAAC,CA0BnC;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,SAAS,WAc5B;AAGD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,WAElE;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,GACjD,gBAAgB,CAAC,UAAU,CAAC,CAG9B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,mBAAa,CAAC"}
@@ -38,6 +38,10 @@ export function isNoopUpdate(operation, latestOperation) {
38
38
  export function isBefore(dateA, dateB) {
39
39
  return new Date(dateA) < new Date(dateB);
40
40
  }
41
+ export function operationsToRevision(operations) {
42
+ const lastOperation = operations?.at(-1);
43
+ return lastOperation ? lastOperation.index + 1 : 0;
44
+ }
41
45
  /**
42
46
  * Converts a string to PascalCase
43
47
  * @param {string} str - The input string to convert
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAEjD,MAAM,UAAU,eAAe,CAC7B,QAAoB;IAEpB,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,iBAAiB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,iBAAoD,EACpD,aAAiD;IAEjD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAE3D,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,IAAsB,CAAC;QACrC,GAAG,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CACnC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,UAAU,EACV,qCAAqC,UAAU,CAAC,KAAK,6BAA6B,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;IACJ,CAAC;IAED,OAAO,aAAa;SACjB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,MAAM,CAAoC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACvD,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC;IACjE,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,eAA2B;IAE3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC;IAC3C,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC;IACvD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC;IAChE,MAAM,2BAA2B,GAAG,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAE1E,OAAO,CACL,QAAQ,IAAI,cAAc,IAAI,aAAa,IAAI,2BAA2B,CAC3E,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,QAAQ,CAAC,KAAoB,EAAE,KAAoB;IACjE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"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"}