document-drive 6.0.0-dev.105 → 6.0.0-dev.106

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 (564) hide show
  1. package/dist/chunk-CX61OkwL.mjs +16 -0
  2. package/dist/index-HOJm2mt2.d.mts +205 -0
  3. package/dist/index-HOJm2mt2.d.mts.map +1 -0
  4. package/dist/index.d.ts +1944 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +5170 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/storage/filesystem.d.mts +49 -0
  9. package/dist/storage/filesystem.d.mts.map +1 -0
  10. package/dist/storage/filesystem.mjs +371 -0
  11. package/dist/storage/filesystem.mjs.map +1 -0
  12. package/dist/storage/prisma.d.mts +11508 -0
  13. package/dist/storage/prisma.d.mts.map +1 -0
  14. package/dist/storage/prisma.mjs +7582 -0
  15. package/dist/storage/prisma.mjs.map +1 -0
  16. package/dist/utils-BI7cwVSp.mjs +74 -0
  17. package/dist/utils-BI7cwVSp.mjs.map +1 -0
  18. package/package.json +21 -38
  19. package/dist/prisma/schema.prisma +0 -93
  20. package/dist/src/cache/index.d.ts +0 -4
  21. package/dist/src/cache/index.d.ts.map +0 -1
  22. package/dist/src/cache/index.js +0 -4
  23. package/dist/src/cache/index.js.map +0 -1
  24. package/dist/src/cache/lru.d.ts +0 -22
  25. package/dist/src/cache/lru.d.ts.map +0 -1
  26. package/dist/src/cache/lru.js +0 -40
  27. package/dist/src/cache/lru.js.map +0 -1
  28. package/dist/src/cache/memory.d.ts +0 -27
  29. package/dist/src/cache/memory.d.ts.map +0 -1
  30. package/dist/src/cache/memory.js +0 -104
  31. package/dist/src/cache/memory.js.map +0 -1
  32. package/dist/src/cache/redis.d.ts +0 -22
  33. package/dist/src/cache/redis.d.ts.map +0 -1
  34. package/dist/src/cache/redis.js +0 -91
  35. package/dist/src/cache/redis.js.map +0 -1
  36. package/dist/src/cache/types.d.ts +0 -37
  37. package/dist/src/cache/types.d.ts.map +0 -1
  38. package/dist/src/cache/types.js +0 -2
  39. package/dist/src/cache/types.js.map +0 -1
  40. package/dist/src/cache/util.d.ts +0 -3
  41. package/dist/src/cache/util.d.ts.map +0 -1
  42. package/dist/src/cache/util.js +0 -16
  43. package/dist/src/cache/util.js.map +0 -1
  44. package/dist/src/drive-document-model/constants.d.ts +0 -2
  45. package/dist/src/drive-document-model/constants.d.ts.map +0 -1
  46. package/dist/src/drive-document-model/constants.js +0 -2
  47. package/dist/src/drive-document-model/constants.js.map +0 -1
  48. package/dist/src/drive-document-model/gen/creators.d.ts +0 -3
  49. package/dist/src/drive-document-model/gen/creators.d.ts.map +0 -1
  50. package/dist/src/drive-document-model/gen/creators.js +0 -3
  51. package/dist/src/drive-document-model/gen/creators.js.map +0 -1
  52. package/dist/src/drive-document-model/gen/document-model.d.ts +0 -3
  53. package/dist/src/drive-document-model/gen/document-model.d.ts.map +0 -1
  54. package/dist/src/drive-document-model/gen/document-model.js +0 -210
  55. package/dist/src/drive-document-model/gen/document-model.js.map +0 -1
  56. package/dist/src/drive-document-model/gen/document-schema.d.ts +0 -68
  57. package/dist/src/drive-document-model/gen/document-schema.d.ts.map +0 -1
  58. package/dist/src/drive-document-model/gen/document-schema.js +0 -35
  59. package/dist/src/drive-document-model/gen/document-schema.js.map +0 -1
  60. package/dist/src/drive-document-model/gen/document-type.d.ts +0 -2
  61. package/dist/src/drive-document-model/gen/document-type.d.ts.map +0 -1
  62. package/dist/src/drive-document-model/gen/document-type.js +0 -2
  63. package/dist/src/drive-document-model/gen/document-type.js.map +0 -1
  64. package/dist/src/drive-document-model/gen/drive/actions.d.ts +0 -46
  65. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +0 -1
  66. package/dist/src/drive-document-model/gen/drive/actions.js +0 -2
  67. package/dist/src/drive-document-model/gen/drive/actions.js.map +0 -1
  68. package/dist/src/drive-document-model/gen/drive/creators.d.ts +0 -10
  69. package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +0 -1
  70. package/dist/src/drive-document-model/gen/drive/creators.js +0 -11
  71. package/dist/src/drive-document-model/gen/drive/creators.js.map +0 -1
  72. package/dist/src/drive-document-model/gen/drive/error.d.ts +0 -2
  73. package/dist/src/drive-document-model/gen/drive/error.d.ts.map +0 -1
  74. package/dist/src/drive-document-model/gen/drive/error.js +0 -2
  75. package/dist/src/drive-document-model/gen/drive/error.js.map +0 -1
  76. package/dist/src/drive-document-model/gen/drive/index.d.ts +0 -2
  77. package/dist/src/drive-document-model/gen/drive/index.d.ts.map +0 -1
  78. package/dist/src/drive-document-model/gen/drive/index.js +0 -2
  79. package/dist/src/drive-document-model/gen/drive/index.js.map +0 -1
  80. package/dist/src/drive-document-model/gen/drive/types.d.ts +0 -2
  81. package/dist/src/drive-document-model/gen/drive/types.d.ts.map +0 -1
  82. package/dist/src/drive-document-model/gen/drive/types.js +0 -2
  83. package/dist/src/drive-document-model/gen/drive/types.js.map +0 -1
  84. package/dist/src/drive-document-model/gen/index.d.ts +0 -10
  85. package/dist/src/drive-document-model/gen/index.d.ts.map +0 -1
  86. package/dist/src/drive-document-model/gen/index.js +0 -10
  87. package/dist/src/drive-document-model/gen/index.js.map +0 -1
  88. package/dist/src/drive-document-model/gen/node/actions.d.ts +0 -41
  89. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +0 -1
  90. package/dist/src/drive-document-model/gen/node/actions.js +0 -2
  91. package/dist/src/drive-document-model/gen/node/actions.js.map +0 -1
  92. package/dist/src/drive-document-model/gen/node/creators.d.ts +0 -13
  93. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +0 -1
  94. package/dist/src/drive-document-model/gen/node/creators.js +0 -17
  95. package/dist/src/drive-document-model/gen/node/creators.js.map +0 -1
  96. package/dist/src/drive-document-model/gen/node/error.d.ts +0 -2
  97. package/dist/src/drive-document-model/gen/node/error.d.ts.map +0 -1
  98. package/dist/src/drive-document-model/gen/node/error.js +0 -2
  99. package/dist/src/drive-document-model/gen/node/error.js.map +0 -1
  100. package/dist/src/drive-document-model/gen/node/index.d.ts +0 -2
  101. package/dist/src/drive-document-model/gen/node/index.d.ts.map +0 -1
  102. package/dist/src/drive-document-model/gen/node/index.js +0 -2
  103. package/dist/src/drive-document-model/gen/node/index.js.map +0 -1
  104. package/dist/src/drive-document-model/gen/node/types.d.ts +0 -2
  105. package/dist/src/drive-document-model/gen/node/types.d.ts.map +0 -1
  106. package/dist/src/drive-document-model/gen/node/types.js +0 -2
  107. package/dist/src/drive-document-model/gen/node/types.js.map +0 -1
  108. package/dist/src/drive-document-model/gen/ph-factories.d.ts +0 -12
  109. package/dist/src/drive-document-model/gen/ph-factories.d.ts.map +0 -1
  110. package/dist/src/drive-document-model/gen/ph-factories.js +0 -46
  111. package/dist/src/drive-document-model/gen/ph-factories.js.map +0 -1
  112. package/dist/src/drive-document-model/gen/reducer.d.ts +0 -4
  113. package/dist/src/drive-document-model/gen/reducer.d.ts.map +0 -1
  114. package/dist/src/drive-document-model/gen/reducer.js +0 -76
  115. package/dist/src/drive-document-model/gen/reducer.js.map +0 -1
  116. package/dist/src/drive-document-model/gen/schema/index.d.ts +0 -2
  117. package/dist/src/drive-document-model/gen/schema/index.d.ts.map +0 -1
  118. package/dist/src/drive-document-model/gen/schema/index.js +0 -2
  119. package/dist/src/drive-document-model/gen/schema/index.js.map +0 -1
  120. package/dist/src/drive-document-model/gen/schema/types.d.ts +0 -283
  121. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +0 -1
  122. package/dist/src/drive-document-model/gen/schema/types.js +0 -2
  123. package/dist/src/drive-document-model/gen/schema/types.js.map +0 -1
  124. package/dist/src/drive-document-model/gen/schema/zod.d.ts +0 -67
  125. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +0 -1
  126. package/dist/src/drive-document-model/gen/schema/zod.js +0 -229
  127. package/dist/src/drive-document-model/gen/schema/zod.js.map +0 -1
  128. package/dist/src/drive-document-model/gen/types.d.ts +0 -21
  129. package/dist/src/drive-document-model/gen/types.d.ts.map +0 -1
  130. package/dist/src/drive-document-model/gen/types.js +0 -4
  131. package/dist/src/drive-document-model/gen/types.js.map +0 -1
  132. package/dist/src/drive-document-model/gen/utils.d.ts +0 -13
  133. package/dist/src/drive-document-model/gen/utils.d.ts.map +0 -1
  134. package/dist/src/drive-document-model/gen/utils.js +0 -48
  135. package/dist/src/drive-document-model/gen/utils.js.map +0 -1
  136. package/dist/src/drive-document-model/index.d.ts +0 -5
  137. package/dist/src/drive-document-model/index.d.ts.map +0 -1
  138. package/dist/src/drive-document-model/index.js +0 -5
  139. package/dist/src/drive-document-model/index.js.map +0 -1
  140. package/dist/src/drive-document-model/module.d.ts +0 -3
  141. package/dist/src/drive-document-model/module.d.ts.map +0 -1
  142. package/dist/src/drive-document-model/module.js +0 -24
  143. package/dist/src/drive-document-model/module.js.map +0 -1
  144. package/dist/src/drive-document-model/src/index.d.ts +0 -3
  145. package/dist/src/drive-document-model/src/index.d.ts.map +0 -1
  146. package/dist/src/drive-document-model/src/index.js +0 -3
  147. package/dist/src/drive-document-model/src/index.js.map +0 -1
  148. package/dist/src/drive-document-model/src/reducers/drive.d.ts +0 -8
  149. package/dist/src/drive-document-model/src/reducers/drive.d.ts.map +0 -1
  150. package/dist/src/drive-document-model/src/reducers/drive.js +0 -66
  151. package/dist/src/drive-document-model/src/reducers/drive.js.map +0 -1
  152. package/dist/src/drive-document-model/src/reducers/index.d.ts +0 -3
  153. package/dist/src/drive-document-model/src/reducers/index.d.ts.map +0 -1
  154. package/dist/src/drive-document-model/src/reducers/index.js +0 -3
  155. package/dist/src/drive-document-model/src/reducers/index.js.map +0 -1
  156. package/dist/src/drive-document-model/src/reducers/node.d.ts +0 -8
  157. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +0 -1
  158. package/dist/src/drive-document-model/src/reducers/node.js +0 -187
  159. package/dist/src/drive-document-model/src/reducers/node.js.map +0 -1
  160. package/dist/src/drive-document-model/src/tests/actions.test.d.ts +0 -2
  161. package/dist/src/drive-document-model/src/tests/actions.test.d.ts.map +0 -1
  162. package/dist/src/drive-document-model/src/tests/actions.test.js +0 -197
  163. package/dist/src/drive-document-model/src/tests/actions.test.js.map +0 -1
  164. package/dist/src/drive-document-model/src/tests/base.test.d.ts +0 -2
  165. package/dist/src/drive-document-model/src/tests/base.test.d.ts.map +0 -1
  166. package/dist/src/drive-document-model/src/tests/base.test.js +0 -44
  167. package/dist/src/drive-document-model/src/tests/base.test.js.map +0 -1
  168. package/dist/src/drive-document-model/src/tests/document-model.test.d.ts +0 -6
  169. package/dist/src/drive-document-model/src/tests/document-model.test.d.ts.map +0 -1
  170. package/dist/src/drive-document-model/src/tests/document-model.test.js +0 -19
  171. package/dist/src/drive-document-model/src/tests/document-model.test.js.map +0 -1
  172. package/dist/src/drive-document-model/src/tests/drive.test.d.ts +0 -6
  173. package/dist/src/drive-document-model/src/tests/drive.test.d.ts.map +0 -1
  174. package/dist/src/drive-document-model/src/tests/drive.test.js +0 -38
  175. package/dist/src/drive-document-model/src/tests/drive.test.js.map +0 -1
  176. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts +0 -3
  177. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts.map +0 -1
  178. package/dist/src/drive-document-model/src/tests/generate-mock.js +0 -5
  179. package/dist/src/drive-document-model/src/tests/generate-mock.js.map +0 -1
  180. package/dist/src/drive-document-model/src/tests/node.test.d.ts +0 -6
  181. package/dist/src/drive-document-model/src/tests/node.test.d.ts.map +0 -1
  182. package/dist/src/drive-document-model/src/tests/node.test.js +0 -343
  183. package/dist/src/drive-document-model/src/tests/node.test.js.map +0 -1
  184. package/dist/src/drive-document-model/src/tests/test-factories.d.ts +0 -9
  185. package/dist/src/drive-document-model/src/tests/test-factories.d.ts.map +0 -1
  186. package/dist/src/drive-document-model/src/tests/test-factories.js +0 -17
  187. package/dist/src/drive-document-model/src/tests/test-factories.js.map +0 -1
  188. package/dist/src/drive-document-model/src/tests/utils.test.d.ts +0 -2
  189. package/dist/src/drive-document-model/src/tests/utils.test.d.ts.map +0 -1
  190. package/dist/src/drive-document-model/src/tests/utils.test.js +0 -232
  191. package/dist/src/drive-document-model/src/tests/utils.test.js.map +0 -1
  192. package/dist/src/drive-document-model/src/types.d.ts +0 -8
  193. package/dist/src/drive-document-model/src/types.d.ts.map +0 -1
  194. package/dist/src/drive-document-model/src/types.js +0 -2
  195. package/dist/src/drive-document-model/src/types.js.map +0 -1
  196. package/dist/src/drive-document-model/src/utils.d.ts +0 -23
  197. package/dist/src/drive-document-model/src/utils.d.ts.map +0 -1
  198. package/dist/src/drive-document-model/src/utils.js +0 -102
  199. package/dist/src/drive-document-model/src/utils.js.map +0 -1
  200. package/dist/src/drive-document-model/types.d.ts +0 -10
  201. package/dist/src/drive-document-model/types.d.ts.map +0 -1
  202. package/dist/src/drive-document-model/types.js +0 -3
  203. package/dist/src/drive-document-model/types.js.map +0 -1
  204. package/dist/src/index.d.ts +0 -17
  205. package/dist/src/index.d.ts.map +0 -1
  206. package/dist/src/index.js +0 -17
  207. package/dist/src/index.js.map +0 -1
  208. package/dist/src/processors/index.d.ts +0 -4
  209. package/dist/src/processors/index.d.ts.map +0 -1
  210. package/dist/src/processors/index.js +0 -4
  211. package/dist/src/processors/index.js.map +0 -1
  212. package/dist/src/processors/processor-manager.d.ts +0 -21
  213. package/dist/src/processors/processor-manager.d.ts.map +0 -1
  214. package/dist/src/processors/processor-manager.js +0 -104
  215. package/dist/src/processors/processor-manager.js.map +0 -1
  216. package/dist/src/processors/relational.d.ts +0 -49
  217. package/dist/src/processors/relational.d.ts.map +0 -1
  218. package/dist/src/processors/relational.js +0 -57
  219. package/dist/src/processors/relational.js.map +0 -1
  220. package/dist/src/processors/types.d.ts +0 -94
  221. package/dist/src/processors/types.d.ts.map +0 -1
  222. package/dist/src/processors/types.js +0 -2
  223. package/dist/src/processors/types.js.map +0 -1
  224. package/dist/src/processors/utils.d.ts +0 -29
  225. package/dist/src/processors/utils.d.ts.map +0 -1
  226. package/dist/src/processors/utils.js +0 -72
  227. package/dist/src/processors/utils.js.map +0 -1
  228. package/dist/src/queue/base.d.ts +0 -22
  229. package/dist/src/queue/base.d.ts.map +0 -1
  230. package/dist/src/queue/base.js +0 -54
  231. package/dist/src/queue/base.js.map +0 -1
  232. package/dist/src/queue/event.d.ts +0 -40
  233. package/dist/src/queue/event.d.ts.map +0 -1
  234. package/dist/src/queue/event.js +0 -226
  235. package/dist/src/queue/event.js.map +0 -1
  236. package/dist/src/queue/index.d.ts +0 -5
  237. package/dist/src/queue/index.d.ts.map +0 -1
  238. package/dist/src/queue/index.js +0 -5
  239. package/dist/src/queue/index.js.map +0 -1
  240. package/dist/src/queue/redis.d.ts +0 -2
  241. package/dist/src/queue/redis.d.ts.map +0 -1
  242. package/dist/src/queue/redis.js +0 -123
  243. package/dist/src/queue/redis.js.map +0 -1
  244. package/dist/src/queue/types.d.ts +0 -59
  245. package/dist/src/queue/types.d.ts.map +0 -1
  246. package/dist/src/queue/types.js +0 -2
  247. package/dist/src/queue/types.js.map +0 -1
  248. package/dist/src/queue/utils.d.ts +0 -5
  249. package/dist/src/queue/utils.d.ts.map +0 -1
  250. package/dist/src/queue/utils.js +0 -10
  251. package/dist/src/queue/utils.js.map +0 -1
  252. package/dist/src/read-mode/errors.d.ts +0 -12
  253. package/dist/src/read-mode/errors.d.ts.map +0 -1
  254. package/dist/src/read-mode/errors.js +0 -18
  255. package/dist/src/read-mode/errors.js.map +0 -1
  256. package/dist/src/read-mode/index.d.ts +0 -4
  257. package/dist/src/read-mode/index.d.ts.map +0 -1
  258. package/dist/src/read-mode/index.js +0 -4
  259. package/dist/src/read-mode/index.js.map +0 -1
  260. package/dist/src/read-mode/server.d.ts +0 -3
  261. package/dist/src/read-mode/server.d.ts.map +0 -1
  262. package/dist/src/read-mode/server.js +0 -78
  263. package/dist/src/read-mode/server.js.map +0 -1
  264. package/dist/src/read-mode/service.d.ts +0 -17
  265. package/dist/src/read-mode/service.d.ts.map +0 -1
  266. package/dist/src/read-mode/service.js +0 -119
  267. package/dist/src/read-mode/service.js.map +0 -1
  268. package/dist/src/read-mode/types.d.ts +0 -31
  269. package/dist/src/read-mode/types.d.ts.map +0 -1
  270. package/dist/src/read-mode/types.js +0 -2
  271. package/dist/src/read-mode/types.js.map +0 -1
  272. package/dist/src/server/base-server.d.ts +0 -177
  273. package/dist/src/server/base-server.d.ts.map +0 -1
  274. package/dist/src/server/base-server.js +0 -2000
  275. package/dist/src/server/base-server.js.map +0 -1
  276. package/dist/src/server/builder.d.ts +0 -27
  277. package/dist/src/server/builder.d.ts.map +0 -1
  278. package/dist/src/server/builder.js +0 -97
  279. package/dist/src/server/builder.js.map +0 -1
  280. package/dist/src/server/error.d.ts +0 -34
  281. package/dist/src/server/error.d.ts.map +0 -1
  282. package/dist/src/server/error.js +0 -56
  283. package/dist/src/server/error.js.map +0 -1
  284. package/dist/src/server/event-emitter.d.ts +0 -8
  285. package/dist/src/server/event-emitter.d.ts.map +0 -1
  286. package/dist/src/server/event-emitter.js +0 -11
  287. package/dist/src/server/event-emitter.js.map +0 -1
  288. package/dist/src/server/index.d.ts +0 -10
  289. package/dist/src/server/index.d.ts.map +0 -1
  290. package/dist/src/server/index.js +0 -10
  291. package/dist/src/server/index.js.map +0 -1
  292. package/dist/src/server/listener/constants.d.ts +0 -4
  293. package/dist/src/server/listener/constants.d.ts.map +0 -1
  294. package/dist/src/server/listener/constants.js +0 -4
  295. package/dist/src/server/listener/constants.js.map +0 -1
  296. package/dist/src/server/listener/index.d.ts +0 -4
  297. package/dist/src/server/listener/index.d.ts.map +0 -1
  298. package/dist/src/server/listener/index.js +0 -4
  299. package/dist/src/server/listener/index.js.map +0 -1
  300. package/dist/src/server/listener/listener-manager.d.ts +0 -28
  301. package/dist/src/server/listener/listener-manager.d.ts.map +0 -1
  302. package/dist/src/server/listener/listener-manager.js +0 -415
  303. package/dist/src/server/listener/listener-manager.js.map +0 -1
  304. package/dist/src/server/listener/util.d.ts +0 -2
  305. package/dist/src/server/listener/util.d.ts.map +0 -1
  306. package/dist/src/server/listener/util.js +0 -23
  307. package/dist/src/server/listener/util.js.map +0 -1
  308. package/dist/src/server/sync-manager.d.ts +0 -28
  309. package/dist/src/server/sync-manager.d.ts.map +0 -1
  310. package/dist/src/server/sync-manager.js +0 -222
  311. package/dist/src/server/sync-manager.js.map +0 -1
  312. package/dist/src/server/sync-unit-map.d.ts +0 -116
  313. package/dist/src/server/sync-unit-map.d.ts.map +0 -1
  314. package/dist/src/server/sync-unit-map.js +0 -233
  315. package/dist/src/server/sync-unit-map.js.map +0 -1
  316. package/dist/src/server/transmitter/constants.d.ts +0 -2
  317. package/dist/src/server/transmitter/constants.d.ts.map +0 -1
  318. package/dist/src/server/transmitter/constants.js +0 -2
  319. package/dist/src/server/transmitter/constants.js.map +0 -1
  320. package/dist/src/server/transmitter/factory.d.ts +0 -7
  321. package/dist/src/server/transmitter/factory.d.ts.map +0 -1
  322. package/dist/src/server/transmitter/factory.js +0 -25
  323. package/dist/src/server/transmitter/factory.js.map +0 -1
  324. package/dist/src/server/transmitter/index.d.ts +0 -6
  325. package/dist/src/server/transmitter/index.d.ts.map +0 -1
  326. package/dist/src/server/transmitter/index.js +0 -5
  327. package/dist/src/server/transmitter/index.js.map +0 -1
  328. package/dist/src/server/transmitter/internal.d.ts +0 -12
  329. package/dist/src/server/transmitter/internal.d.ts.map +0 -1
  330. package/dist/src/server/transmitter/internal.js +0 -113
  331. package/dist/src/server/transmitter/internal.js.map +0 -1
  332. package/dist/src/server/transmitter/pull-responder.d.ts +0 -30
  333. package/dist/src/server/transmitter/pull-responder.d.ts.map +0 -1
  334. package/dist/src/server/transmitter/pull-responder.js +0 -543
  335. package/dist/src/server/transmitter/pull-responder.js.map +0 -1
  336. package/dist/src/server/transmitter/switchboard-push.d.ts +0 -11
  337. package/dist/src/server/transmitter/switchboard-push.d.ts.map +0 -1
  338. package/dist/src/server/transmitter/switchboard-push.js +0 -130
  339. package/dist/src/server/transmitter/switchboard-push.js.map +0 -1
  340. package/dist/src/server/transmitter/types.d.ts +0 -53
  341. package/dist/src/server/transmitter/types.d.ts.map +0 -1
  342. package/dist/src/server/transmitter/types.js +0 -2
  343. package/dist/src/server/transmitter/types.js.map +0 -1
  344. package/dist/src/server/types.d.ts +0 -419
  345. package/dist/src/server/types.d.ts.map +0 -1
  346. package/dist/src/server/types.js +0 -10
  347. package/dist/src/server/types.js.map +0 -1
  348. package/dist/src/server/utils.d.ts +0 -19
  349. package/dist/src/server/utils.d.ts.map +0 -1
  350. package/dist/src/server/utils.js +0 -110
  351. package/dist/src/server/utils.js.map +0 -1
  352. package/dist/src/storage/browser.d.ts +0 -52
  353. package/dist/src/storage/browser.d.ts.map +0 -1
  354. package/dist/src/storage/browser.js +0 -430
  355. package/dist/src/storage/browser.js.map +0 -1
  356. package/dist/src/storage/filesystem.d.ts +0 -45
  357. package/dist/src/storage/filesystem.d.ts.map +0 -1
  358. package/dist/src/storage/filesystem.js +0 -457
  359. package/dist/src/storage/filesystem.js.map +0 -1
  360. package/dist/src/storage/index.d.ts +0 -5
  361. package/dist/src/storage/index.d.ts.map +0 -1
  362. package/dist/src/storage/index.js +0 -5
  363. package/dist/src/storage/index.js.map +0 -1
  364. package/dist/src/storage/ipfs.d.ts +0 -2
  365. package/dist/src/storage/ipfs.d.ts.map +0 -1
  366. package/dist/src/storage/ipfs.js +0 -491
  367. package/dist/src/storage/ipfs.js.map +0 -1
  368. package/dist/src/storage/memory.d.ts +0 -42
  369. package/dist/src/storage/memory.d.ts.map +0 -1
  370. package/dist/src/storage/memory.js +0 -355
  371. package/dist/src/storage/memory.js.map +0 -1
  372. package/dist/src/storage/path-encoding.d.ts +0 -21
  373. package/dist/src/storage/path-encoding.d.ts.map +0 -1
  374. package/dist/src/storage/path-encoding.js +0 -53
  375. package/dist/src/storage/path-encoding.js.map +0 -1
  376. package/dist/src/storage/prisma/client/default.d.ts +0 -1
  377. package/dist/src/storage/prisma/client/default.js +0 -1
  378. package/dist/src/storage/prisma/client/edge.d.ts +0 -1
  379. package/dist/src/storage/prisma/client/edge.js +0 -263
  380. package/dist/src/storage/prisma/client/index-browser.js +0 -246
  381. package/dist/src/storage/prisma/client/index.d.ts +0 -10318
  382. package/dist/src/storage/prisma/client/index.js +0 -292
  383. package/dist/src/storage/prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  384. package/dist/src/storage/prisma/client/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
  385. package/dist/src/storage/prisma/client/libquery_engine-linux-musl.so.node +0 -0
  386. package/dist/src/storage/prisma/client/package.json +0 -84
  387. package/dist/src/storage/prisma/client/runtime/edge-esm.js +0 -31
  388. package/dist/src/storage/prisma/client/runtime/edge.js +0 -31
  389. package/dist/src/storage/prisma/client/runtime/index-browser.d.ts +0 -365
  390. package/dist/src/storage/prisma/client/runtime/index-browser.js +0 -13
  391. package/dist/src/storage/prisma/client/runtime/library.d.ts +0 -3273
  392. package/dist/src/storage/prisma/client/runtime/library.js +0 -143
  393. package/dist/src/storage/prisma/client/runtime/react-native.js +0 -80
  394. package/dist/src/storage/prisma/client/runtime/wasm.js +0 -32
  395. package/dist/src/storage/prisma/client/schema.prisma +0 -93
  396. package/dist/src/storage/prisma/client/wasm.d.ts +0 -1
  397. package/dist/src/storage/prisma/client/wasm.js +0 -246
  398. package/dist/src/storage/prisma/factory.d.ts +0 -10
  399. package/dist/src/storage/prisma/factory.d.ts.map +0 -1
  400. package/dist/src/storage/prisma/factory.js +0 -23
  401. package/dist/src/storage/prisma/factory.js.map +0 -1
  402. package/dist/src/storage/prisma/index.d.ts +0 -3
  403. package/dist/src/storage/prisma/index.d.ts.map +0 -1
  404. package/dist/src/storage/prisma/index.js +0 -3
  405. package/dist/src/storage/prisma/index.js.map +0 -1
  406. package/dist/src/storage/prisma/prisma.d.ts +0 -73
  407. package/dist/src/storage/prisma/prisma.d.ts.map +0 -1
  408. package/dist/src/storage/prisma/prisma.js +0 -760
  409. package/dist/src/storage/prisma/prisma.js.map +0 -1
  410. package/dist/src/storage/types.d.ts +0 -187
  411. package/dist/src/storage/types.d.ts.map +0 -1
  412. package/dist/src/storage/types.js +0 -2
  413. package/dist/src/storage/types.js.map +0 -1
  414. package/dist/src/storage/utils.d.ts +0 -6
  415. package/dist/src/storage/utils.d.ts.map +0 -1
  416. package/dist/src/storage/utils.js +0 -33
  417. package/dist/src/storage/utils.js.map +0 -1
  418. package/dist/src/utils/default-drives-manager.d.ts +0 -18
  419. package/dist/src/utils/default-drives-manager.d.ts.map +0 -1
  420. package/dist/src/utils/default-drives-manager.js +0 -208
  421. package/dist/src/utils/default-drives-manager.js.map +0 -1
  422. package/dist/src/utils/errors.d.ts +0 -5
  423. package/dist/src/utils/errors.d.ts.map +0 -1
  424. package/dist/src/utils/errors.js +0 -10
  425. package/dist/src/utils/errors.js.map +0 -1
  426. package/dist/src/utils/gql-transformations.d.ts +0 -32
  427. package/dist/src/utils/gql-transformations.d.ts.map +0 -1
  428. package/dist/src/utils/gql-transformations.js +0 -39
  429. package/dist/src/utils/gql-transformations.js.map +0 -1
  430. package/dist/src/utils/graphql.d.ts +0 -13
  431. package/dist/src/utils/graphql.d.ts.map +0 -1
  432. package/dist/src/utils/graphql.js +0 -196
  433. package/dist/src/utils/graphql.js.map +0 -1
  434. package/dist/src/utils/index.d.ts +0 -9
  435. package/dist/src/utils/index.d.ts.map +0 -1
  436. package/dist/src/utils/index.js +0 -9
  437. package/dist/src/utils/index.js.map +0 -1
  438. package/dist/src/utils/logger.d.ts +0 -3
  439. package/dist/src/utils/logger.d.ts.map +0 -1
  440. package/dist/src/utils/logger.js +0 -2
  441. package/dist/src/utils/logger.js.map +0 -1
  442. package/dist/src/utils/migrations.d.ts +0 -4
  443. package/dist/src/utils/migrations.d.ts.map +0 -1
  444. package/dist/src/utils/migrations.js +0 -112
  445. package/dist/src/utils/migrations.js.map +0 -1
  446. package/dist/src/utils/misc.d.ts +0 -21
  447. package/dist/src/utils/misc.d.ts.map +0 -1
  448. package/dist/src/utils/misc.js +0 -55
  449. package/dist/src/utils/misc.js.map +0 -1
  450. package/dist/src/utils/run-asap.d.ts +0 -8
  451. package/dist/src/utils/run-asap.d.ts.map +0 -1
  452. package/dist/src/utils/run-asap.js +0 -120
  453. package/dist/src/utils/run-asap.js.map +0 -1
  454. package/dist/src/utils/test.d.ts +0 -63
  455. package/dist/src/utils/test.d.ts.map +0 -1
  456. package/dist/src/utils/test.js +0 -161
  457. package/dist/src/utils/test.js.map +0 -1
  458. package/dist/src/utils/types.d.ts +0 -44
  459. package/dist/src/utils/types.d.ts.map +0 -1
  460. package/dist/src/utils/types.js +0 -2
  461. package/dist/src/utils/types.js.map +0 -1
  462. package/dist/test/benchmarks/getDrive.json +0 -10
  463. package/dist/test/benchmarks/processOperations.bench.d.ts +0 -2
  464. package/dist/test/benchmarks/processOperations.bench.d.ts.map +0 -1
  465. package/dist/test/benchmarks/processOperations.bench.js +0 -148
  466. package/dist/test/benchmarks/processOperations.bench.js.map +0 -1
  467. package/dist/test/benchmarks/queue.bench.d.ts +0 -2
  468. package/dist/test/benchmarks/queue.bench.d.ts.map +0 -1
  469. package/dist/test/benchmarks/queue.bench.js +0 -55
  470. package/dist/test/benchmarks/queue.bench.js.map +0 -1
  471. package/dist/test/benchmarks/strands.small.json +0 -37085
  472. package/dist/test/cache.test.d.ts +0 -2
  473. package/dist/test/cache.test.d.ts.map +0 -1
  474. package/dist/test/cache.test.js +0 -276
  475. package/dist/test/cache.test.js.map +0 -1
  476. package/dist/test/default-remote-drives.test.d.ts +0 -2
  477. package/dist/test/default-remote-drives.test.d.ts.map +0 -1
  478. package/dist/test/default-remote-drives.test.js +0 -445
  479. package/dist/test/default-remote-drives.test.js.map +0 -1
  480. package/dist/test/drive-operations.test.d.ts +0 -2
  481. package/dist/test/drive-operations.test.d.ts.map +0 -1
  482. package/dist/test/drive-operations.test.js +0 -134
  483. package/dist/test/drive-operations.test.js.map +0 -1
  484. package/dist/test/dual-action-create.test.d.ts +0 -2
  485. package/dist/test/dual-action-create.test.d.ts.map +0 -1
  486. package/dist/test/dual-action-create.test.js +0 -187
  487. package/dist/test/dual-action-create.test.js.map +0 -1
  488. package/dist/test/dual-action-migration.test.d.ts +0 -2
  489. package/dist/test/dual-action-migration.test.d.ts.map +0 -1
  490. package/dist/test/dual-action-migration.test.js +0 -348
  491. package/dist/test/dual-action-migration.test.js.map +0 -1
  492. package/dist/test/graphql.test.d.ts +0 -2
  493. package/dist/test/graphql.test.d.ts.map +0 -1
  494. package/dist/test/graphql.test.js +0 -9
  495. package/dist/test/graphql.test.js.map +0 -1
  496. package/dist/test/internal-listener.test.d.ts +0 -2
  497. package/dist/test/internal-listener.test.d.ts.map +0 -1
  498. package/dist/test/internal-listener.test.js +0 -262
  499. package/dist/test/internal-listener.test.js.map +0 -1
  500. package/dist/test/path-encoding.test.d.ts +0 -2
  501. package/dist/test/path-encoding.test.d.ts.map +0 -1
  502. package/dist/test/path-encoding.test.js +0 -116
  503. package/dist/test/path-encoding.test.js.map +0 -1
  504. package/dist/test/queue.test.d.ts +0 -2
  505. package/dist/test/queue.test.d.ts.map +0 -1
  506. package/dist/test/queue.test.js +0 -325
  507. package/dist/test/queue.test.js.map +0 -1
  508. package/dist/test/reactor.test.d.ts +0 -2
  509. package/dist/test/reactor.test.d.ts.map +0 -1
  510. package/dist/test/reactor.test.js +0 -32
  511. package/dist/test/reactor.test.js.map +0 -1
  512. package/dist/test/read-mode.test.d.ts +0 -2
  513. package/dist/test/read-mode.test.d.ts.map +0 -1
  514. package/dist/test/read-mode.test.js +0 -569
  515. package/dist/test/read-mode.test.js.map +0 -1
  516. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
  517. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
  518. package/dist/test/server/driveOperationsConflictResolution.test.js +0 -486
  519. package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
  520. package/dist/test/server/mergeOperations.test.d.ts +0 -2
  521. package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
  522. package/dist/test/server/mergeOperations.test.js +0 -131
  523. package/dist/test/server/mergeOperations.test.js.map +0 -1
  524. package/dist/test/server/processOperations.test.d.ts +0 -2
  525. package/dist/test/server/processOperations.test.d.ts.map +0 -1
  526. package/dist/test/server/processOperations.test.js +0 -392
  527. package/dist/test/server/processOperations.test.js.map +0 -1
  528. package/dist/test/server.test.d.ts +0 -2
  529. package/dist/test/server.test.d.ts.map +0 -1
  530. package/dist/test/server.test.js +0 -957
  531. package/dist/test/server.test.js.map +0 -1
  532. package/dist/test/signature-migration.test.d.ts +0 -2
  533. package/dist/test/signature-migration.test.d.ts.map +0 -1
  534. package/dist/test/signature-migration.test.js +0 -241
  535. package/dist/test/signature-migration.test.js.map +0 -1
  536. package/dist/test/storage.test.d.ts +0 -2
  537. package/dist/test/storage.test.d.ts.map +0 -1
  538. package/dist/test/storage.test.js +0 -457
  539. package/dist/test/storage.test.js.map +0 -1
  540. package/dist/test/switchboard-push-listener.test.d.ts +0 -2
  541. package/dist/test/switchboard-push-listener.test.d.ts.map +0 -1
  542. package/dist/test/switchboard-push-listener.test.js +0 -133
  543. package/dist/test/switchboard-push-listener.test.js.map +0 -1
  544. package/dist/test/sync-manager.test.d.ts +0 -2
  545. package/dist/test/sync-manager.test.d.ts.map +0 -1
  546. package/dist/test/sync-manager.test.js +0 -354
  547. package/dist/test/sync-manager.test.js.map +0 -1
  548. package/dist/test/undo-redo-clipboard.test.d.ts +0 -2
  549. package/dist/test/undo-redo-clipboard.test.d.ts.map +0 -1
  550. package/dist/test/undo-redo-clipboard.test.js +0 -108
  551. package/dist/test/undo-redo-clipboard.test.js.map +0 -1
  552. package/dist/test/utils.test.d.ts +0 -2
  553. package/dist/test/utils.test.d.ts.map +0 -1
  554. package/dist/test/utils.test.js +0 -86
  555. package/dist/test/utils.test.js.map +0 -1
  556. package/dist/test/vitest-setup.d.ts +0 -2
  557. package/dist/test/vitest-setup.d.ts.map +0 -1
  558. package/dist/test/vitest-setup.js +0 -5
  559. package/dist/test/vitest-setup.js.map +0 -1
  560. package/dist/tsconfig.tsbuildinfo +0 -1
  561. package/dist/vitest.config.d.ts +0 -3
  562. package/dist/vitest.config.d.ts.map +0 -1
  563. package/dist/vitest.config.js +0 -28
  564. package/dist/vitest.config.js.map +0 -1
@@ -1,343 +0,0 @@
1
- /**
2
- * This is a scaffold file meant for customization:
3
- * - change it by adding new tests or modifying the existing ones
4
- */
5
- import { addFile, AddFileInputSchema, addFolder, AddFolderInputSchema, copyNode, CopyNodeInputSchema, driveCreateDocument, deleteNode, DeleteNodeInputSchema, driveDocumentReducer, FileNodeSchema, moveNode, MoveNodeInputSchema, NodeSchema, updateFile, UpdateFileInputSchema, updateNode, UpdateNodeInputSchema, } from "document-drive";
6
- import { beforeEach, describe, expect, it } from "vitest";
7
- import { generateMock } from "./generate-mock.js";
8
- import { createDocumentWithNodes } from "./test-factories.js";
9
- describe("Node Operations", () => {
10
- let document;
11
- beforeEach(() => {
12
- document = driveCreateDocument();
13
- });
14
- it("should handle addFile operation", () => {
15
- const input = generateMock(AddFileInputSchema());
16
- const updatedDocument = driveDocumentReducer(document, addFile(input));
17
- expect(updatedDocument.operations.global).toHaveLength(1);
18
- expect(updatedDocument.operations.global[0].action.type).toBe("ADD_FILE");
19
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
20
- expect(updatedDocument.operations.global[0].index).toEqual(0);
21
- });
22
- it("should prevent name collisions in addFile operation when parent is a folder", () => {
23
- const firstInput = generateMock(AddFileInputSchema());
24
- const secondInput = generateMock(AddFileInputSchema());
25
- const thirdInput = generateMock(AddFileInputSchema());
26
- firstInput.name = "test";
27
- secondInput.name = "test";
28
- thirdInput.name = "test (copy) 1";
29
- secondInput.parentFolder = firstInput.parentFolder;
30
- thirdInput.parentFolder = firstInput.parentFolder;
31
- const updatedDocument = driveDocumentReducer(document, addFile(secondInput));
32
- const secondUpdatedDocument = driveDocumentReducer(updatedDocument, addFile(firstInput));
33
- const thirdUpdatedDocument = driveDocumentReducer(secondUpdatedDocument, addFile(thirdInput));
34
- const nodeNames = thirdUpdatedDocument.state.global.nodes.map((node) => node.name);
35
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
36
- expect(nodeNames[0]).toBe("test");
37
- expect(nodeNames[1]).toBe("test (copy) 1");
38
- expect(nodeNames[2]).toBe("test (copy) 1 (copy) 1");
39
- });
40
- it("should prevent name collisions in addFile operation when parent is a drive", () => {
41
- const firstInput = generateMock(AddFileInputSchema());
42
- const secondInput = generateMock(AddFileInputSchema());
43
- const thirdInput = generateMock(AddFileInputSchema());
44
- firstInput.name = "test";
45
- secondInput.name = "test";
46
- thirdInput.name = "test (copy) 1";
47
- firstInput.parentFolder = null;
48
- secondInput.parentFolder = null;
49
- thirdInput.parentFolder = null;
50
- const updatedDocument = driveDocumentReducer(document, addFile(secondInput));
51
- const secondUpdatedDocument = driveDocumentReducer(updatedDocument, addFile(firstInput));
52
- const thirdUpdatedDocument = driveDocumentReducer(secondUpdatedDocument, addFile(thirdInput));
53
- const nodeNames = thirdUpdatedDocument.state.global.nodes.map((node) => node.name);
54
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
55
- expect(nodeNames[0]).toBe("test");
56
- expect(nodeNames[1]).toBe("test (copy) 1");
57
- expect(nodeNames[2]).toBe("test (copy) 1 (copy) 1");
58
- });
59
- it("should handle addFolder operation", () => {
60
- const input = generateMock(AddFolderInputSchema());
61
- const updatedDocument = driveDocumentReducer(document, addFolder(input));
62
- expect(updatedDocument.operations.global).toHaveLength(1);
63
- expect(updatedDocument.operations.global[0].action.type).toBe("ADD_FOLDER");
64
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
65
- expect(updatedDocument.operations.global[0].index).toEqual(0);
66
- });
67
- it("should prevent name collisions in addFolder operation when parent is a folder", () => {
68
- const firstInput = generateMock(AddFolderInputSchema());
69
- const secondInput = generateMock(AddFolderInputSchema());
70
- const thirdInput = generateMock(AddFolderInputSchema());
71
- firstInput.name = "test";
72
- secondInput.name = "test";
73
- thirdInput.name = "test (copy) 1";
74
- secondInput.parentFolder = firstInput.parentFolder;
75
- thirdInput.parentFolder = firstInput.parentFolder;
76
- const updatedDocument = driveDocumentReducer(document, addFolder(secondInput));
77
- const secondUpdatedDocument = driveDocumentReducer(updatedDocument, addFolder(firstInput));
78
- const thirdUpdatedDocument = driveDocumentReducer(secondUpdatedDocument, addFolder(thirdInput));
79
- const nodeNames = thirdUpdatedDocument.state.global.nodes.map((node) => node.name);
80
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
81
- expect(nodeNames[0]).toBe("test");
82
- expect(nodeNames[1]).toBe("test (copy) 1");
83
- expect(nodeNames[2]).toBe("test (copy) 1 (copy) 1");
84
- });
85
- it("should prevent name collisions in addFolder operation when parent is a drive", () => {
86
- const firstInput = generateMock(AddFolderInputSchema());
87
- const secondInput = generateMock(AddFolderInputSchema());
88
- const thirdInput = generateMock(AddFolderInputSchema());
89
- firstInput.name = "test";
90
- secondInput.name = "test";
91
- thirdInput.name = "test (copy) 1";
92
- firstInput.parentFolder = null;
93
- secondInput.parentFolder = null;
94
- thirdInput.parentFolder = null;
95
- const updatedDocument = driveDocumentReducer(document, addFolder(secondInput));
96
- const secondUpdatedDocument = driveDocumentReducer(updatedDocument, addFolder(firstInput));
97
- const thirdUpdatedDocument = driveDocumentReducer(secondUpdatedDocument, addFolder(thirdInput));
98
- const nodeNames = thirdUpdatedDocument.state.global.nodes.map((node) => node.name);
99
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
100
- expect(nodeNames[0]).toBe("test");
101
- expect(nodeNames[1]).toBe("test (copy) 1");
102
- expect(nodeNames[2]).toBe("test (copy) 1 (copy) 1");
103
- });
104
- it("should handle deleteNode operation", () => {
105
- const input = generateMock(DeleteNodeInputSchema());
106
- const document = createDocumentWithNodes([input]);
107
- const updatedDocument = driveDocumentReducer(document, deleteNode(input));
108
- expect(updatedDocument.operations.global).toHaveLength(1);
109
- expect(updatedDocument.operations.global[0].action.type).toBe("DELETE_NODE");
110
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
111
- expect(updatedDocument.operations.global[0].index).toEqual(0);
112
- });
113
- it("should handle updateFile operation", () => {
114
- const input = generateMock(UpdateFileInputSchema());
115
- const updatedDocument = driveDocumentReducer(document, updateFile(input));
116
- expect(updatedDocument.operations.global).toHaveLength(1);
117
- expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_FILE");
118
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
119
- expect(updatedDocument.operations.global[0].index).toEqual(0);
120
- });
121
- it("should handle name collisions in updateFile operation", () => {
122
- const existingFile1 = generateMock(FileNodeSchema());
123
- const existingFile2 = generateMock(FileNodeSchema());
124
- existingFile2.parentFolder = existingFile1.parentFolder;
125
- const input = generateMock(UpdateFileInputSchema());
126
- input.id = existingFile2.id;
127
- input.name = existingFile1.name;
128
- input.parentFolder = existingFile1.parentFolder;
129
- document.state.global.nodes = [existingFile1, existingFile2];
130
- const updatedDocument = driveDocumentReducer(document, updateFile(input));
131
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
132
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
133
- expect(nodeNames[0]).toBe(existingFile1.name);
134
- expect(nodeNames[1]).toBe(input.name + " (copy) 1");
135
- });
136
- it("should handle updateNode operation", () => {
137
- const input = generateMock(UpdateNodeInputSchema());
138
- const updatedDocument = driveDocumentReducer(document, updateNode(input));
139
- expect(updatedDocument.operations.global).toHaveLength(1);
140
- expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_NODE");
141
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
142
- expect(updatedDocument.operations.global[0].index).toEqual(0);
143
- });
144
- it("should handle name collisions in updateNode operation", () => {
145
- const existingNode1 = generateMock(NodeSchema());
146
- const existingNode2 = generateMock(NodeSchema());
147
- existingNode2.parentFolder = existingNode1.parentFolder;
148
- const input = generateMock(UpdateNodeInputSchema());
149
- input.id = existingNode2.id;
150
- input.name = existingNode1.name;
151
- input.parentFolder = existingNode1.parentFolder;
152
- document.state.global.nodes = [existingNode1, existingNode2];
153
- const updatedDocument = driveDocumentReducer(document, updateNode(input));
154
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
155
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
156
- expect(nodeNames[0]).toBe(existingNode1.name);
157
- expect(nodeNames[1]).toBe(input.name + " (copy) 1");
158
- });
159
- it("should handle copyNode operation", () => {
160
- const input = generateMock(CopyNodeInputSchema());
161
- const document = createDocumentWithNodes([
162
- {
163
- id: input.srcId,
164
- name: "Node 1",
165
- },
166
- {
167
- id: input.targetId,
168
- name: "Node 2",
169
- },
170
- ]);
171
- const updatedDocument = driveDocumentReducer(document, copyNode(input));
172
- expect(updatedDocument.operations.global).toHaveLength(1);
173
- expect(updatedDocument.operations.global[0].action.type).toBe("COPY_NODE");
174
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
175
- expect(updatedDocument.operations.global[0].index).toEqual(0);
176
- });
177
- it("should handle duplicated id when copy a node", () => {
178
- const input = generateMock(CopyNodeInputSchema());
179
- const document = createDocumentWithNodes([
180
- {
181
- id: "1",
182
- name: "Node 1",
183
- },
184
- {
185
- id: "2",
186
- name: "Node 2",
187
- },
188
- ]);
189
- const updatedDocument = driveDocumentReducer(document, copyNode({
190
- ...input,
191
- srcId: "1",
192
- targetId: "1",
193
- }));
194
- expect(updatedDocument.state.global.nodes).toMatchObject([
195
- { id: "1", name: "Node 1" },
196
- { id: "2", name: "Node 2" },
197
- ]);
198
- expect(updatedDocument.operations.global).toHaveLength(1);
199
- expect(updatedDocument.operations.global[0]).toMatchObject({
200
- index: 0,
201
- skip: 0,
202
- type: "COPY_NODE",
203
- error: "Node with id 1 already exists",
204
- });
205
- });
206
- it("should handle name collisions in copyNode operation", () => {
207
- const existingNode = generateMock(NodeSchema());
208
- const input = generateMock(CopyNodeInputSchema());
209
- input.srcId = existingNode.id;
210
- input.targetName = existingNode.name;
211
- input.targetParentFolder = existingNode.parentFolder;
212
- document.state.global.nodes = [existingNode];
213
- const updatedDocument = driveDocumentReducer(document, copyNode(input));
214
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
215
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
216
- expect(nodeNames[0]).toBe(existingNode.name);
217
- expect(nodeNames[1]).toBe(input.targetName + " (copy) 1");
218
- });
219
- it("should handle name collisions in copyNode operation when parent is drive", () => {
220
- const existingNode = generateMock(NodeSchema());
221
- const input = generateMock(CopyNodeInputSchema());
222
- existingNode.parentFolder = null;
223
- input.srcId = existingNode.id;
224
- input.targetName = existingNode.name;
225
- input.targetParentFolder = null;
226
- document.state.global.nodes = [existingNode];
227
- const updatedDocument = driveDocumentReducer(document, copyNode(input));
228
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
229
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
230
- expect(nodeNames[0]).toBe(existingNode.name);
231
- expect(nodeNames[1]).toBe(input.targetName + " (copy) 1");
232
- });
233
- it("should handle name collisions in copyNode operation", () => {
234
- const existingNode = generateMock(NodeSchema());
235
- const input = generateMock(CopyNodeInputSchema());
236
- input.srcId = existingNode.id;
237
- input.targetName = existingNode.name;
238
- input.targetParentFolder = existingNode.parentFolder;
239
- document.state.global.nodes = [existingNode];
240
- const updatedDocument = driveDocumentReducer(document, copyNode(input));
241
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
242
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
243
- expect(nodeNames[0]).toBe(existingNode.name);
244
- expect(nodeNames[1]).toBe(input.targetName + " (copy) 1");
245
- });
246
- it("should handle moveNode operation", () => {
247
- const input = generateMock(MoveNodeInputSchema());
248
- const document = createDocumentWithNodes([
249
- {
250
- id: input.srcFolder,
251
- name: "Node 1",
252
- },
253
- {
254
- id: input.targetParentFolder ?? undefined,
255
- name: "Node 2",
256
- },
257
- ]);
258
- const updatedDocument = driveDocumentReducer(document, moveNode(input));
259
- expect(updatedDocument.operations.global).toHaveLength(1);
260
- expect(updatedDocument.operations.global[0].action.type).toBe("MOVE_NODE");
261
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
262
- expect(updatedDocument.operations.global[0].index).toEqual(0);
263
- });
264
- it("should handle name collisions in moveNode operation", () => {
265
- const existingNode = generateMock(NodeSchema());
266
- existingNode.name = "test";
267
- const existingNode2 = generateMock(NodeSchema());
268
- existingNode2.name = "test";
269
- const input = generateMock(MoveNodeInputSchema());
270
- input.srcFolder = existingNode2.id;
271
- input.targetParentFolder = existingNode.parentFolder;
272
- document.state.global.nodes = [existingNode, existingNode2];
273
- const updatedDocument = driveDocumentReducer(document, moveNode(input));
274
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
275
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
276
- expect(nodeNames[0]).toBe("test");
277
- expect(nodeNames[1]).toBe("test (copy) 1");
278
- });
279
- it("should handle name collisions in moveNode operation when parent is drive", () => {
280
- const existingNode = generateMock(NodeSchema());
281
- existingNode.name = "test";
282
- existingNode.parentFolder = null;
283
- const existingNode2 = generateMock(NodeSchema());
284
- existingNode2.name = "test";
285
- const input = generateMock(MoveNodeInputSchema());
286
- input.srcFolder = existingNode2.id;
287
- input.targetParentFolder = null;
288
- document.state.global.nodes = [existingNode, existingNode2];
289
- const updatedDocument = driveDocumentReducer(document, moveNode(input));
290
- const nodeNames = updatedDocument.state.global.nodes.map((node) => node.name);
291
- expect(new Set(nodeNames).size).toBe(nodeNames.length);
292
- expect(nodeNames[0]).toBe("test");
293
- expect(nodeNames[1]).toBe("test (copy) 1");
294
- });
295
- it("should not allow moving folder to descendent", () => {
296
- // Mock data setup
297
- const nodes = [
298
- { id: "1", parentFolder: null, kind: "folder", name: "Root" },
299
- { id: "2", parentFolder: "1", kind: "folder", name: "Child" },
300
- { id: "3", parentFolder: "2", kind: "folder", name: "Subchild" },
301
- ];
302
- document.state.global.nodes = nodes;
303
- // move folder to descendent
304
- const updatedDocument = driveDocumentReducer(document, moveNode({
305
- srcFolder: "1",
306
- targetParentFolder: "3",
307
- }));
308
- expect(updatedDocument.state.global.nodes).toMatchObject(nodes);
309
- expect(updatedDocument.operations.global).toHaveLength(1);
310
- expect(updatedDocument.operations.global[0]).toMatchObject({
311
- type: "MOVE_NODE",
312
- input: { srcFolder: "1", targetParentFolder: "3" },
313
- scope: "global",
314
- index: 0,
315
- skip: 0,
316
- error: "Circular Reference Error: Cannot move a folder to one of its descendants",
317
- });
318
- });
319
- it("should not allow making folder its own parent", () => {
320
- // Mock data setup
321
- const nodes = [
322
- { id: "1", parentFolder: null, kind: "folder", name: "Root" },
323
- { id: "2", parentFolder: "1", kind: "folder", name: "Child" },
324
- { id: "3", parentFolder: "2", kind: "folder", name: "Subchild" },
325
- ];
326
- document.state.global.nodes = nodes;
327
- const updatedDocument = driveDocumentReducer(document, moveNode({
328
- srcFolder: "1",
329
- targetParentFolder: "1",
330
- }));
331
- expect(updatedDocument.state.global.nodes).toMatchObject(nodes);
332
- expect(updatedDocument.operations.global).toHaveLength(1);
333
- expect(updatedDocument.operations.global[0]).toMatchObject({
334
- type: "MOVE_NODE",
335
- input: { srcFolder: "1", targetParentFolder: "1" },
336
- scope: "global",
337
- index: 0,
338
- skip: 0,
339
- error: "Circular Reference Error: Attempting to move a node to its current parent folder",
340
- });
341
- });
342
- });
343
- //# sourceMappingURL=node.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.test.js","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/node.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Test factory methods for creating DocumentDriveDocument instances with custom state
3
- */
4
- import type { DocumentDriveDocument, Node } from "document-drive";
5
- /**
6
- * Creates a DocumentDriveDocument with custom nodes in the global state
7
- */
8
- export declare function createDocumentWithNodes(nodes: Partial<Node>[]): DocumentDriveDocument;
9
- //# sourceMappingURL=test-factories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-factories.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/test-factories.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGlE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GACrB,qBAAqB,CAQvB"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Test factory methods for creating DocumentDriveDocument instances with custom state
3
- */
4
- import { driveCreateDocument } from "document-drive";
5
- /**
6
- * Creates a DocumentDriveDocument with custom nodes in the global state
7
- */
8
- export function createDocumentWithNodes(nodes) {
9
- return driveCreateDocument({
10
- global: {
11
- nodes: nodes,
12
- icon: null,
13
- name: "",
14
- },
15
- });
16
- }
17
- //# sourceMappingURL=test-factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-factories.js","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/test-factories.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAsB;IAEtB,OAAO,mBAAmB,CAAC;QACzB,MAAM,EAAE;YACN,KAAK,EAAE,KAAe;YACtB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;SACT;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/utils.test.ts"],"names":[],"mappings":""}
@@ -1,232 +0,0 @@
1
- import { beforeEach, describe, expect, it } from "vitest";
2
- import { generateNodesCopy, getNextCopyNumber, handleTargetNameCollisions, } from "document-drive";
3
- const baseNodes = [
4
- {
5
- id: "1",
6
- name: "Folder 1",
7
- parentFolder: null,
8
- kind: "folder",
9
- },
10
- {
11
- id: "1.1",
12
- name: "Folder 1.1",
13
- parentFolder: "1",
14
- kind: "folder",
15
- },
16
- {
17
- id: "1.1.1",
18
- name: "Folder 1.1.1",
19
- parentFolder: "1.1",
20
- kind: "folder",
21
- },
22
- {
23
- id: "2",
24
- name: "Folder 2",
25
- parentFolder: null,
26
- kind: "folder",
27
- },
28
- {
29
- id: "3",
30
- name: "Folder 3",
31
- parentFolder: null,
32
- kind: "folder",
33
- },
34
- ];
35
- const generateId = (id) => `${id}-copy`;
36
- describe("DocumentDrive Utils", () => {
37
- let nodes;
38
- beforeEach(() => {
39
- nodes = [...baseNodes];
40
- });
41
- describe("generateNodesCopy", () => {
42
- it("should return a copy of the affected nodes (subfolders and files) with new id", () => {
43
- const expectedResult = [
44
- {
45
- srcId: "1",
46
- targetId: "1-copy",
47
- targetName: "Folder 1",
48
- targetParentFolder: null,
49
- },
50
- {
51
- srcId: "1.1",
52
- targetId: "1.1-copy",
53
- targetName: "Folder 1.1",
54
- targetParentFolder: "1-copy",
55
- },
56
- {
57
- srcId: "1.1.1",
58
- targetId: "1.1.1-copy",
59
- targetName: "Folder 1.1.1",
60
- targetParentFolder: "1.1-copy",
61
- },
62
- ];
63
- const result = generateNodesCopy({ srcId: "1" }, (node) => generateId(node.id), nodes);
64
- expect(result.length).toBe(3);
65
- expect(result).toEqual(expectedResult);
66
- });
67
- it("should return a copy of the affected nodes (subfolders and files) with new id and new name for the target node", () => {
68
- const expectedResult = [
69
- {
70
- srcId: "1",
71
- targetId: "1-copy",
72
- targetName: "New Name",
73
- targetParentFolder: null,
74
- },
75
- {
76
- srcId: "1.1",
77
- targetId: "1.1-copy",
78
- targetName: "Folder 1.1",
79
- targetParentFolder: "1-copy",
80
- },
81
- {
82
- srcId: "1.1.1",
83
- targetId: "1.1.1-copy",
84
- targetName: "Folder 1.1.1",
85
- targetParentFolder: "1.1-copy",
86
- },
87
- ];
88
- const result = generateNodesCopy({ srcId: "1", targetName: "New Name" }, (node) => generateId(node.id), nodes);
89
- expect(result.length).toBe(3);
90
- expect(result).toEqual(expectedResult);
91
- });
92
- it("should copy a single node inside another", () => {
93
- const expectedResult = [
94
- {
95
- srcId: "1.1.1",
96
- targetId: "1.1.1-copy",
97
- targetName: "Folder 1.1.1",
98
- targetParentFolder: "1.1",
99
- },
100
- ];
101
- const result = generateNodesCopy({ srcId: "1.1.1", targetParentFolder: "1.1" }, (node) => generateId(node.id), nodes);
102
- expect(result.length).toBe(1);
103
- expect(result).toEqual(expectedResult);
104
- });
105
- it("should copy target and sub-nodes into a different node", () => {
106
- const expectedResult = [
107
- {
108
- srcId: "1",
109
- targetId: "1-copy",
110
- targetName: "Folder 1",
111
- targetParentFolder: "2",
112
- },
113
- {
114
- srcId: "1.1",
115
- targetId: "1.1-copy",
116
- targetName: "Folder 1.1",
117
- targetParentFolder: "1-copy",
118
- },
119
- {
120
- srcId: "1.1.1",
121
- targetId: "1.1.1-copy",
122
- targetName: "Folder 1.1.1",
123
- targetParentFolder: "1.1-copy",
124
- },
125
- ];
126
- const result = generateNodesCopy({ srcId: "1", targetParentFolder: "2" }, (node) => generateId(node.id), nodes);
127
- expect(result.length).toBe(3);
128
- expect(result).toEqual(expectedResult);
129
- });
130
- it("should copy target and sub-nodes into a different node with a different name", () => {
131
- const expectedResult = [
132
- {
133
- srcId: "1",
134
- targetId: "1-copy",
135
- targetName: "New Name",
136
- targetParentFolder: "2",
137
- },
138
- {
139
- srcId: "1.1",
140
- targetId: "1.1-copy",
141
- targetName: "Folder 1.1",
142
- targetParentFolder: "1-copy",
143
- },
144
- {
145
- srcId: "1.1.1",
146
- targetId: "1.1.1-copy",
147
- targetName: "Folder 1.1.1",
148
- targetParentFolder: "1.1-copy",
149
- },
150
- ];
151
- const result = generateNodesCopy({
152
- srcId: "1",
153
- targetParentFolder: "2",
154
- targetName: "New Name",
155
- }, (node) => generateId(node.id), nodes);
156
- expect(result.length).toBe(3);
157
- expect(result).toEqual(expectedResult);
158
- });
159
- it("should throw an error if the src node is not found", () => {
160
- expect(() => generateNodesCopy({ srcId: "invalid" }, (node) => generateId(node.id), nodes)).toThrowError(`Node with id invalid not found`);
161
- });
162
- });
163
- });
164
- describe("getNextCopyNumber", () => {
165
- it("should return 1 if no files match", () => {
166
- const files = ["unrelated file.txt", "another file.pdf"];
167
- const baseFilename = "testfile";
168
- expect(getNextCopyNumber(files, baseFilename)).toBe(1);
169
- });
170
- it('should correctly handle the base case with " (copy)" suffix', () => {
171
- const files = ["testfile (copy)"];
172
- const baseFilename = "testfile";
173
- expect(getNextCopyNumber(files, baseFilename)).toBe(2);
174
- });
175
- it("should extract and increment the highest copy number", () => {
176
- const files = ["testfile (copy)", "testfile (copy) 3", "testfile (copy) 2"];
177
- const baseFilename = "testfile";
178
- expect(getNextCopyNumber(files, baseFilename)).toBe(4);
179
- });
180
- it("should handle cases with padded zeroes in numbers", () => {
181
- const files = [
182
- "testfile (copy) 001",
183
- "testfile (copy) 002",
184
- "testfile (copy)",
185
- ];
186
- const baseFilename = "testfile";
187
- expect(getNextCopyNumber(files, baseFilename)).toBe(3);
188
- });
189
- it("should return 1 for unrelated files", () => {
190
- const files = ["someotherfile (copy) 1", "someotherfile (copy) 2"];
191
- const baseFilename = "testfile";
192
- expect(getNextCopyNumber(files, baseFilename)).toBe(1);
193
- });
194
- it("handles files with special characters needing escape in regex", () => {
195
- const files = ["test.file (copy)", "test.file (copy) 1"];
196
- const baseFilename = "test.file";
197
- expect(getNextCopyNumber(files, baseFilename)).toBe(2);
198
- });
199
- });
200
- describe("handleTargetNameCollisions", () => {
201
- it("returns original name if no collision", () => {
202
- const nodes = [{ name: "file1.txt", parentFolder: "folder" }];
203
- const params = {
204
- nodes: nodes,
205
- targetParentFolder: "folder",
206
- srcName: "newfile.txt",
207
- };
208
- // @ts-expect-error mock
209
- expect(handleTargetNameCollisions(params)).toBe("newfile.txt");
210
- });
211
- it("appends copy number if collision occurs", () => {
212
- const nodes = [{ name: "newfile.txt", parentFolder: "folder" }];
213
- const params = {
214
- nodes: nodes,
215
- targetParentFolder: "folder",
216
- srcName: "newfile.txt",
217
- };
218
- // @ts-expect-error mock
219
- expect(handleTargetNameCollisions(params)).toBe("newfile.txt (copy) 1");
220
- });
221
- it("handles null targetParentFolder correctly", () => {
222
- const nodes = [{ name: "newfile.txt", parentFolder: null }];
223
- const params = {
224
- nodes: nodes,
225
- targetParentFolder: "",
226
- srcName: "newfile.txt",
227
- };
228
- // @ts-expect-error mock
229
- expect(handleTargetNameCollisions(params)).toBe("newfile.txt (copy) 1");
230
- });
231
- });
232
- //# sourceMappingURL=utils.test.js.map