@lix-js/sdk 0.0.1 → 0.2.0

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 (359) hide show
  1. package/LICENSE +21 -0
  2. package/dist/account/database-schema.d.ts.map +1 -1
  3. package/dist/account/database-schema.js +2 -6
  4. package/dist/account/database-schema.js.map +1 -1
  5. package/dist/account/database-schema.test.js +4 -8
  6. package/dist/account/database-schema.test.js.map +1 -1
  7. package/dist/change/apply-changes.js +9 -9
  8. package/dist/change/apply-changes.js.map +1 -1
  9. package/dist/change/apply-changes.test.js +5 -5
  10. package/dist/change/apply-changes.test.js.map +1 -1
  11. package/dist/database/apply-schema.d.ts.map +1 -1
  12. package/dist/database/apply-schema.js +20 -72
  13. package/dist/database/apply-schema.js.map +1 -1
  14. package/dist/database/execute-sync.test.js +3 -3
  15. package/dist/database/execute-sync.test.js.map +1 -1
  16. package/dist/database/init-db.d.ts.map +1 -1
  17. package/dist/database/init-db.js +18 -3
  18. package/dist/database/init-db.js.map +1 -1
  19. package/dist/database/init-db.test.js +128 -17
  20. package/dist/database/init-db.test.js.map +1 -1
  21. package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.d.ts.map +1 -1
  22. package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js +5 -2
  23. package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js.map +1 -1
  24. package/dist/database/mutation-log/database-schema.d.ts.map +1 -1
  25. package/dist/database/mutation-log/database-schema.js +1 -3
  26. package/dist/database/mutation-log/database-schema.js.map +1 -1
  27. package/dist/database/nano-id.d.ts +21 -0
  28. package/dist/database/nano-id.d.ts.map +1 -0
  29. package/dist/database/nano-id.js +58 -0
  30. package/dist/database/nano-id.js.map +1 -0
  31. package/dist/database/nano-id.test.d.ts +2 -0
  32. package/dist/database/nano-id.test.d.ts.map +1 -0
  33. package/dist/database/nano-id.test.js +13 -0
  34. package/dist/database/nano-id.test.js.map +1 -0
  35. package/dist/database/schema.d.ts +15 -23
  36. package/dist/database/schema.d.ts.map +1 -1
  37. package/dist/discussion/create-comment.d.ts +0 -2
  38. package/dist/discussion/create-comment.d.ts.map +1 -1
  39. package/dist/discussion/create-comment.js +0 -1
  40. package/dist/discussion/create-comment.js.map +1 -1
  41. package/dist/discussion/create-discussion.d.ts +3 -5
  42. package/dist/discussion/create-discussion.d.ts.map +1 -1
  43. package/dist/discussion/create-discussion.js +4 -5
  44. package/dist/discussion/create-discussion.js.map +1 -1
  45. package/dist/discussion/create-discussion.test.js +8 -34
  46. package/dist/discussion/create-discussion.test.js.map +1 -1
  47. package/dist/file-queue/file-handlers.d.ts +24 -0
  48. package/dist/file-queue/file-handlers.d.ts.map +1 -0
  49. package/dist/file-queue/file-handlers.js +209 -0
  50. package/dist/file-queue/file-handlers.js.map +1 -0
  51. package/dist/file-queue/file-queue-process.d.ts +5 -0
  52. package/dist/file-queue/file-queue-process.d.ts.map +1 -0
  53. package/dist/file-queue/file-queue-process.js +88 -0
  54. package/dist/file-queue/file-queue-process.js.map +1 -0
  55. package/dist/file-queue/file-queue-process.test.d.ts +2 -0
  56. package/dist/file-queue/file-queue-process.test.d.ts.map +1 -0
  57. package/dist/file-queue/file-queue-process.test.js +372 -0
  58. package/dist/file-queue/file-queue-process.test.js.map +1 -0
  59. package/dist/file-queue/file-queue-settled.d.ts +13 -0
  60. package/dist/file-queue/file-queue-settled.d.ts.map +1 -0
  61. package/dist/file-queue/file-queue-settled.js +25 -0
  62. package/dist/file-queue/file-queue-settled.js.map +1 -0
  63. package/dist/file-queue/file-queue-settled.test.d.ts +2 -0
  64. package/dist/file-queue/file-queue-settled.test.d.ts.map +1 -0
  65. package/dist/file-queue/file-queue-settled.test.js +47 -0
  66. package/dist/file-queue/file-queue-settled.test.js.map +1 -0
  67. package/dist/file-queue/index.d.ts +2 -0
  68. package/dist/file-queue/index.d.ts.map +1 -0
  69. package/dist/file-queue/index.js +2 -0
  70. package/dist/file-queue/index.js.map +1 -0
  71. package/dist/file-queue/with-skip-file-queue.d.ts +3 -0
  72. package/dist/file-queue/with-skip-file-queue.d.ts.map +1 -0
  73. package/dist/file-queue/with-skip-file-queue.js +26 -0
  74. package/dist/file-queue/with-skip-file-queue.js.map +1 -0
  75. package/dist/file-queue/with-skip-file-queue.test.d.ts +2 -0
  76. package/dist/file-queue/with-skip-file-queue.test.d.ts.map +1 -0
  77. package/dist/file-queue/with-skip-file-queue.test.js +138 -0
  78. package/dist/file-queue/with-skip-file-queue.test.js.map +1 -0
  79. package/dist/index.d.ts +2 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +2 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/key-value/database-schema.d.ts +11 -2
  84. package/dist/key-value/database-schema.d.ts.map +1 -1
  85. package/dist/key-value/database-schema.js +7 -4
  86. package/dist/key-value/database-schema.js.map +1 -1
  87. package/dist/key-value/database-schema.test.js +21 -5
  88. package/dist/key-value/database-schema.test.js.map +1 -1
  89. package/dist/lix/close-lix.d.ts +8 -0
  90. package/dist/lix/close-lix.d.ts.map +1 -0
  91. package/dist/lix/close-lix.js +7 -0
  92. package/dist/lix/close-lix.js.map +1 -0
  93. package/dist/lix/index.d.ts +1 -0
  94. package/dist/lix/index.d.ts.map +1 -1
  95. package/dist/lix/index.js +1 -0
  96. package/dist/lix/index.js.map +1 -1
  97. package/dist/lix/merge.js +3 -3
  98. package/dist/lix/merge.js.map +1 -1
  99. package/dist/lix/merge.test.js +7 -18
  100. package/dist/lix/merge.test.js.map +1 -1
  101. package/dist/lix/new-lix.d.ts.map +1 -1
  102. package/dist/lix/new-lix.js +2 -3
  103. package/dist/lix/new-lix.js.map +1 -1
  104. package/dist/lix/open-lix-in-memory.test.js +2 -1
  105. package/dist/lix/open-lix-in-memory.test.js.map +1 -1
  106. package/dist/lix/open-lix.d.ts +19 -6
  107. package/dist/lix/open-lix.d.ts.map +1 -1
  108. package/dist/lix/open-lix.js +80 -18
  109. package/dist/lix/open-lix.js.map +1 -1
  110. package/dist/lix/open-lix.test.js +70 -7
  111. package/dist/lix/open-lix.test.js.map +1 -1
  112. package/dist/lix/to-blob.d.ts +11 -0
  113. package/dist/lix/to-blob.d.ts.map +1 -0
  114. package/dist/lix/to-blob.js +11 -0
  115. package/dist/lix/to-blob.js.map +1 -0
  116. package/dist/own-change-control/apply-own-change.d.ts +10 -0
  117. package/dist/own-change-control/apply-own-change.d.ts.map +1 -0
  118. package/dist/own-change-control/apply-own-change.js +69 -0
  119. package/dist/own-change-control/apply-own-change.js.map +1 -0
  120. package/dist/own-change-control/apply-own-change.test.d.ts +2 -0
  121. package/dist/own-change-control/apply-own-change.test.d.ts.map +1 -0
  122. package/dist/own-change-control/apply-own-change.test.js +297 -0
  123. package/dist/own-change-control/apply-own-change.test.js.map +1 -0
  124. package/dist/own-change-control/change-controlled-tables.d.ts +60 -0
  125. package/dist/own-change-control/change-controlled-tables.d.ts.map +1 -0
  126. package/dist/own-change-control/change-controlled-tables.js +70 -0
  127. package/dist/own-change-control/change-controlled-tables.js.map +1 -0
  128. package/dist/own-change-control/change-controlled-tables.test.d.ts +2 -0
  129. package/dist/own-change-control/change-controlled-tables.test.d.ts.map +1 -0
  130. package/dist/own-change-control/change-controlled-tables.test.js +48 -0
  131. package/dist/own-change-control/change-controlled-tables.test.js.map +1 -0
  132. package/dist/own-change-control/database-triggers.d.ts +5 -0
  133. package/dist/own-change-control/database-triggers.d.ts.map +1 -0
  134. package/dist/own-change-control/database-triggers.js +135 -0
  135. package/dist/own-change-control/database-triggers.js.map +1 -0
  136. package/dist/own-change-control/database-triggers.test.d.ts +2 -0
  137. package/dist/own-change-control/database-triggers.test.d.ts.map +1 -0
  138. package/dist/own-change-control/database-triggers.test.js +214 -0
  139. package/dist/own-change-control/database-triggers.test.js.map +1 -0
  140. package/dist/own-change-control/index.d.ts +2 -0
  141. package/dist/own-change-control/index.d.ts.map +1 -0
  142. package/dist/own-change-control/index.js +2 -0
  143. package/dist/own-change-control/index.js.map +1 -0
  144. package/dist/own-change-control/with-skip-own-change-control.d.ts +3 -0
  145. package/dist/own-change-control/with-skip-own-change-control.d.ts.map +1 -0
  146. package/dist/own-change-control/with-skip-own-change-control.js +28 -0
  147. package/dist/own-change-control/with-skip-own-change-control.js.map +1 -0
  148. package/dist/own-change-control/with-skip-own-change-control.test.d.ts +2 -0
  149. package/dist/own-change-control/with-skip-own-change-control.test.d.ts.map +1 -0
  150. package/dist/own-change-control/with-skip-own-change-control.test.js +49 -0
  151. package/dist/own-change-control/with-skip-own-change-control.test.js.map +1 -0
  152. package/dist/own-entity-change-control/apply-own-entity-change.js +2 -2
  153. package/dist/own-entity-change-control/apply-own-entity-change.js.map +1 -1
  154. package/dist/own-entity-change-control/apply-own-entity-change.test.js +9 -9
  155. package/dist/own-entity-change-control/apply-own-entity-change.test.js.map +1 -1
  156. package/dist/own-entity-change-control/database-triggers.js +6 -6
  157. package/dist/own-entity-change-control/database-triggers.js.map +1 -1
  158. package/dist/own-entity-change-control/database-triggers.test.js +1 -1
  159. package/dist/own-entity-change-control/database-triggers.test.js.map +1 -1
  160. package/dist/query-filter/version-change-in-difference.test.js +37 -29
  161. package/dist/query-filter/version-change-in-difference.test.js.map +1 -1
  162. package/dist/query-filter/version-change-in-symmetric-difference.test.js +37 -39
  163. package/dist/query-filter/version-change-in-symmetric-difference.test.js.map +1 -1
  164. package/dist/server-api-handler/environment/create-in-memory-environment.d.ts.map +1 -1
  165. package/dist/server-api-handler/environment/create-in-memory-environment.js +7 -3
  166. package/dist/server-api-handler/environment/create-in-memory-environment.js.map +1 -1
  167. package/dist/server-api-handler/environment/create-in-memory-environment.test.js +8 -7
  168. package/dist/server-api-handler/environment/create-in-memory-environment.test.js.map +1 -1
  169. package/dist/server-api-handler/routes/get-v1.d.ts.map +1 -1
  170. package/dist/server-api-handler/routes/get-v1.js +1 -2
  171. package/dist/server-api-handler/routes/get-v1.js.map +1 -1
  172. package/dist/server-api-handler/routes/get-v1.test.js +6 -5
  173. package/dist/server-api-handler/routes/get-v1.test.js.map +1 -1
  174. package/dist/server-api-handler/routes/new-v1.d.ts.map +1 -1
  175. package/dist/server-api-handler/routes/new-v1.js +3 -1
  176. package/dist/server-api-handler/routes/new-v1.js.map +1 -1
  177. package/dist/server-api-handler/routes/new-v1.test.js +2 -1
  178. package/dist/server-api-handler/routes/new-v1.test.js.map +1 -1
  179. package/dist/server-api-handler/routes/pull-v1.test.js +4 -3
  180. package/dist/server-api-handler/routes/pull-v1.test.js.map +1 -1
  181. package/dist/server-api-handler/routes/push-v1.test.js +5 -4
  182. package/dist/server-api-handler/routes/push-v1.test.js.map +1 -1
  183. package/dist/services/env-variables/index.d.ts +5 -0
  184. package/dist/services/env-variables/index.d.ts.map +1 -0
  185. package/dist/services/env-variables/index.js +5 -0
  186. package/dist/services/env-variables/index.js.map +1 -0
  187. package/dist/services/telemetry/capture.d.ts +30 -0
  188. package/dist/services/telemetry/capture.d.ts.map +1 -0
  189. package/dist/services/telemetry/capture.js +71 -0
  190. package/dist/services/telemetry/capture.js.map +1 -0
  191. package/dist/services/telemetry/capture.test.d.ts +2 -0
  192. package/dist/services/telemetry/capture.test.d.ts.map +1 -0
  193. package/dist/services/telemetry/capture.test.js +37 -0
  194. package/dist/services/telemetry/capture.test.js.map +1 -0
  195. package/dist/sync/pull-from-server.d.ts.map +1 -1
  196. package/dist/sync/pull-from-server.js +0 -2
  197. package/dist/sync/pull-from-server.js.map +1 -1
  198. package/dist/sync/pull-from-server.test.js +29 -14
  199. package/dist/sync/pull-from-server.test.js.map +1 -1
  200. package/dist/sync/push-to-server.test.js +17 -13
  201. package/dist/sync/push-to-server.test.js.map +1 -1
  202. package/dist/sync/sync-process.d.ts +2 -4
  203. package/dist/sync/sync-process.d.ts.map +1 -1
  204. package/dist/sync/sync-process.js +14 -13
  205. package/dist/sync/sync-process.js.map +1 -1
  206. package/dist/sync/sync-process.test.js +26 -38
  207. package/dist/sync/sync-process.test.js.map +1 -1
  208. package/dist/version/create-version.d.ts +5 -5
  209. package/dist/version/create-version.d.ts.map +1 -1
  210. package/dist/version/create-version.js +23 -11
  211. package/dist/version/create-version.js.map +1 -1
  212. package/dist/version/create-version.test.js +2 -2
  213. package/dist/version/create-version.test.js.map +1 -1
  214. package/dist/version/merge-version.d.ts.map +1 -1
  215. package/dist/version/merge-version.js +16 -26
  216. package/dist/version/merge-version.js.map +1 -1
  217. package/dist/version/switch-version.js +3 -3
  218. package/dist/version/switch-version.js.map +1 -1
  219. package/dist/version/switch-version.test.js +12 -15
  220. package/dist/version/switch-version.test.js.map +1 -1
  221. package/dist/version/update-changes-in-version.d.ts.map +1 -1
  222. package/dist/version/update-changes-in-version.js +11 -31
  223. package/dist/version/update-changes-in-version.js.map +1 -1
  224. package/package.json +7 -9
  225. package/src/account/database-schema.test.ts +6 -9
  226. package/src/account/database-schema.ts +2 -6
  227. package/src/change/apply-changes.test.ts +7 -7
  228. package/src/change/apply-changes.ts +9 -9
  229. package/src/database/apply-schema.ts +20 -73
  230. package/src/database/execute-sync.test.ts +3 -3
  231. package/src/database/init-db.test.ts +163 -19
  232. package/src/database/init-db.ts +20 -3
  233. package/src/database/kysely-plugin/parse-jsonb-plugin-v1.ts +9 -2
  234. package/src/database/mutation-log/database-schema.ts +1 -3
  235. package/src/database/nano-id.test.ts +15 -0
  236. package/src/database/nano-id.ts +72 -0
  237. package/src/database/schema.ts +15 -24
  238. package/src/discussion/create-comment.ts +0 -3
  239. package/src/discussion/create-discussion.test.ts +8 -39
  240. package/src/discussion/create-discussion.ts +6 -9
  241. package/src/{change-queue → file-queue}/file-handlers.ts +27 -27
  242. package/src/{change-queue/init-change-queue.test.ts → file-queue/file-queue-process.test.ts} +28 -29
  243. package/src/{change-queue/init-change-queue.ts → file-queue/file-queue-process.ts} +21 -16
  244. package/src/{change-queue/change-queue-settled.test.ts → file-queue/file-queue-settled.test.ts} +12 -12
  245. package/src/{change-queue/change-queue-settled.ts → file-queue/file-queue-settled.ts} +4 -4
  246. package/src/file-queue/index.ts +1 -0
  247. package/src/{change-queue/with-skip-change-queue.test.ts → file-queue/with-skip-file-queue.test.ts} +9 -9
  248. package/src/{change-queue/with-skip-change-queue.ts → file-queue/with-skip-file-queue.ts} +3 -3
  249. package/src/index.ts +2 -2
  250. package/src/key-value/database-schema.test.ts +26 -5
  251. package/src/key-value/database-schema.ts +18 -6
  252. package/src/lix/close-lix.ts +8 -0
  253. package/src/lix/index.ts +1 -0
  254. package/src/lix/merge.test.ts +7 -19
  255. package/src/lix/merge.ts +4 -4
  256. package/src/lix/new-lix.ts +2 -3
  257. package/src/lix/open-lix-in-memory.test.ts +5 -1
  258. package/src/lix/open-lix.test.ts +82 -7
  259. package/src/lix/open-lix.ts +104 -24
  260. package/src/lix/to-blob.ts +14 -0
  261. package/src/{own-entity-change-control/apply-own-entity-change.test.ts → own-change-control/apply-own-change.test.ts} +27 -31
  262. package/src/{own-entity-change-control/apply-own-entity-change.ts → own-change-control/apply-own-change.ts} +3 -3
  263. package/src/{own-entity-change-control → own-change-control}/change-controlled-tables.ts +0 -1
  264. package/src/{own-entity-change-control → own-change-control}/database-triggers.test.ts +7 -7
  265. package/src/{own-entity-change-control → own-change-control}/database-triggers.ts +11 -11
  266. package/src/{own-entity-change-control → own-change-control}/with-skip-own-change-control.ts +6 -2
  267. package/src/query-filter/version-change-in-difference.test.ts +41 -32
  268. package/src/query-filter/version-change-in-symmetric-difference.test.ts +41 -42
  269. package/src/server-api-handler/environment/create-in-memory-environment.test.ts +8 -7
  270. package/src/server-api-handler/environment/create-in-memory-environment.ts +7 -3
  271. package/src/server-api-handler/routes/get-v1.test.ts +6 -5
  272. package/src/server-api-handler/routes/get-v1.ts +1 -3
  273. package/src/server-api-handler/routes/new-v1.test.ts +2 -1
  274. package/src/server-api-handler/routes/new-v1.ts +3 -1
  275. package/src/server-api-handler/routes/pull-v1.test.ts +4 -3
  276. package/src/server-api-handler/routes/push-v1.test.ts +5 -4
  277. package/src/services/env-variables/create-index-file.js +35 -0
  278. package/src/services/env-variables/index.d.ts +15 -0
  279. package/src/services/telemetry/capture.test.ts +44 -0
  280. package/src/services/telemetry/capture.ts +99 -0
  281. package/src/sync/pull-from-server.test.ts +29 -14
  282. package/src/sync/pull-from-server.ts +0 -2
  283. package/src/sync/push-to-server.test.ts +19 -15
  284. package/src/sync/sync-process.test.ts +37 -43
  285. package/src/sync/sync-process.ts +16 -23
  286. package/src/version/create-version.test.ts +2 -2
  287. package/src/version/create-version.ts +24 -12
  288. package/src/version/merge-version.ts +18 -26
  289. package/src/version/switch-version.test.ts +12 -15
  290. package/src/version/switch-version.ts +3 -3
  291. package/src/version/update-changes-in-version.ts +11 -30
  292. package/node_modules/@lix-js/server-api-schema/.prettierrc.json +0 -3
  293. package/node_modules/@lix-js/server-api-schema/.vscode/extensions.json +0 -3
  294. package/node_modules/@lix-js/server-api-schema/dist/schema.d.ts +0 -384
  295. package/node_modules/@lix-js/server-api-schema/package.json +0 -21
  296. package/node_modules/@lix-js/server-api-schema/src/schema.yaml +0 -290
  297. package/node_modules/@lix-js/server-api-schema/tsconfig.json +0 -20
  298. package/node_modules/sqlite-wasm-kysely/README.md +0 -11
  299. package/node_modules/sqlite-wasm-kysely/dist/dialect.d.ts +0 -11
  300. package/node_modules/sqlite-wasm-kysely/dist/dialect.js +0 -13
  301. package/node_modules/sqlite-wasm-kysely/dist/dialect.js.map +0 -1
  302. package/node_modules/sqlite-wasm-kysely/dist/index.d.ts +0 -2
  303. package/node_modules/sqlite-wasm-kysely/dist/index.js +0 -3
  304. package/node_modules/sqlite-wasm-kysely/dist/index.js.map +0 -1
  305. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.d.ts +0 -5
  306. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.js +0 -34
  307. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.js.map +0 -1
  308. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.d.ts +0 -8
  309. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.js +0 -57
  310. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.js.map +0 -1
  311. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.d.ts +0 -18
  312. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.js +0 -2
  313. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.js.map +0 -1
  314. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.d.ts +0 -13
  315. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.js +0 -57
  316. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.js.map +0 -1
  317. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.d.ts +0 -4
  318. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.js +0 -4
  319. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.js.map +0 -1
  320. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.d.ts +0 -3
  321. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.js +0 -5
  322. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.js.map +0 -1
  323. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.d.ts +0 -9
  324. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.js +0 -12
  325. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.js.map +0 -1
  326. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.d.ts +0 -3
  327. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.js +0 -22
  328. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.js.map +0 -1
  329. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.d.ts +0 -7
  330. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.js +0 -15
  331. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.js.map +0 -1
  332. package/node_modules/sqlite-wasm-kysely/dist/util/index.d.ts +0 -5
  333. package/node_modules/sqlite-wasm-kysely/dist/util/index.js +0 -5
  334. package/node_modules/sqlite-wasm-kysely/dist/util/index.js.map +0 -1
  335. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.d.ts +0 -1
  336. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.js +0 -13
  337. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.js.map +0 -1
  338. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.d.ts +0 -7
  339. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.js +0 -17
  340. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.js.map +0 -1
  341. package/node_modules/sqlite-wasm-kysely/package.json +0 -34
  342. package/node_modules/sqlite-wasm-kysely/src/dialect.ts +0 -15
  343. package/node_modules/sqlite-wasm-kysely/src/index.ts +0 -2
  344. package/node_modules/sqlite-wasm-kysely/src/kysely/ConnectionMutex.ts +0 -23
  345. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmConnection.ts +0 -57
  346. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmDialectConfig.ts +0 -19
  347. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmDriver.ts +0 -58
  348. package/node_modules/sqlite-wasm-kysely/src/kysely/index.ts +0 -4
  349. package/node_modules/sqlite-wasm-kysely/src/kysely/sqliteModule.ts +0 -7
  350. package/node_modules/sqlite-wasm-kysely/src/util/contentFromDatabase.ts +0 -13
  351. package/node_modules/sqlite-wasm-kysely/src/util/createInMemoryDatabase.ts +0 -30
  352. package/node_modules/sqlite-wasm-kysely/src/util/importDatabase.ts +0 -34
  353. package/node_modules/sqlite-wasm-kysely/src/util/index.ts +0 -5
  354. package/node_modules/sqlite-wasm-kysely/src/util/loadDatabaseInMemory.ts +0 -13
  355. package/node_modules/sqlite-wasm-kysely/src/util/sqliteWasmBinary.ts +0 -20
  356. package/src/change-queue/index.ts +0 -1
  357. /package/src/{own-entity-change-control → own-change-control}/change-controlled-tables.test.ts +0 -0
  358. /package/src/{own-entity-change-control → own-change-control}/index.ts +0 -0
  359. /package/src/{own-entity-change-control → own-change-control}/with-skip-own-change-control.test.ts +0 -0
@@ -4,25 +4,25 @@ import type { Lix } from "../lix/open-lix.js";
4
4
  /**
5
5
  * Creates a new Version.
6
6
  *
7
- * If parent is provided, the new Version will copy the change pointers from the parent version.
7
+ * If `from` is provided, the new version will be identical to the from version.
8
8
  *
9
9
  * @example
10
- * _Without parent_
10
+ * _Without from_
11
11
  *
12
12
  * ```ts
13
13
  * const version = await createVersion({ lix });
14
14
  * ```
15
15
  *
16
16
  * @example
17
- * _With parent_
17
+ * _With from_
18
18
  *
19
19
  * ```ts
20
- * const version = await createVersion({ lix, parent: otherVersion });
20
+ * const version = await createVersion({ lix, from: otherVersion });
21
21
  * ```
22
22
  */
23
23
  export async function createVersion(args: {
24
24
  lix: Pick<Lix, "db">;
25
- parent?: Pick<Version, "id">;
25
+ from?: Pick<Version, "id">;
26
26
  name?: Version["name"];
27
27
  }): Promise<Version> {
28
28
  const executeInTransaction = async (trx: Lix["db"]) => {
@@ -36,20 +36,32 @@ export async function createVersion(args: {
36
36
 
37
37
  const newVersion = await query.executeTakeFirstOrThrow();
38
38
 
39
- // copy the change pointers from the parent Version
40
- if (args.parent) {
39
+ // copy the change pointers from the from Version
40
+ if (args.from) {
41
41
  await trx
42
42
  .insertInto("version_change")
43
- .columns(["version_id", "change_id"])
43
+ .columns([
44
+ "version_id",
45
+ "change_id",
46
+ "entity_id",
47
+ "schema_key",
48
+ "file_id",
49
+ ])
44
50
  .expression((eb) =>
45
51
  eb
46
52
  .selectFrom("version_change")
47
- .select([eb.val(newVersion.id).as("version_id"), "change_id"])
48
- .where("version_id", "=", args.parent!.id)
53
+ .select([
54
+ eb.val(newVersion.id).as("version_id"),
55
+ "change_id",
56
+ "entity_id",
57
+ "schema_key",
58
+ "file_id",
59
+ ])
60
+ .where("version_id", "=", args.from!.id)
49
61
  )
50
62
  .execute();
51
63
 
52
- // copy the change conflicts from the parent Version
64
+ // copy the change conflicts from the from Version
53
65
  await trx
54
66
  .insertInto("version_change_conflict")
55
67
  .columns(["version_id", "change_conflict_id"])
@@ -60,7 +72,7 @@ export async function createVersion(args: {
60
72
  eb.val(newVersion.id).as("version_id"),
61
73
  "change_conflict_id",
62
74
  ])
63
- .where("version_id", "=", args.parent!.id)
75
+ .where("version_id", "=", args.from!.id)
64
76
  )
65
77
  .execute();
66
78
  }
@@ -1,7 +1,7 @@
1
1
  import { createChangeConflict } from "../change-conflict/create-change-conflict.js";
2
2
  import { detectChangeConflicts } from "../change-conflict/detect-change-conflicts.js";
3
3
  import { applyChanges } from "../change/apply-changes.js";
4
- import type { Version } from "../database/schema.js";
4
+ import type { Version, VersionChange } from "../database/schema.js";
5
5
  import type { Lix } from "../lix/open-lix.js";
6
6
  import { versionChangeInSymmetricDifference } from "../query-filter/version-change-in-symmetric-difference.js";
7
7
 
@@ -33,42 +33,34 @@ export async function mergeVersion(args: {
33
33
  conflict.conflictingChangeIds.has(change.id)
34
34
  );
35
35
 
36
- const existingTargetChange = await trx
37
- .selectFrom("change")
38
- .innerJoin("version_change", "change.id", "version_change.change_id")
36
+ const versionChange: VersionChange = {
37
+ version_id: args.targetVersion.id,
38
+ change_id: change.id,
39
+ entity_id: change.entity_id,
40
+ schema_key: change.schema_key,
41
+ file_id: change.file_id,
42
+ };
43
+
44
+ const existingTargetVersionChange = await trx
45
+ .selectFrom("version_change")
39
46
  .where("version_change.version_id", "=", args.targetVersion.id)
40
47
  .where("file_id", "=", change.file_id)
41
48
  .where("entity_id", "=", change.entity_id)
42
49
  .where("schema_key", "=", change.schema_key)
43
- .select("id")
50
+ .select("change_id")
44
51
  .executeTakeFirst();
45
52
 
46
53
  // shouldn't update the pointer if there is a conflict
47
54
  // and the change pointer already exists
48
- if (hasConflict && existingTargetChange) {
55
+ if (hasConflict && existingTargetVersionChange) {
49
56
  continue;
50
57
  }
51
58
 
52
- if (existingTargetChange) {
53
- // update the existing change pointer
54
- await trx
55
- .updateTable("version_change")
56
- .set({
57
- change_id: change.id,
58
- })
59
- .where("change_id", "=", existingTargetChange.id)
60
- .where("version_id", "=", args.targetVersion.id)
61
- .execute();
62
- } else {
63
- // insert the new change pointer
64
- await trx
65
- .insertInto("version_change")
66
- .values({
67
- version_id: args.targetVersion.id,
68
- change_id: change.id,
69
- })
70
- .execute();
71
- }
59
+ await trx
60
+ .insertInto("version_change")
61
+ .values(versionChange)
62
+ .onConflict((oc) => oc.doUpdateSet(versionChange))
63
+ .execute();
72
64
  }
73
65
 
74
66
  // insert the detected conflicts
@@ -4,7 +4,7 @@ import { switchVersion } from "./switch-version.js";
4
4
  import { createVersion } from "./create-version.js";
5
5
  import { createChange } from "../change/create-change.js";
6
6
  import type { LixPlugin } from "../plugin/lix-plugin.js";
7
- import { changeQueueSettled } from "../change-queue/change-queue-settled.js";
7
+ import { fileQueueSettled } from "../file-queue/file-queue-settled.js";
8
8
 
9
9
  test("switching versiones should update the current_version", async () => {
10
10
  const lix = await openLixInMemory({});
@@ -18,7 +18,7 @@ test("switching versiones should update the current_version", async () => {
18
18
  const newVersion = await lix.db.transaction().execute(async (trx) => {
19
19
  const newVersion = await createVersion({
20
20
  lix: { db: trx },
21
- parent: currentVersion,
21
+ from: currentVersion,
22
22
  });
23
23
  await switchVersion({ lix: { ...lix, db: trx }, to: newVersion });
24
24
  return newVersion;
@@ -60,7 +60,7 @@ test("switching a version does not lead to duplicate changes", async () => {
60
60
 
61
61
  const newVersion = await createVersion({
62
62
  lix: lix,
63
- parent: currentVersion,
63
+ from: currentVersion,
64
64
  });
65
65
 
66
66
  const changesBefore = await lix.db.selectFrom("change").selectAll().execute();
@@ -95,7 +95,7 @@ test("switch version applies the changes of the switched to version", async () =
95
95
  .selectAll()
96
96
  .execute();
97
97
 
98
- expect(keyValues).toEqual([{ key: "foo", value: "bar" }]);
98
+ expect(keyValues).toMatchObject([{ key: "foo", value: "bar" }]);
99
99
 
100
100
  await switchVersion({ lix, to: versionB });
101
101
 
@@ -123,7 +123,7 @@ test("switch version applies the changes of the switched to version", async () =
123
123
  .execute();
124
124
 
125
125
  // expecting to see the value from version A again
126
- expect(keyValues).toEqual([{ key: "foo", value: "bar" }]);
126
+ expect(keyValues).toMatchObject([{ key: "foo", value: "bar" }]);
127
127
  });
128
128
 
129
129
  // https://github.com/opral/lix-sdk/issues/209
@@ -177,11 +177,11 @@ test("a deleted file in one version does not impact a version which did not dele
177
177
  })
178
178
  .execute();
179
179
 
180
- await changeQueueSettled({ lix });
180
+ await fileQueueSettled({ lix });
181
181
 
182
182
  expect(mockTxtPlugin.detectChanges).toHaveBeenCalledTimes(1);
183
183
 
184
- const versionB = await createVersion({ lix, parent: versionA });
184
+ const versionB = await createVersion({ lix, from: versionA });
185
185
 
186
186
  await switchVersion({ lix, to: versionB });
187
187
 
@@ -191,7 +191,7 @@ test("a deleted file in one version does not impact a version which did not dele
191
191
  // deleting the file in version B
192
192
  await lix.db.deleteFrom("file").where("id", "=", "file0").execute();
193
193
 
194
- await changeQueueSettled({ lix });
194
+ await fileQueueSettled({ lix });
195
195
 
196
196
  // lix own change control handles file deletions
197
197
  // expecting the plugin.detectChanges to not be invoked
@@ -231,7 +231,7 @@ test("a deleted file in one version does not impact a version which did not dele
231
231
  expect(fileAfterSwitch).toBeUndefined();
232
232
  });
233
233
 
234
- test("doesn't trigger the change queue when switching versions which would lead to duplicate changes", async () => {
234
+ test("doesn't trigger the file queue when switching versions which would lead to duplicate changes", async () => {
235
235
  const mockTxtPlugin: LixPlugin = {
236
236
  key: "mock_txt_plugin",
237
237
  detectChangesGlob: "*.txt",
@@ -282,14 +282,11 @@ test("doesn't trigger the change queue when switching versions which would lead
282
282
  })
283
283
  .execute();
284
284
 
285
- await changeQueueSettled({ lix });
285
+ await fileQueueSettled({ lix });
286
286
 
287
287
  await switchVersion({ lix, to: versionB });
288
288
 
289
- const changeQueue = await lix.db
290
- .selectFrom("change_queue")
291
- .selectAll()
292
- .execute();
289
+ const fileQueue = await lix.db.selectFrom("file_queue").selectAll().execute();
293
290
 
294
- expect(changeQueue).toHaveLength(0);
291
+ expect(fileQueue).toHaveLength(0);
295
292
  });
@@ -1,4 +1,4 @@
1
- import { withSkipChangeQueue } from "../change-queue/with-skip-change-queue.js";
1
+ import { withSkipFileQueue } from "../file-queue/with-skip-file-queue.js";
2
2
  import { applyChanges } from "../change/apply-changes.js";
3
3
  import type { Change, Version } from "../database/schema.js";
4
4
  import type { Lix } from "../lix/open-lix.js";
@@ -29,7 +29,7 @@ export async function switchVersion(args: {
29
29
  to: Pick<Version, "id">;
30
30
  }): Promise<void> {
31
31
  const executeInTransaction = async (trx: Lix["db"]) => {
32
- await withSkipChangeQueue(trx, async (trx) => {
32
+ await withSkipFileQueue(trx, async (trx) => {
33
33
  const sourceVersion = await trx
34
34
  .selectFrom("current_version")
35
35
  .selectAll()
@@ -75,7 +75,7 @@ export async function switchVersion(args: {
75
75
  // need to remove the entity when switching the version
76
76
  else {
77
77
  if (
78
- change.plugin_key === "lix_own_entity" &&
78
+ change.plugin_key === "lix_own_change_control" &&
79
79
  (change.schema_key === "lix_account_table" ||
80
80
  change.schema_key === "lix_version_table")
81
81
  ) {
@@ -13,41 +13,22 @@ export async function updateChangesInVersion(args: {
13
13
  changes: Change[];
14
14
  }): Promise<void> {
15
15
  // const executeInTransaction = async (trx: Lix["db"]) => {
16
-
17
16
  for (const change of args.changes ?? []) {
18
- // Change for the same entity_id, schema_key and file_id should be unique
19
- const existingEntityChange = executeSync({
17
+ executeSync({
20
18
  lix: args.lix,
21
19
  query: args.lix.db
22
- .selectFrom("change")
23
- .innerJoin("version_change", "change.id", "version_change.change_id")
24
- .where("version_change.version_id", "=", args.version.id)
25
- .where("change.schema_key", "=", change.schema_key)
26
- .where("change.entity_id", "=", change.entity_id)
27
- .where("change.file_id", "=", change.file_id)
28
- .selectAll(),
29
- })[0];
30
-
31
- if (existingEntityChange) {
32
- // update the existing pointer
33
- executeSync({
34
- lix: args.lix,
35
- query: args.lix.db
36
- .updateTable("version_change")
37
- .set("change_id", change.id)
38
- .where("change_id", "=", existingEntityChange.id)
39
- .where("version_id", "=", args.version.id),
40
- });
41
- } else {
42
- // create a new pointer
43
- executeSync({
44
- lix: args.lix,
45
- query: args.lix.db.insertInto("version_change").values({
20
+ .insertInto("version_change")
21
+ .values({
46
22
  version_id: args.version.id,
47
23
  change_id: change.id,
48
- }),
49
- });
50
- }
24
+ entity_id: change.entity_id,
25
+ schema_key: change.schema_key,
26
+ file_id: change.file_id,
27
+ })
28
+ .onConflict((oc) =>
29
+ oc.doUpdateSet((eb) => ({ change_id: eb.ref("excluded.change_id") }))
30
+ ),
31
+ });
51
32
  }
52
33
 
53
34
  // await updateChangeConflicts({
@@ -1,3 +0,0 @@
1
- {
2
- "useTabs": true
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "recommendations": ["42crunch.vscode-openapi"]
3
- }