document-drive 4.1.0-dev.55 → 4.1.0-dev.57

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 (476) hide show
  1. package/dist/index.d.ts +17 -32
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +17 -20
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/cache/index.d.ts +5 -0
  6. package/dist/src/cache/index.d.ts.map +1 -0
  7. package/dist/src/cache/index.js +5 -0
  8. package/dist/src/cache/index.js.map +1 -0
  9. package/dist/src/cache/lru.d.ts +2 -13
  10. package/dist/src/cache/lru.d.ts.map +1 -1
  11. package/dist/src/cache/lru.js +1 -2
  12. package/dist/src/cache/lru.js.map +1 -1
  13. package/dist/src/cache/memory.d.ts +2 -13
  14. package/dist/src/cache/memory.d.ts.map +1 -1
  15. package/dist/src/cache/memory.js +2 -3
  16. package/dist/src/cache/memory.js.map +1 -1
  17. package/dist/src/cache/redis.d.ts +2 -4
  18. package/dist/src/cache/redis.d.ts.map +1 -1
  19. package/dist/src/cache/redis.js +2 -4
  20. package/dist/src/cache/redis.js.map +1 -1
  21. package/dist/src/cache/types.d.ts +22 -1
  22. package/dist/src/cache/types.d.ts.map +1 -1
  23. package/dist/src/drive-document-model/constants.d.ts +2 -1
  24. package/dist/src/drive-document-model/constants.d.ts.map +1 -1
  25. package/dist/src/drive-document-model/constants.js +2 -2
  26. package/dist/src/drive-document-model/constants.js.map +1 -1
  27. package/dist/src/drive-document-model/gen/document-model.d.ts +2 -2
  28. package/dist/src/drive-document-model/gen/document-model.d.ts.map +1 -1
  29. package/dist/src/drive-document-model/gen/document-model.js +1 -1
  30. package/dist/src/drive-document-model/gen/document-model.js.map +1 -1
  31. package/dist/src/drive-document-model/gen/drive/actions.d.ts +12 -2
  32. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -1
  33. package/dist/src/drive-document-model/gen/drive/creators.d.ts +2 -2
  34. package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +1 -1
  35. package/dist/src/drive-document-model/gen/drive/creators.js +9 -9
  36. package/dist/src/drive-document-model/gen/drive/creators.js.map +1 -1
  37. package/dist/src/drive-document-model/gen/drive/index.d.ts +2 -0
  38. package/dist/src/drive-document-model/gen/drive/index.d.ts.map +1 -0
  39. package/dist/src/drive-document-model/gen/drive/index.js +2 -0
  40. package/dist/src/drive-document-model/gen/drive/index.js.map +1 -0
  41. package/dist/src/drive-document-model/gen/drive/types.d.ts +2 -0
  42. package/dist/src/drive-document-model/gen/drive/types.d.ts.map +1 -0
  43. package/dist/src/drive-document-model/gen/drive/types.js +2 -0
  44. package/dist/src/drive-document-model/gen/drive/types.js.map +1 -0
  45. package/dist/src/drive-document-model/gen/index.d.ts +7 -6
  46. package/dist/src/drive-document-model/gen/index.d.ts.map +1 -1
  47. package/dist/src/drive-document-model/gen/index.js +7 -5
  48. package/dist/src/drive-document-model/gen/index.js.map +1 -1
  49. package/dist/src/drive-document-model/gen/node/actions.d.ts +11 -2
  50. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -1
  51. package/dist/src/drive-document-model/gen/node/creators.d.ts +2 -2
  52. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
  53. package/dist/src/drive-document-model/gen/node/creators.js +8 -8
  54. package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
  55. package/dist/src/drive-document-model/gen/node/index.d.ts +2 -0
  56. package/dist/src/drive-document-model/gen/node/index.d.ts.map +1 -0
  57. package/dist/src/drive-document-model/gen/node/index.js +2 -0
  58. package/dist/src/drive-document-model/gen/node/index.js.map +1 -0
  59. package/dist/src/drive-document-model/gen/node/types.d.ts +2 -0
  60. package/dist/src/drive-document-model/gen/node/types.d.ts.map +1 -0
  61. package/dist/src/drive-document-model/gen/node/types.js +2 -0
  62. package/dist/src/drive-document-model/gen/node/types.js.map +1 -0
  63. package/dist/src/drive-document-model/gen/ph-factories.d.ts +5 -20
  64. package/dist/src/drive-document-model/gen/ph-factories.d.ts.map +1 -1
  65. package/dist/src/drive-document-model/gen/ph-factories.js +1 -13
  66. package/dist/src/drive-document-model/gen/ph-factories.js.map +1 -1
  67. package/dist/src/drive-document-model/gen/reducer.d.ts +3 -3
  68. package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -1
  69. package/dist/src/drive-document-model/gen/reducer.js +34 -36
  70. package/dist/src/drive-document-model/gen/reducer.js.map +1 -1
  71. package/dist/src/drive-document-model/gen/schema/index.d.ts +2 -2
  72. package/dist/src/drive-document-model/gen/schema/index.d.ts.map +1 -1
  73. package/dist/src/drive-document-model/gen/schema/index.js +2 -2
  74. package/dist/src/drive-document-model/gen/schema/index.js.map +1 -1
  75. package/dist/src/drive-document-model/gen/schema/types.d.ts +8 -3
  76. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
  77. package/dist/src/drive-document-model/gen/schema/zod.d.ts +28 -28
  78. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
  79. package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
  80. package/dist/src/drive-document-model/gen/types.d.ts +5 -6
  81. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
  82. package/dist/src/drive-document-model/gen/types.js +3 -1
  83. package/dist/src/drive-document-model/gen/types.js.map +1 -1
  84. package/dist/src/drive-document-model/gen/utils.d.ts +7 -9
  85. package/dist/src/drive-document-model/gen/utils.d.ts.map +1 -1
  86. package/dist/src/drive-document-model/gen/utils.js +21 -34
  87. package/dist/src/drive-document-model/gen/utils.js.map +1 -1
  88. package/dist/src/drive-document-model/index.d.ts +4 -1
  89. package/dist/src/drive-document-model/index.d.ts.map +1 -1
  90. package/dist/src/drive-document-model/index.js +4 -1
  91. package/dist/src/drive-document-model/index.js.map +1 -1
  92. package/dist/src/drive-document-model/module.d.ts +2 -27
  93. package/dist/src/drive-document-model/module.d.ts.map +1 -1
  94. package/dist/src/drive-document-model/module.js +15 -16
  95. package/dist/src/drive-document-model/module.js.map +1 -1
  96. package/dist/src/drive-document-model/src/index.d.ts +3 -0
  97. package/dist/src/drive-document-model/src/index.d.ts.map +1 -0
  98. package/dist/src/drive-document-model/src/index.js +3 -0
  99. package/dist/src/drive-document-model/src/index.js.map +1 -0
  100. package/dist/src/drive-document-model/src/reducers/drive.d.ts +2 -2
  101. package/dist/src/drive-document-model/src/reducers/drive.d.ts.map +1 -1
  102. package/dist/src/drive-document-model/src/reducers/drive.js +1 -1
  103. package/dist/src/drive-document-model/src/reducers/drive.js.map +1 -1
  104. package/dist/src/drive-document-model/src/reducers/index.d.ts +3 -0
  105. package/dist/src/drive-document-model/src/reducers/index.d.ts.map +1 -0
  106. package/dist/src/drive-document-model/src/reducers/index.js +3 -0
  107. package/dist/src/drive-document-model/src/reducers/index.js.map +1 -0
  108. package/dist/src/drive-document-model/src/reducers/node.d.ts +2 -2
  109. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
  110. package/dist/src/drive-document-model/src/reducers/node.js +3 -4
  111. package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
  112. package/dist/src/drive-document-model/src/tests/actions.test.js +19 -21
  113. package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
  114. package/dist/src/drive-document-model/src/tests/base.test.js +12 -52
  115. package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
  116. package/dist/src/drive-document-model/src/tests/document-model.test.js +3 -3
  117. package/dist/src/drive-document-model/src/tests/document-model.test.js.map +1 -1
  118. package/dist/src/drive-document-model/src/tests/drive.test.js +5 -8
  119. package/dist/src/drive-document-model/src/tests/drive.test.js.map +1 -1
  120. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts +2 -1
  121. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts.map +1 -1
  122. package/dist/src/drive-document-model/src/tests/node.test.js +32 -35
  123. package/dist/src/drive-document-model/src/tests/node.test.js.map +1 -1
  124. package/dist/src/drive-document-model/src/tests/test-factories.d.ts +1 -6
  125. package/dist/src/drive-document-model/src/tests/test-factories.d.ts.map +1 -1
  126. package/dist/src/drive-document-model/src/tests/test-factories.js +4 -11
  127. package/dist/src/drive-document-model/src/tests/test-factories.js.map +1 -1
  128. package/dist/src/drive-document-model/src/tests/utils.test.js +1 -1
  129. package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
  130. package/dist/src/drive-document-model/src/types.d.ts +8 -0
  131. package/dist/src/drive-document-model/src/types.d.ts.map +1 -0
  132. package/dist/src/drive-document-model/src/types.js +2 -0
  133. package/dist/src/drive-document-model/src/types.js.map +1 -0
  134. package/dist/src/drive-document-model/src/utils.d.ts +1 -7
  135. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
  136. package/dist/src/drive-document-model/src/utils.js.map +1 -1
  137. package/dist/src/drive-document-model/types.d.ts +10 -0
  138. package/dist/src/drive-document-model/types.d.ts.map +1 -0
  139. package/dist/src/drive-document-model/types.js +3 -0
  140. package/dist/src/drive-document-model/types.js.map +1 -0
  141. package/dist/src/processors/index.d.ts +4 -0
  142. package/dist/src/processors/index.d.ts.map +1 -0
  143. package/dist/src/processors/index.js +4 -0
  144. package/dist/src/processors/index.js.map +1 -0
  145. package/dist/src/processors/processor-manager.d.ts +1 -2
  146. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  147. package/dist/src/processors/processor-manager.js +1 -3
  148. package/dist/src/processors/processor-manager.js.map +1 -1
  149. package/dist/src/processors/relational.d.ts +3 -15
  150. package/dist/src/processors/relational.d.ts.map +1 -1
  151. package/dist/src/processors/relational.js +4 -7
  152. package/dist/src/processors/relational.js.map +1 -1
  153. package/dist/src/processors/types.d.ts +12 -3
  154. package/dist/src/processors/types.d.ts.map +1 -1
  155. package/dist/src/processors/utils.d.ts +1 -2
  156. package/dist/src/processors/utils.d.ts.map +1 -1
  157. package/dist/src/processors/utils.js +0 -2
  158. package/dist/src/processors/utils.js.map +1 -1
  159. package/dist/src/queue/base.d.ts +1 -1
  160. package/dist/src/queue/base.d.ts.map +1 -1
  161. package/dist/src/queue/event.d.ts +2 -3
  162. package/dist/src/queue/event.d.ts.map +1 -1
  163. package/dist/src/queue/event.js +1 -4
  164. package/dist/src/queue/event.js.map +1 -1
  165. package/dist/src/queue/index.d.ts +5 -0
  166. package/dist/src/queue/index.d.ts.map +1 -0
  167. package/dist/src/queue/index.js +5 -0
  168. package/dist/src/queue/index.js.map +1 -0
  169. package/dist/src/queue/redis.js +1 -1
  170. package/dist/src/queue/redis.js.map +1 -1
  171. package/dist/src/queue/types.d.ts +1 -4
  172. package/dist/src/queue/types.d.ts.map +1 -1
  173. package/dist/src/queue/types.js +1 -9
  174. package/dist/src/queue/types.js.map +1 -1
  175. package/dist/src/queue/utils.d.ts +5 -0
  176. package/dist/src/queue/utils.d.ts.map +1 -0
  177. package/dist/src/queue/utils.js +10 -0
  178. package/dist/src/queue/utils.js.map +1 -0
  179. package/dist/src/read-mode/index.d.ts +4 -0
  180. package/dist/src/read-mode/index.d.ts.map +1 -0
  181. package/dist/src/read-mode/index.js +4 -0
  182. package/dist/src/read-mode/index.js.map +1 -0
  183. package/dist/src/read-mode/server.d.ts +1 -2
  184. package/dist/src/read-mode/server.d.ts.map +1 -1
  185. package/dist/src/read-mode/server.js +1 -3
  186. package/dist/src/read-mode/server.js.map +1 -1
  187. package/dist/src/read-mode/service.d.ts +2 -3
  188. package/dist/src/read-mode/service.d.ts.map +1 -1
  189. package/dist/src/read-mode/service.js +1 -5
  190. package/dist/src/read-mode/service.js.map +1 -1
  191. package/dist/src/read-mode/types.d.ts +1 -5
  192. package/dist/src/read-mode/types.d.ts.map +1 -1
  193. package/dist/src/server/base-server.d.ts +4 -14
  194. package/dist/src/server/base-server.d.ts.map +1 -1
  195. package/dist/src/server/base-server.js +18 -21
  196. package/dist/src/server/base-server.js.map +1 -1
  197. package/dist/src/server/builder.d.ts +1 -4
  198. package/dist/src/server/builder.d.ts.map +1 -1
  199. package/dist/src/server/builder.js +1 -9
  200. package/dist/src/server/builder.js.map +1 -1
  201. package/dist/src/server/constants.d.ts +3 -0
  202. package/dist/src/server/constants.d.ts.map +1 -1
  203. package/dist/src/server/constants.js +3 -0
  204. package/dist/src/server/constants.js.map +1 -1
  205. package/dist/src/server/error.d.ts +1 -1
  206. package/dist/src/server/error.d.ts.map +1 -1
  207. package/dist/src/server/event-emitter.d.ts +1 -1
  208. package/dist/src/server/event-emitter.d.ts.map +1 -1
  209. package/dist/src/server/event-emitter.js.map +1 -1
  210. package/dist/src/server/index.d.ts +10 -0
  211. package/dist/src/server/index.d.ts.map +1 -0
  212. package/dist/src/server/index.js +10 -0
  213. package/dist/src/server/index.js.map +1 -0
  214. package/dist/src/server/listener/index.d.ts +2 -0
  215. package/dist/src/server/listener/index.d.ts.map +1 -1
  216. package/dist/src/server/listener/index.js +2 -0
  217. package/dist/src/server/listener/index.js.map +1 -1
  218. package/dist/src/server/listener/listener-manager.d.ts +4 -5
  219. package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
  220. package/dist/src/server/listener/listener-manager.js +2 -5
  221. package/dist/src/server/listener/listener-manager.js.map +1 -1
  222. package/dist/src/server/listener/transmitter/factory.d.ts +3 -4
  223. package/dist/src/server/listener/transmitter/factory.d.ts.map +1 -1
  224. package/dist/src/server/listener/transmitter/factory.js +2 -3
  225. package/dist/src/server/listener/transmitter/factory.js.map +1 -1
  226. package/dist/src/server/listener/transmitter/index.d.ts +5 -0
  227. package/dist/src/server/listener/transmitter/index.d.ts.map +1 -0
  228. package/dist/src/server/listener/transmitter/index.js +5 -0
  229. package/dist/src/server/listener/transmitter/index.js.map +1 -0
  230. package/dist/src/server/listener/transmitter/internal.d.ts +3 -22
  231. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  232. package/dist/src/server/listener/transmitter/internal.js +9 -15
  233. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  234. package/dist/src/server/listener/transmitter/pull-responder.d.ts +4 -22
  235. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  236. package/dist/src/server/listener/transmitter/pull-responder.js +1 -5
  237. package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
  238. package/dist/src/server/listener/transmitter/switchboard-push.d.ts +1 -2
  239. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
  240. package/dist/src/server/listener/transmitter/switchboard-push.js +1 -3
  241. package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
  242. package/dist/src/server/listener/transmitter/types.d.ts +32 -2
  243. package/dist/src/server/listener/transmitter/types.d.ts.map +1 -1
  244. package/dist/src/server/listener/types.d.ts +2 -0
  245. package/dist/src/server/listener/types.d.ts.map +1 -0
  246. package/dist/src/server/listener/types.js +2 -0
  247. package/dist/src/server/listener/types.js.map +1 -0
  248. package/dist/src/server/sync-manager.d.ts +3 -6
  249. package/dist/src/server/sync-manager.d.ts.map +1 -1
  250. package/dist/src/server/sync-manager.js +2 -5
  251. package/dist/src/server/sync-manager.js.map +1 -1
  252. package/dist/src/server/sync-unit-map.d.ts +4 -25
  253. package/dist/src/server/sync-unit-map.d.ts.map +1 -1
  254. package/dist/src/server/sync-unit-map.js +0 -1
  255. package/dist/src/server/sync-unit-map.js.map +1 -1
  256. package/dist/src/server/types.d.ts +33 -22
  257. package/dist/src/server/types.d.ts.map +1 -1
  258. package/dist/src/server/types.js +10 -12
  259. package/dist/src/server/types.js.map +1 -1
  260. package/dist/src/server/utils.d.ts +1 -2
  261. package/dist/src/server/utils.d.ts.map +1 -1
  262. package/dist/src/server/utils.js +0 -1
  263. package/dist/src/server/utils.js.map +1 -1
  264. package/dist/src/storage/browser.d.ts +1 -2
  265. package/dist/src/storage/browser.d.ts.map +1 -1
  266. package/dist/src/storage/browser.js +1 -5
  267. package/dist/src/storage/browser.js.map +1 -1
  268. package/dist/src/storage/filesystem.d.ts +1 -2
  269. package/dist/src/storage/filesystem.d.ts.map +1 -1
  270. package/dist/src/storage/filesystem.js +1 -4
  271. package/dist/src/storage/filesystem.js.map +1 -1
  272. package/dist/src/storage/index.d.ts +4 -0
  273. package/dist/src/storage/index.d.ts.map +1 -0
  274. package/dist/src/storage/index.js +4 -0
  275. package/dist/src/storage/index.js.map +1 -0
  276. package/dist/src/storage/ipfs.d.ts +2 -3
  277. package/dist/src/storage/ipfs.d.ts.map +1 -1
  278. package/dist/src/storage/ipfs.js +5 -3
  279. package/dist/src/storage/ipfs.js.map +1 -1
  280. package/dist/src/storage/memory.d.ts +1 -2
  281. package/dist/src/storage/memory.d.ts.map +1 -1
  282. package/dist/src/storage/memory.js +1 -5
  283. package/dist/src/storage/memory.js.map +1 -1
  284. package/dist/src/storage/prisma/factory.d.ts +2 -2
  285. package/dist/src/storage/prisma/factory.d.ts.map +1 -1
  286. package/dist/src/storage/prisma/factory.js +3 -2
  287. package/dist/src/storage/prisma/factory.js.map +1 -1
  288. package/dist/src/storage/prisma/prisma.d.ts +6 -7
  289. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  290. package/dist/src/storage/prisma/prisma.js +3 -6
  291. package/dist/src/storage/prisma/prisma.js.map +1 -1
  292. package/dist/src/storage/types.d.ts +1 -2
  293. package/dist/src/storage/types.d.ts.map +1 -1
  294. package/dist/src/storage/utils.d.ts +1 -1
  295. package/dist/src/storage/utils.d.ts.map +1 -1
  296. package/dist/src/storage/utils.js.map +1 -1
  297. package/dist/src/utils/default-drives-manager.d.ts +1 -12
  298. package/dist/src/utils/default-drives-manager.d.ts.map +1 -1
  299. package/dist/src/utils/default-drives-manager.js +1 -2
  300. package/dist/src/utils/default-drives-manager.js.map +1 -1
  301. package/dist/src/utils/gql-transformations.d.ts +7 -17
  302. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  303. package/dist/src/utils/gql-transformations.js +2 -2
  304. package/dist/src/utils/gql-transformations.js.map +1 -1
  305. package/dist/src/utils/graphql.d.ts +3 -30
  306. package/dist/src/utils/graphql.d.ts.map +1 -1
  307. package/dist/src/utils/graphql.js +1 -1
  308. package/dist/src/utils/graphql.js.map +1 -1
  309. package/dist/src/utils/index.d.ts +8 -0
  310. package/dist/src/utils/index.d.ts.map +1 -0
  311. package/dist/src/utils/index.js +8 -0
  312. package/dist/src/utils/index.js.map +1 -0
  313. package/dist/src/utils/logger.d.ts +1 -9
  314. package/dist/src/utils/logger.d.ts.map +1 -1
  315. package/dist/src/utils/logger.js +4 -3
  316. package/dist/src/utils/logger.js.map +1 -1
  317. package/dist/src/utils/migrations.d.ts +1 -1
  318. package/dist/src/utils/migrations.d.ts.map +1 -1
  319. package/dist/src/utils/migrations.js +0 -1
  320. package/dist/src/utils/migrations.js.map +1 -1
  321. package/dist/src/utils/misc.d.ts +2 -6
  322. package/dist/src/utils/misc.d.ts.map +1 -1
  323. package/dist/src/utils/misc.js +1 -5
  324. package/dist/src/utils/misc.js.map +1 -1
  325. package/dist/src/utils/run-asap.d.ts +7 -11
  326. package/dist/src/utils/run-asap.d.ts.map +1 -1
  327. package/dist/src/utils/run-asap.js +110 -122
  328. package/dist/src/utils/run-asap.js.map +1 -1
  329. package/dist/src/utils/types.d.ts +61 -0
  330. package/dist/src/utils/types.d.ts.map +1 -0
  331. package/dist/src/utils/types.js +2 -0
  332. package/dist/src/utils/types.js.map +1 -0
  333. package/dist/test/benchmarks/getDrive.json +10 -0
  334. package/dist/test/benchmarks/processOperations.bench.d.ts +2 -0
  335. package/dist/test/benchmarks/processOperations.bench.d.ts.map +1 -0
  336. package/dist/test/benchmarks/processOperations.bench.js +147 -0
  337. package/dist/test/benchmarks/processOperations.bench.js.map +1 -0
  338. package/dist/test/benchmarks/queue.bench.d.ts +2 -0
  339. package/dist/test/benchmarks/queue.bench.d.ts.map +1 -0
  340. package/dist/test/benchmarks/queue.bench.js +50 -0
  341. package/dist/test/benchmarks/queue.bench.js.map +1 -0
  342. package/dist/test/benchmarks/strands.small.json +37085 -0
  343. package/dist/test/cache.test.d.ts +2 -0
  344. package/dist/test/cache.test.d.ts.map +1 -0
  345. package/dist/test/cache.test.js +274 -0
  346. package/dist/test/cache.test.js.map +1 -0
  347. package/dist/test/default-remote-drives.test.d.ts +2 -0
  348. package/dist/test/default-remote-drives.test.d.ts.map +1 -0
  349. package/dist/test/default-remote-drives.test.js +444 -0
  350. package/dist/test/default-remote-drives.test.js.map +1 -0
  351. package/dist/test/drive-operations.test.d.ts +2 -0
  352. package/dist/test/drive-operations.test.d.ts.map +1 -0
  353. package/dist/test/drive-operations.test.js +133 -0
  354. package/dist/test/drive-operations.test.js.map +1 -0
  355. package/dist/test/graphql.test.d.ts +2 -0
  356. package/dist/test/graphql.test.d.ts.map +1 -0
  357. package/dist/test/graphql.test.js +9 -0
  358. package/dist/test/graphql.test.js.map +1 -0
  359. package/dist/test/index.d.ts +2 -0
  360. package/dist/test/index.d.ts.map +1 -0
  361. package/dist/test/index.js +2 -0
  362. package/dist/test/index.js.map +1 -0
  363. package/dist/test/internal-listener.test.d.ts +2 -0
  364. package/dist/test/internal-listener.test.d.ts.map +1 -0
  365. package/dist/test/internal-listener.test.js +242 -0
  366. package/dist/test/internal-listener.test.js.map +1 -0
  367. package/dist/test/queue.test.d.ts +2 -0
  368. package/dist/test/queue.test.d.ts.map +1 -0
  369. package/dist/test/queue.test.js +323 -0
  370. package/dist/test/queue.test.js.map +1 -0
  371. package/dist/test/reactor.test.d.ts +2 -0
  372. package/dist/test/reactor.test.d.ts.map +1 -0
  373. package/dist/test/reactor.test.js +32 -0
  374. package/dist/test/reactor.test.js.map +1 -0
  375. package/dist/test/read-mode.test.d.ts +2 -0
  376. package/dist/test/read-mode.test.d.ts.map +1 -0
  377. package/dist/test/read-mode.test.js +568 -0
  378. package/dist/test/read-mode.test.js.map +1 -0
  379. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +2 -0
  380. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +1 -0
  381. package/dist/test/server/driveOperationsConflictResolution.test.js +488 -0
  382. package/dist/test/server/driveOperationsConflictResolution.test.js.map +1 -0
  383. package/dist/test/server/mergeOperations.test.d.ts +2 -0
  384. package/dist/test/server/mergeOperations.test.d.ts.map +1 -0
  385. package/dist/test/server/mergeOperations.test.js +115 -0
  386. package/dist/test/server/mergeOperations.test.js.map +1 -0
  387. package/dist/test/server/processOperations.test.d.ts +2 -0
  388. package/dist/test/server/processOperations.test.d.ts.map +1 -0
  389. package/dist/test/server/processOperations.test.js +391 -0
  390. package/dist/test/server/processOperations.test.js.map +1 -0
  391. package/dist/test/server.test.d.ts +2 -0
  392. package/dist/test/server.test.d.ts.map +1 -0
  393. package/dist/test/server.test.js +943 -0
  394. package/dist/test/server.test.js.map +1 -0
  395. package/dist/test/signature-migration.test.d.ts +2 -0
  396. package/dist/test/signature-migration.test.d.ts.map +1 -0
  397. package/dist/test/signature-migration.test.js +241 -0
  398. package/dist/test/signature-migration.test.js.map +1 -0
  399. package/dist/test/storage.test.d.ts +2 -0
  400. package/dist/test/storage.test.d.ts.map +1 -0
  401. package/dist/test/storage.test.js +521 -0
  402. package/dist/test/storage.test.js.map +1 -0
  403. package/dist/test/switchboard-push-listener.test.d.ts +2 -0
  404. package/dist/test/switchboard-push-listener.test.d.ts.map +1 -0
  405. package/dist/test/switchboard-push-listener.test.js +132 -0
  406. package/dist/test/switchboard-push-listener.test.js.map +1 -0
  407. package/dist/test/sync-manager.test.d.ts +2 -0
  408. package/dist/test/sync-manager.test.d.ts.map +1 -0
  409. package/dist/test/sync-manager.test.js +348 -0
  410. package/dist/test/sync-manager.test.js.map +1 -0
  411. package/dist/test/utils.d.ts +62 -0
  412. package/dist/test/utils.d.ts.map +1 -0
  413. package/dist/test/utils.js +148 -0
  414. package/dist/test/utils.js.map +1 -0
  415. package/dist/test/utils.test.d.ts +2 -0
  416. package/dist/test/utils.test.d.ts.map +1 -0
  417. package/dist/test/utils.test.js +86 -0
  418. package/dist/test/utils.test.js.map +1 -0
  419. package/dist/test/vitest-setup.d.ts +2 -0
  420. package/dist/test/vitest-setup.d.ts.map +1 -0
  421. package/dist/test/vitest-setup.js +5 -0
  422. package/dist/test/vitest-setup.js.map +1 -0
  423. package/dist/tsconfig.tsbuildinfo +1 -0
  424. package/dist/vitest.config.d.ts +3 -0
  425. package/dist/vitest.config.d.ts.map +1 -0
  426. package/dist/vitest.config.js +28 -0
  427. package/dist/vitest.config.js.map +1 -0
  428. package/package.json +35 -26
  429. package/{dist/src → src}/storage/prisma/client/edge.js +5 -5
  430. package/{dist/src → src}/storage/prisma/client/index.js +7 -7
  431. package/{dist/src → src}/storage/prisma/client/package.json +1 -1
  432. package/{dist/src → src}/storage/prisma/client/schema.prisma +2 -3
  433. package/dist/prisma/schema.prisma +0 -93
  434. package/dist/src/drive-document-model/gen/actions.d.ts +0 -6
  435. package/dist/src/drive-document-model/gen/actions.d.ts.map +0 -1
  436. package/dist/src/drive-document-model/gen/actions.js +0 -3
  437. package/dist/src/drive-document-model/gen/actions.js.map +0 -1
  438. package/dist/src/drive-document-model/gen/drive/object.d.ts +0 -14
  439. package/dist/src/drive-document-model/gen/drive/object.d.ts.map +0 -1
  440. package/dist/src/drive-document-model/gen/drive/object.js +0 -29
  441. package/dist/src/drive-document-model/gen/drive/object.js.map +0 -1
  442. package/dist/src/drive-document-model/gen/drive/operations.d.ts +0 -14
  443. package/dist/src/drive-document-model/gen/drive/operations.d.ts.map +0 -1
  444. package/dist/src/drive-document-model/gen/drive/operations.js +0 -2
  445. package/dist/src/drive-document-model/gen/drive/operations.js.map +0 -1
  446. package/dist/src/drive-document-model/gen/node/object.d.ts +0 -13
  447. package/dist/src/drive-document-model/gen/node/object.d.ts.map +0 -1
  448. package/dist/src/drive-document-model/gen/node/object.js +0 -26
  449. package/dist/src/drive-document-model/gen/node/object.js.map +0 -1
  450. package/dist/src/drive-document-model/gen/node/operations.d.ts +0 -13
  451. package/dist/src/drive-document-model/gen/node/operations.d.ts.map +0 -1
  452. package/dist/src/drive-document-model/gen/node/operations.js +0 -2
  453. package/dist/src/drive-document-model/gen/node/operations.js.map +0 -1
  454. package/dist/src/drive-document-model/gen/object.d.ts +0 -17
  455. package/dist/src/drive-document-model/gen/object.d.ts.map +0 -1
  456. package/dist/src/drive-document-model/gen/object.js +0 -28
  457. package/dist/src/drive-document-model/gen/object.js.map +0 -1
  458. package/dist/src/storage/prisma/client/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
  459. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  460. /package/{dist/src → src}/storage/prisma/client/default.d.ts +0 -0
  461. /package/{dist/src → src}/storage/prisma/client/default.js +0 -0
  462. /package/{dist/src → src}/storage/prisma/client/edge.d.ts +0 -0
  463. /package/{dist/src → src}/storage/prisma/client/index-browser.js +0 -0
  464. /package/{dist/src → src}/storage/prisma/client/index.d.ts +0 -0
  465. /package/{dist/src → src}/storage/prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  466. /package/{dist/src → src}/storage/prisma/client/libquery_engine-linux-musl.so.node +0 -0
  467. /package/{dist/src → src}/storage/prisma/client/runtime/edge-esm.js +0 -0
  468. /package/{dist/src → src}/storage/prisma/client/runtime/edge.js +0 -0
  469. /package/{dist/src → src}/storage/prisma/client/runtime/index-browser.d.ts +0 -0
  470. /package/{dist/src → src}/storage/prisma/client/runtime/index-browser.js +0 -0
  471. /package/{dist/src → src}/storage/prisma/client/runtime/library.d.ts +0 -0
  472. /package/{dist/src → src}/storage/prisma/client/runtime/library.js +0 -0
  473. /package/{dist/src → src}/storage/prisma/client/runtime/react-native.js +0 -0
  474. /package/{dist/src → src}/storage/prisma/client/runtime/wasm.js +0 -0
  475. /package/{dist/src → src}/storage/prisma/client/wasm.d.ts +0 -0
  476. /package/{dist/src → src}/storage/prisma/client/wasm.js +0 -0
@@ -0,0 +1,444 @@
1
+ import { driveDocumentModelModule, MemoryStorage, ReactorBuilder, } from "document-drive";
2
+ import { documentModelDocumentModelModule, generateId } from "document-model";
3
+ import { afterEach, describe, expect, it, vi } from "vitest";
4
+ const drive1 = {
5
+ url: "https://test.com/d/drive1",
6
+ id: "drive1",
7
+ };
8
+ const drive2 = {
9
+ url: "https://test.com/d/drive2",
10
+ id: "drive2",
11
+ };
12
+ const drive3 = {
13
+ url: "https://test.com/d/drive3",
14
+ id: "drive3",
15
+ };
16
+ const drive4 = {
17
+ url: "https://test.com/d/drive4",
18
+ id: "drive4",
19
+ };
20
+ const generateDrive = (id) => ({
21
+ url: `https://test.com/d/${id}`,
22
+ id: id,
23
+ name: `Drive ${id}`,
24
+ icon: undefined,
25
+ slug: id,
26
+ });
27
+ const driveMetadataByUrl = {
28
+ [drive1.url]: {
29
+ id: drive1.id,
30
+ name: "Drive1",
31
+ icon: undefined,
32
+ slug: "drive1",
33
+ },
34
+ [drive2.url]: {
35
+ id: drive2.id,
36
+ name: "Drive2",
37
+ icon: undefined,
38
+ slug: "drive2",
39
+ },
40
+ [drive3.url]: {
41
+ id: drive3.id,
42
+ name: "Drive3",
43
+ icon: undefined,
44
+ slug: "drive3",
45
+ },
46
+ [drive4.url]: {
47
+ id: drive4.id,
48
+ name: "Drive4",
49
+ icon: undefined,
50
+ slug: "drive4",
51
+ },
52
+ };
53
+ const getDefaultRemoteDriveInput = (drive) => ({
54
+ url: drive.url,
55
+ options: {
56
+ accessLevel: "WRITE",
57
+ sharingType: "PUBLIC",
58
+ availableOffline: true,
59
+ listeners: [
60
+ {
61
+ block: true,
62
+ callInfo: {
63
+ data: drive.url,
64
+ name: "switchboard-push",
65
+ transmitterType: "SwitchboardPush",
66
+ },
67
+ filter: {
68
+ branch: ["main"],
69
+ documentId: ["*"],
70
+ documentType: ["*"],
71
+ scope: ["global"],
72
+ },
73
+ label: "Switchboard Sync",
74
+ listenerId: "1",
75
+ system: true,
76
+ },
77
+ ],
78
+ triggers: [],
79
+ },
80
+ });
81
+ vi.mock(import("graphql-request"), async () => {
82
+ const originalModule = await vi.importActual("graphql-request");
83
+ return {
84
+ ...originalModule,
85
+ GraphQLClient: vi
86
+ .fn()
87
+ .mockImplementation((driveUrl) => {
88
+ return {
89
+ request: vi.fn().mockImplementation((query) => {
90
+ if (query.includes("query getDrive")) {
91
+ return Promise.resolve({
92
+ drive: driveMetadataByUrl[driveUrl],
93
+ });
94
+ }
95
+ if (query.includes("query strands")) {
96
+ return Promise.resolve({
97
+ system: {
98
+ sync: {
99
+ strands: [],
100
+ },
101
+ },
102
+ });
103
+ }
104
+ if (query.includes("mutation registerPullResponderListener")) {
105
+ return Promise.resolve({
106
+ registerPullResponderListener: {
107
+ listenerId: generateId(),
108
+ },
109
+ });
110
+ }
111
+ return Promise.resolve({});
112
+ }),
113
+ };
114
+ }),
115
+ gql: vi.fn().mockImplementation((...args) => args.join("")),
116
+ };
117
+ });
118
+ const documentModels = [
119
+ driveDocumentModelModule,
120
+ documentModelDocumentModelModule,
121
+ ];
122
+ describe("default remote drives", () => {
123
+ const documentDriveServerOptions = {
124
+ defaultDrives: { remoteDrives: [getDefaultRemoteDriveInput(drive1)] },
125
+ };
126
+ afterEach(() => {
127
+ delete process.env.DOCUMENT_DRIVE_OLD_REMOTE_DRIVES_STRATEGY;
128
+ delete process.env.DOCUMENT_DRIVE_OLD_REMOTE_DRIVES_URLS;
129
+ delete process.env.DOCUMENT_DRIVE_OLD_REMOTE_DRIVES_IDS;
130
+ });
131
+ it("should add a remote default remote drives added in the config object", async () => {
132
+ const server = new ReactorBuilder(documentModels)
133
+ .withOptions(documentDriveServerOptions)
134
+ .build();
135
+ await server.initialize();
136
+ const drives = await server.getDrives();
137
+ expect(drives).toHaveLength(1);
138
+ expect(drives).toMatchObject([drive1.id]);
139
+ });
140
+ it("should start defaultRemoteDrives with pending state", () => {
141
+ const server = new ReactorBuilder(documentModels)
142
+ .withOptions(documentDriveServerOptions)
143
+ .build();
144
+ const defaultRemoteDriveConfig = server
145
+ .getDefaultRemoteDrives()
146
+ .get(drive1.url);
147
+ expect(defaultRemoteDriveConfig).toMatchObject({
148
+ url: drive1.url,
149
+ status: "PENDING",
150
+ });
151
+ });
152
+ it("should emit messages when a remote drive is added", async () => {
153
+ const server = new ReactorBuilder(documentModels)
154
+ .withOptions(documentDriveServerOptions)
155
+ .build();
156
+ const mockCallback = vi.fn();
157
+ server.on("defaultRemoteDrive", mockCallback);
158
+ await server.initialize();
159
+ expect(mockCallback).toHaveBeenCalledTimes(2);
160
+ expect(mockCallback.mock.calls[0][0]).toBe("ADDING");
161
+ expect(mockCallback.mock.calls[0][3]).toBe(undefined);
162
+ expect(mockCallback.mock.calls[1][0]).toBe("SUCCESS");
163
+ expect(mockCallback.mock.calls[1][3]).toBe(drive1.id);
164
+ });
165
+ it("should not add an existing remote drive", async () => {
166
+ const storage = new MemoryStorage();
167
+ const server1 = new ReactorBuilder(documentModels)
168
+ .withOptions(documentDriveServerOptions)
169
+ .withStorage(storage)
170
+ .build();
171
+ await server1.initialize();
172
+ const server2 = new ReactorBuilder(documentModels)
173
+ .withOptions(documentDriveServerOptions)
174
+ .withStorage(storage)
175
+ .build();
176
+ const mockCallback = vi.fn();
177
+ server2.on("defaultRemoteDrive", mockCallback);
178
+ await server2.initialize();
179
+ expect(mockCallback).toHaveBeenCalledTimes(1);
180
+ expect(mockCallback.mock.calls[0][0]).toBe("ALREADY_ADDED");
181
+ expect(mockCallback.mock.calls[0][3]).toBe(drive1.id);
182
+ });
183
+ });
184
+ describe("remove old drives", () => {
185
+ const expectPublicDrive = (drive) => {
186
+ expect(drive.state.local.listeners).toHaveLength(1);
187
+ expect(drive.state.local.triggers).toHaveLength(1);
188
+ expect(drive.operations.local).toHaveLength(0);
189
+ };
190
+ const expectDetachedDrive = (drive) => {
191
+ expect(drive.state.local.listeners).toHaveLength(0);
192
+ expect(drive.state.local.triggers).toHaveLength(0);
193
+ expect(drive.operations.local).toMatchObject([
194
+ {
195
+ type: "REMOVE_LISTENER",
196
+ index: 0,
197
+ },
198
+ {
199
+ type: "REMOVE_TRIGGER",
200
+ index: 1,
201
+ },
202
+ {
203
+ type: "SET_SHARING_TYPE",
204
+ input: { type: "LOCAL" },
205
+ index: 2,
206
+ },
207
+ ]);
208
+ expect(drive.state.local.sharingType).toBe("LOCAL");
209
+ };
210
+ const documentDriveServerOptions = {
211
+ defaultDrives: {
212
+ remoteDrives: [
213
+ getDefaultRemoteDriveInput(drive1),
214
+ getDefaultRemoteDriveInput(drive2),
215
+ getDefaultRemoteDriveInput(drive3),
216
+ getDefaultRemoteDriveInput(drive4),
217
+ ],
218
+ },
219
+ };
220
+ const generatePopulatedStorage = async () => {
221
+ const storage = new MemoryStorage();
222
+ const server1 = new ReactorBuilder(documentModels)
223
+ .withOptions(documentDriveServerOptions)
224
+ .withStorage(storage)
225
+ .build();
226
+ await server1.initialize();
227
+ return storage;
228
+ };
229
+ it("should preserve all old drives when 'preserve-all' strategy is used", async () => {
230
+ const storage = await generatePopulatedStorage();
231
+ const server = new ReactorBuilder(documentModels)
232
+ .withOptions({
233
+ defaultDrives: {
234
+ removeOldRemoteDrives: {
235
+ strategy: "preserve-all",
236
+ },
237
+ },
238
+ })
239
+ .withStorage(storage)
240
+ .build();
241
+ await server.initialize();
242
+ const drives = await server.getDrives();
243
+ expect(drives).toHaveLength(4);
244
+ expect(drives).toMatchObject([drive1.id, drive2.id, drive3.id, drive4.id]);
245
+ });
246
+ it("should preserve only remote drives specified when 'preserve-by-id' strategy is used", async () => {
247
+ const storage = await generatePopulatedStorage();
248
+ const server = new ReactorBuilder(documentModels)
249
+ .withOptions({
250
+ defaultDrives: {
251
+ removeOldRemoteDrives: {
252
+ strategy: "preserve-by-id",
253
+ ids: [drive1.id, drive2.id],
254
+ },
255
+ },
256
+ })
257
+ .withStorage(storage)
258
+ .build();
259
+ await server.initialize();
260
+ const drives = await server.getDrives();
261
+ expect(drives).toHaveLength(2);
262
+ expect(drives).toMatchObject([drive1.id, drive2.id]);
263
+ });
264
+ it("should preserve only remote drives specified when 'preserve-by-url' strategy is used", async () => {
265
+ const storage = await generatePopulatedStorage();
266
+ const server = new ReactorBuilder(documentModels)
267
+ .withOptions({
268
+ defaultDrives: {
269
+ removeOldRemoteDrives: {
270
+ strategy: "preserve-by-url",
271
+ urls: [drive1.url, drive2.url],
272
+ },
273
+ },
274
+ })
275
+ .withStorage(storage)
276
+ .build();
277
+ await server.initialize();
278
+ const drives = await server.getDrives();
279
+ expect(drives).toHaveLength(2);
280
+ expect(drives).toMatchObject([drive1.id, drive2.id]);
281
+ });
282
+ it("should remove all remote drives when 'remove-all' strategy is used", async () => {
283
+ const storage = await generatePopulatedStorage();
284
+ const server = new ReactorBuilder(documentModels)
285
+ .withOptions({
286
+ defaultDrives: {
287
+ removeOldRemoteDrives: {
288
+ strategy: "remove-all",
289
+ },
290
+ },
291
+ })
292
+ .withStorage(storage)
293
+ .build();
294
+ await server.initialize();
295
+ const drives = await server.getDrives();
296
+ expect(drives).toHaveLength(0);
297
+ });
298
+ it("should remove only remote drives specified when 'remove-by-id' strategy is used", async () => {
299
+ const storage = await generatePopulatedStorage();
300
+ const server = new ReactorBuilder(documentModels)
301
+ .withOptions({
302
+ defaultDrives: {
303
+ removeOldRemoteDrives: {
304
+ strategy: "remove-by-id",
305
+ ids: [drive1.id, drive2.id],
306
+ },
307
+ },
308
+ })
309
+ .withStorage(storage)
310
+ .build();
311
+ await server.initialize();
312
+ const drives = await server.getDrives();
313
+ console.log("drives", drives);
314
+ expect(drives).toHaveLength(2);
315
+ expect(drives).toMatchObject([drive3.id, drive4.id]);
316
+ });
317
+ it("should remove only remote drives specified when 'remove-by-url' strategy is used", async () => {
318
+ const storage = await generatePopulatedStorage();
319
+ const server = new ReactorBuilder(documentModels)
320
+ .withOptions({
321
+ defaultDrives: {
322
+ removeOldRemoteDrives: {
323
+ strategy: "remove-by-url",
324
+ urls: [drive1.url, drive2.url],
325
+ },
326
+ },
327
+ })
328
+ .withStorage(storage)
329
+ .build();
330
+ await server.initialize();
331
+ const drives = await server.getDrives();
332
+ expect(drives).toHaveLength(2);
333
+ expect(drives).toMatchObject([drive3.id, drive4.id]);
334
+ });
335
+ it("should detach remote drives by id", async () => {
336
+ const storage = await generatePopulatedStorage();
337
+ const server = new ReactorBuilder(documentModels)
338
+ .withOptions({
339
+ defaultDrives: {
340
+ removeOldRemoteDrives: {
341
+ strategy: "detach-by-id",
342
+ ids: [drive1.id, drive2.id],
343
+ },
344
+ },
345
+ })
346
+ .withStorage(storage)
347
+ .build();
348
+ let docDrive1 = await server.getDrive(drive1.id);
349
+ let docDrive2 = await server.getDrive(drive2.id);
350
+ expectPublicDrive(docDrive1);
351
+ expectPublicDrive(docDrive2);
352
+ await server.initialize();
353
+ docDrive1 = await server.getDrive(drive1.id);
354
+ docDrive2 = await server.getDrive(drive2.id);
355
+ const docDrive3 = await server.getDrive(drive3.id);
356
+ const docDrive4 = await server.getDrive(drive4.id);
357
+ expectDetachedDrive(docDrive1);
358
+ expectDetachedDrive(docDrive2);
359
+ expectPublicDrive(docDrive3);
360
+ expectPublicDrive(docDrive4);
361
+ });
362
+ it("should detach remote drives by url", async () => {
363
+ const storage = await generatePopulatedStorage();
364
+ const server = new ReactorBuilder(documentModels)
365
+ .withOptions({
366
+ defaultDrives: {
367
+ removeOldRemoteDrives: {
368
+ strategy: "detach-by-url",
369
+ urls: [drive1.url, drive2.url],
370
+ },
371
+ },
372
+ })
373
+ .withStorage(storage)
374
+ .build();
375
+ let docDrive1 = await server.getDrive(drive1.id);
376
+ let docDrive2 = await server.getDrive(drive2.id);
377
+ expectPublicDrive(docDrive1);
378
+ expectPublicDrive(docDrive2);
379
+ await server.initialize();
380
+ docDrive1 = await server.getDrive(drive1.id);
381
+ docDrive2 = await server.getDrive(drive2.id);
382
+ const docDrive3 = await server.getDrive(drive3.id);
383
+ const docDrive4 = await server.getDrive(drive4.id);
384
+ expectDetachedDrive(docDrive1);
385
+ expectDetachedDrive(docDrive2);
386
+ expectPublicDrive(docDrive3);
387
+ expectPublicDrive(docDrive4);
388
+ });
389
+ it("should preserve only remote drives specified when 'preserve-by-id-and-detach' strategy is used", async () => {
390
+ const storage = await generatePopulatedStorage();
391
+ const server = new ReactorBuilder(documentModels)
392
+ .withOptions({
393
+ defaultDrives: {
394
+ removeOldRemoteDrives: {
395
+ strategy: "preserve-by-id-and-detach",
396
+ ids: [drive1.id, drive2.id],
397
+ },
398
+ },
399
+ })
400
+ .withStorage(storage)
401
+ .build();
402
+ let docDrive3 = await server.getDrive(drive3.id);
403
+ let docDrive4 = await server.getDrive(drive4.id);
404
+ expectPublicDrive(docDrive3);
405
+ expectPublicDrive(docDrive4);
406
+ await server.initialize();
407
+ docDrive3 = await server.getDrive(drive3.id);
408
+ docDrive4 = await server.getDrive(drive4.id);
409
+ const docDrive1 = await server.getDrive(drive1.id);
410
+ const docDrive2 = await server.getDrive(drive2.id);
411
+ expectPublicDrive(docDrive1);
412
+ expectPublicDrive(docDrive2);
413
+ expectDetachedDrive(docDrive3);
414
+ expectDetachedDrive(docDrive4);
415
+ });
416
+ it("should preserve only remote drives specified when 'preserve-by-url-and-detach' strategy is used", async () => {
417
+ const storage = await generatePopulatedStorage();
418
+ const server = new ReactorBuilder(documentModels)
419
+ .withOptions({
420
+ defaultDrives: {
421
+ removeOldRemoteDrives: {
422
+ strategy: "preserve-by-url-and-detach",
423
+ urls: [drive1.url, drive2.url],
424
+ },
425
+ },
426
+ })
427
+ .withStorage(storage)
428
+ .build();
429
+ let docDrive3 = await server.getDrive(drive3.id);
430
+ let docDrive4 = await server.getDrive(drive4.id);
431
+ expectPublicDrive(docDrive3);
432
+ expectPublicDrive(docDrive4);
433
+ await server.initialize();
434
+ docDrive3 = await server.getDrive(drive3.id);
435
+ docDrive4 = await server.getDrive(drive4.id);
436
+ const docDrive1 = await server.getDrive(drive1.id);
437
+ const docDrive2 = await server.getDrive(drive2.id);
438
+ expectPublicDrive(docDrive1);
439
+ expectPublicDrive(docDrive2);
440
+ expectDetachedDrive(docDrive3);
441
+ expectDetachedDrive(docDrive4);
442
+ });
443
+ });
444
+ //# sourceMappingURL=default-remote-drives.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-remote-drives.test.js","sourceRoot":"","sources":["../../test/default-remote-drives.test.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gCAAgC,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAM7D,MAAM,MAAM,GAAe;IACzB,GAAG,EAAE,2BAA2B;IAChC,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,MAAM,GAAe;IACzB,GAAG,EAAE,2BAA2B;IAChC,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,MAAM,GAAe;IACzB,GAAG,EAAE,2BAA2B;IAChC,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,MAAM,GAAe;IACzB,GAAG,EAAE,2BAA2B;IAChC,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,EAAE,sBAAsB,EAAE,EAAE;IAC/B,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,SAAS,EAAE,EAAE;IACnB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,EAAE;CACT,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAA8B;IACpD,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;KACf;IACD,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;KACf;IACD,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;KACf;IACD,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AACF,MAAM,0BAA0B,GAAG,CACjC,KAAiB,EACQ,EAAE,CAAC,CAAC;IAC7B,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,OAAO,EAAE;QACP,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,QAAQ;QACrB,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,IAAI,EAAE,kBAAkB;oBACxB,eAAe,EAAE,iBAAiB;iBACnC;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC,MAAM,CAAC;oBAChB,UAAU,EAAE,CAAC,GAAG,CAAC;oBACjB,YAAY,EAAE,CAAC,GAAG,CAAC;oBACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;iBAClB;gBACD,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,IAAI;aACb;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,cAAc;QACjB,aAAa,EAAE,EAAE;aACd,EAAE,EAAE;aACJ,kBAAkB,CAAC,CAAC,QAAyC,EAAE,EAAE;YAChE,OAAO;gBACL,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAa,EAAE,EAAE;oBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACrC,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC;yBACpC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACpC,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,OAAO,EAAE,EAAE;iCACZ;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE,CAAC;wBAC7D,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,6BAA6B,EAAE;gCAC7B,UAAU,EAAE,UAAU,EAAE;6BACzB;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC;QACJ,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG;IACrB,wBAAwB;IACxB,gCAAgC;CACH,CAAC;AAEhC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,0BAA0B,GAA+B;QAC7D,aAAa,EAAE,EAAE,YAAY,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,EAAE;KACtE,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC;QAC7D,OAAO,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC,0BAA0B,CAAC;aACvC,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC,0BAA0B,CAAC;aACvC,KAAK,EAAE,CAAC;QACX,MAAM,wBAAwB,GAAG,MAAM;aACpC,sBAAsB,EAAE;aACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnB,MAAM,CAAC,wBAAwB,CAAC,CAAC,aAAa,CAAC;YAC7C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC,0BAA0B,CAAC;aACvC,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE7B,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAE9C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC/C,WAAW,CAAC,0BAA0B,CAAC;aACvC,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC/C,WAAW,CAAC,0BAA0B,CAAC;aACvC,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE7B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAE3B,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAA4B,EAAE,EAAE;QAC3D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC3C;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;gBACxB,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAA+B;QAC7D,aAAa,EAAE;YACb,YAAY,EAAE;gBACZ,0BAA0B,CAAC,MAAM,CAAC;gBAClC,0BAA0B,CAAC,MAAM,CAAC;gBAClC,0BAA0B,CAAC,MAAM,CAAC;gBAClC,0BAA0B,CAAC,MAAM,CAAC;aACnC;SACF;KACF,CAAC;IAEF,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;QAC1C,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC/C,WAAW,CAAC,0BAA0B,CAAC;aACvC,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,cAAc;iBACzB;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,gBAAgB;oBAC1B,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;iBAC5B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;iBAC/B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,YAAY;iBACvB;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,cAAc;oBACxB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;iBAC5B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;iBAC/B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,cAAc;oBACxB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;iBAC5B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEnD,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;iBAC/B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEnD,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,2BAA2B;oBACrC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;iBAC5B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEnD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;QAC/G,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;aAC9C,WAAW,CAAC;YACX,aAAa,EAAE;gBACb,qBAAqB,EAAE;oBACrB,QAAQ,EAAE,4BAA4B;oBACtC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;iBAC/B;aACF;SACF,CAAC;aACD,WAAW,CAAC,OAAO,CAAC;aACpB,KAAK,EAAE,CAAC;QAEX,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEnD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=drive-operations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive-operations.test.d.ts","sourceRoot":"","sources":["../../test/drive-operations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,133 @@
1
+ import { addFolder, driveDocumentModelModule, driveDocumentReducer, MemoryStorage, ReactorBuilder, setAvailableOffline, } from "document-drive";
2
+ import { documentModelDocumentModelModule, generateId } from "document-model";
3
+ import { beforeEach, describe, expect, it } from "vitest";
4
+ function buildOperation(document, action, index) {
5
+ const newDocument = driveDocumentReducer(document, action);
6
+ const operation = newDocument.operations[action.scope].slice().pop();
7
+ return { ...operation, index: index ?? operation.index };
8
+ }
9
+ function buildOperations(document, actions) {
10
+ const operations = [];
11
+ for (const action of actions) {
12
+ document = driveDocumentReducer(document, action);
13
+ const operation = document.operations[action.scope].slice().pop();
14
+ operations.push(operation);
15
+ }
16
+ return operations;
17
+ }
18
+ describe("Drive operations", () => {
19
+ const documentModels = [
20
+ documentModelDocumentModelModule,
21
+ driveDocumentModelModule,
22
+ ];
23
+ const storage = new MemoryStorage();
24
+ let server = new ReactorBuilder(documentModels).withStorage(storage).build();
25
+ beforeEach(async () => {
26
+ server = new ReactorBuilder(documentModels).build();
27
+ await server.initialize();
28
+ });
29
+ it("should be able to apply an operation to the drive", async () => {
30
+ const id = generateId();
31
+ await server.addDrive({
32
+ id,
33
+ global: { name: "test" },
34
+ local: {
35
+ availableOffline: false,
36
+ sharingType: "PRIVATE",
37
+ listeners: [],
38
+ triggers: [],
39
+ },
40
+ });
41
+ const drive = await server.getDrive(id);
42
+ const result = await server.addOperation(id, buildOperation(drive, addFolder({ id: "1", name: "test" })));
43
+ expect(result.status).toBe("SUCCESS");
44
+ });
45
+ it("should reject invalid operation", async () => {
46
+ const id = generateId();
47
+ await storage.clear();
48
+ await server.addDrive({
49
+ id,
50
+ global: { name: "test" },
51
+ local: {
52
+ availableOffline: false,
53
+ sharingType: "PRIVATE",
54
+ listeners: [],
55
+ triggers: [],
56
+ },
57
+ });
58
+ const drive = await server.getDrive(id);
59
+ await server.addOperation(id, buildOperation(drive, addFolder({ id: "1", name: "test" })));
60
+ const result = await server.addOperation(id, buildOperation(drive, addFolder({ id: "1", name: "test" }), 1));
61
+ expect(result.status).toBe("SUCCESS");
62
+ expect(result.operations.find((op) => op.error)?.error).toBe("Node with id 1 already exists!");
63
+ });
64
+ it("should reject operation with missing index", async () => {
65
+ const id = generateId();
66
+ await server.addDrive({
67
+ id,
68
+ global: { name: "test" },
69
+ local: {
70
+ availableOffline: false,
71
+ sharingType: "PRIVATE",
72
+ listeners: [],
73
+ triggers: [],
74
+ },
75
+ });
76
+ const drive = await server.getDrive(id);
77
+ await server.addOperation(id, buildOperation(drive, addFolder({ id: "1", name: "test" })));
78
+ const result = await server.addOperation(id, buildOperation(drive, addFolder({ id: "2", name: "test 2" }), 2));
79
+ expect(result.status).toBe("ERROR");
80
+ expect(result.error?.message).toBe("Missing operations: expected 1 with skip 0 or equivalent, got index 2 with skip 0");
81
+ });
82
+ it("should accept operations until invalid operation", async () => {
83
+ const id = generateId();
84
+ await server.addDrive({
85
+ id,
86
+ global: { name: "test" },
87
+ local: {
88
+ availableOffline: false,
89
+ sharingType: "PRIVATE",
90
+ listeners: [],
91
+ triggers: [],
92
+ },
93
+ });
94
+ let drive = await server.getDrive(id);
95
+ const result = await server.addOperations(id, [
96
+ ...buildOperations(drive, [
97
+ addFolder({ id: "1", name: "test 1" }),
98
+ addFolder({ id: "2", name: "test 2" }),
99
+ addFolder({ id: "3", name: "test 3" }),
100
+ ]),
101
+ buildOperation(drive, addFolder({ id: "4", name: "test 4" }), 4),
102
+ ]);
103
+ expect(result.status).toBe("ERROR");
104
+ expect(result.error?.message).toBe("Missing operations: expected 3 with skip 0 or equivalent, got index 4 with skip 0");
105
+ expect(result.operations.length).toBe(3);
106
+ drive = await server.getDrive(id);
107
+ expect(drive.state.global.nodes).toStrictEqual([
108
+ expect.objectContaining({ id: "1", name: "test 1" }),
109
+ expect.objectContaining({ id: "2", name: "test 2" }),
110
+ expect.objectContaining({ id: "3", name: "test 3" }),
111
+ ]);
112
+ });
113
+ it("should reject operations with different scopes", async () => {
114
+ const id = generateId();
115
+ await server.addDrive({
116
+ id,
117
+ global: { name: "test" },
118
+ local: {
119
+ availableOffline: false,
120
+ sharingType: "PRIVATE",
121
+ listeners: [],
122
+ triggers: [],
123
+ },
124
+ });
125
+ const drive = await server.getDrive(id);
126
+ await expect(server.addOperations(id, buildOperations(drive, [
127
+ addFolder({ id: "1", name: "test 1" }),
128
+ addFolder({ id: "2", name: "test 2" }),
129
+ setAvailableOffline({ availableOffline: true }),
130
+ ]))).rejects.toThrow("Job has actions with different scopes");
131
+ });
132
+ });
133
+ //# sourceMappingURL=drive-operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive-operations.test.js","sourceRoot":"","sources":["../../test/drive-operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graphql.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.test.d.ts","sourceRoot":"","sources":["../../test/graphql.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { driveDocumentModelModule, generateDocumentStateQueryFields, } from "document-drive";
2
+ import { describe, it } from "vitest";
3
+ describe("Graphql methods", () => {
4
+ it("should generate document drive query", ({ expect }) => {
5
+ const schema = generateDocumentStateQueryFields(driveDocumentModelModule.documentModel, "");
6
+ expect(schema).toEqual("name nodes { ... on FolderNode { id name kind parentFolder } ... on FileNode { id name kind documentType parentFolder } } icon");
7
+ });
8
+ });
9
+ //# sourceMappingURL=graphql.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.test.js","sourceRoot":"","sources":["../../test/graphql.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEtC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,sCAAsC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,gCAAgC,CAC7C,wBAAwB,CAAC,aAAa,EACtC,EAAE,CACH,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,gIAAgI,CACjI,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./utils.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./utils.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=internal-listener.test.d.ts.map