@lix-js/sdk 0.4.4 → 0.4.6
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.
- package/dist/change-set/create-change-set.d.ts +13 -1
- package/dist/change-set/create-change-set.d.ts.map +1 -1
- package/dist/change-set/create-change-set.js +30 -7
- package/dist/change-set/create-change-set.js.map +1 -1
- package/dist/change-set/create-change-set.test.js +50 -0
- package/dist/change-set/create-change-set.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lix/open-lix.js +1 -1
- package/dist/server-protocol-handler/create-server-protocol-handler.d.ts +49 -0
- package/dist/server-protocol-handler/create-server-protocol-handler.d.ts.map +1 -0
- package/dist/{server-api-handler/create-server-api-handler.js → server-protocol-handler/create-server-protocol-handler.js} +12 -10
- package/dist/server-protocol-handler/create-server-protocol-handler.js.map +1 -0
- package/dist/server-protocol-handler/environment/create-in-memory-environment.d.ts +9 -0
- package/dist/server-protocol-handler/environment/create-in-memory-environment.d.ts.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/environment/create-in-memory-environment.js +3 -1
- package/dist/server-protocol-handler/environment/create-in-memory-environment.js.map +1 -0
- package/dist/server-protocol-handler/environment/create-in-memory-environment.test.d.ts.map +1 -0
- package/dist/server-protocol-handler/environment/create-in-memory-environment.test.js.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/environment/environment.d.ts +2 -1
- package/dist/server-protocol-handler/environment/environment.d.ts.map +1 -0
- package/dist/server-protocol-handler/environment/environment.js.map +1 -0
- package/dist/server-protocol-handler/index.d.ts +3 -0
- package/dist/server-protocol-handler/index.d.ts.map +1 -0
- package/dist/server-protocol-handler/index.js +3 -0
- package/dist/server-protocol-handler/index.js.map +1 -0
- package/dist/server-protocol-handler/routes/get-v1.d.ts +3 -0
- package/dist/server-protocol-handler/routes/get-v1.d.ts.map +1 -0
- package/dist/server-protocol-handler/routes/get-v1.js.map +1 -0
- package/dist/server-protocol-handler/routes/get-v1.test.d.ts.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/routes/get-v1.test.js +16 -16
- package/dist/server-protocol-handler/routes/get-v1.test.js.map +1 -0
- package/dist/server-protocol-handler/routes/new-v1.d.ts +3 -0
- package/dist/server-protocol-handler/routes/new-v1.d.ts.map +1 -0
- package/dist/server-protocol-handler/routes/new-v1.js.map +1 -0
- package/dist/server-protocol-handler/routes/new-v1.test.d.ts.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/routes/new-v1.test.js +12 -12
- package/dist/server-protocol-handler/routes/new-v1.test.js.map +1 -0
- package/dist/server-protocol-handler/routes/pull-v1.d.ts +3 -0
- package/dist/server-protocol-handler/routes/pull-v1.d.ts.map +1 -0
- package/dist/server-protocol-handler/routes/pull-v1.js.map +1 -0
- package/dist/server-protocol-handler/routes/pull-v1.test.d.ts.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/routes/pull-v1.test.js +12 -13
- package/dist/server-protocol-handler/routes/pull-v1.test.js.map +1 -0
- package/dist/server-protocol-handler/routes/push-v1.d.ts +3 -0
- package/dist/server-protocol-handler/routes/push-v1.d.ts.map +1 -0
- package/dist/server-protocol-handler/routes/push-v1.js.map +1 -0
- package/dist/server-protocol-handler/routes/push-v1.test.d.ts.map +1 -0
- package/dist/{server-api-handler → server-protocol-handler}/routes/push-v1.test.js +12 -13
- package/dist/server-protocol-handler/routes/push-v1.test.js.map +1 -0
- package/dist/services/env-variables/index.js +1 -1
- package/dist/sync/pull-from-server.js +1 -2
- package/dist/sync/pull-from-server.js.map +1 -1
- package/dist/sync/pull-from-server.test.js +27 -27
- package/dist/sync/pull-from-server.test.js.map +1 -1
- package/dist/sync/push-to-server.js +1 -1
- package/dist/sync/push-to-server.test.js +18 -18
- package/dist/sync/push-to-server.test.js.map +1 -1
- package/dist/sync/sync-process.js +1 -1
- package/dist/sync/sync-process.js.map +1 -1
- package/dist/sync/sync-process.test.js +13 -13
- package/dist/sync/sync-process.test.js.map +1 -1
- package/package.json +2 -2
- package/src/change-set/create-change-set.test.ts +64 -0
- package/src/change-set/create-change-set.ts +38 -10
- package/src/index.ts +1 -1
- package/src/lix/open-lix.ts +1 -1
- package/src/{server-api-handler/create-server-api-handler.ts → server-protocol-handler/create-server-protocol-handler.ts} +22 -18
- package/src/{server-api-handler → server-protocol-handler}/environment/create-in-memory-environment.ts +6 -2
- package/src/{server-api-handler → server-protocol-handler}/environment/environment.ts +4 -1
- package/src/server-protocol-handler/index.ts +5 -0
- package/src/{server-api-handler → server-protocol-handler}/routes/get-v1.test.ts +22 -22
- package/src/{server-api-handler → server-protocol-handler}/routes/get-v1.ts +2 -2
- package/src/{server-api-handler → server-protocol-handler}/routes/new-v1.test.ts +16 -16
- package/src/{server-api-handler → server-protocol-handler}/routes/new-v1.ts +2 -2
- package/src/{server-api-handler → server-protocol-handler}/routes/pull-v1.test.ts +16 -16
- package/src/{server-api-handler → server-protocol-handler}/routes/pull-v1.ts +6 -5
- package/src/{server-api-handler → server-protocol-handler}/routes/push-v1.test.ts +18 -18
- package/src/{server-api-handler → server-protocol-handler}/routes/push-v1.ts +6 -5
- package/src/sync/pull-from-server.test.ts +32 -32
- package/src/sync/pull-from-server.ts +5 -5
- package/src/sync/push-to-server.test.ts +22 -22
- package/src/sync/push-to-server.ts +3 -3
- package/src/sync/sync-process.test.ts +18 -18
- package/src/sync/sync-process.ts +1 -1
- package/dist/server-api-handler/create-server-api-handler.d.ts +0 -48
- package/dist/server-api-handler/create-server-api-handler.d.ts.map +0 -1
- package/dist/server-api-handler/create-server-api-handler.js.map +0 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.d.ts +0 -8
- package/dist/server-api-handler/environment/create-in-memory-environment.d.ts.map +0 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.js.map +0 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.test.d.ts.map +0 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.test.js.map +0 -1
- package/dist/server-api-handler/environment/environment.d.ts.map +0 -1
- package/dist/server-api-handler/environment/environment.js.map +0 -1
- package/dist/server-api-handler/index.d.ts +0 -3
- package/dist/server-api-handler/index.d.ts.map +0 -1
- package/dist/server-api-handler/index.js +0 -3
- package/dist/server-api-handler/index.js.map +0 -1
- package/dist/server-api-handler/routes/get-v1.d.ts +0 -3
- package/dist/server-api-handler/routes/get-v1.d.ts.map +0 -1
- package/dist/server-api-handler/routes/get-v1.js.map +0 -1
- package/dist/server-api-handler/routes/get-v1.test.d.ts.map +0 -1
- package/dist/server-api-handler/routes/get-v1.test.js.map +0 -1
- package/dist/server-api-handler/routes/new-v1.d.ts +0 -3
- package/dist/server-api-handler/routes/new-v1.d.ts.map +0 -1
- package/dist/server-api-handler/routes/new-v1.js.map +0 -1
- package/dist/server-api-handler/routes/new-v1.test.d.ts.map +0 -1
- package/dist/server-api-handler/routes/new-v1.test.js.map +0 -1
- package/dist/server-api-handler/routes/pull-v1.d.ts +0 -3
- package/dist/server-api-handler/routes/pull-v1.d.ts.map +0 -1
- package/dist/server-api-handler/routes/pull-v1.js.map +0 -1
- package/dist/server-api-handler/routes/pull-v1.test.d.ts.map +0 -1
- package/dist/server-api-handler/routes/pull-v1.test.js.map +0 -1
- package/dist/server-api-handler/routes/push-v1.d.ts +0 -3
- package/dist/server-api-handler/routes/push-v1.d.ts.map +0 -1
- package/dist/server-api-handler/routes/push-v1.js.map +0 -1
- package/dist/server-api-handler/routes/push-v1.test.d.ts.map +0 -1
- package/dist/server-api-handler/routes/push-v1.test.js.map +0 -1
- package/src/server-api-handler/index.ts +0 -5
- /package/dist/{server-api-handler → server-protocol-handler}/environment/create-in-memory-environment.test.d.ts +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/environment/create-in-memory-environment.test.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/environment/environment.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/get-v1.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/get-v1.test.d.ts +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/new-v1.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/new-v1.test.d.ts +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/pull-v1.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/pull-v1.test.d.ts +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/push-v1.js +0 -0
- /package/dist/{server-api-handler → server-protocol-handler}/routes/push-v1.test.d.ts +0 -0
- /package/src/{server-api-handler → server-protocol-handler}/environment/create-in-memory-environment.test.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-to-server.test.js","sourceRoot":"","sources":["../../src/sync/push-to-server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"push-to-server.test.js","sourceRoot":"","sources":["../../src/sync/push-to-server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ export async function initSyncProcess(args) {
|
|
|
48
48
|
}
|
|
49
49
|
catch (e) {
|
|
50
50
|
// likely that lix didn't exist on the server
|
|
51
|
-
const response = await fetch(new Request(url.value
|
|
51
|
+
const response = await fetch(new Request(`${url.value}/lsp/new-v1`, {
|
|
52
52
|
method: "POST",
|
|
53
53
|
body: await toBlob({ lix: args.lix }),
|
|
54
54
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-process.js","sourceRoot":"","sources":["../../src/sync/sync-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAErC;IACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;SAC7B,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC;SAC3B,MAAM,CAAC,OAAO,CAAC;SACf,uBAAuB,EAAE,CAAC;IAE5B,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAClC,UAAU,CAAC,WAAW,CAAC;aACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;aAC7B,MAAM,CAAC,OAAO,CAAC;aACf,gBAAgB,EAAE,CAAC;QAErB,IAAI,UAAU,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO;QACR,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC3B,UAAU,CAAC,WAAW,CAAC;YACxB,yDAAyD;aACxD,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC;aACnC,MAAM,CAAC,OAAO,CAAC;aACf,gBAAgB,EAAE,CAAC;QACrB,gDAAgD;QAChD,gDAAgD;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,6DAA6D;YAC7D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;gBACxC,SAAS,EAAE,GAAG,CAAC,KAAK;gBACpB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,EAAE,EAAE,KAAK,CAAC,KAAK;aACf,CAAC,CAAC;YACH,eAAe;YACf,+EAA+E;YAC/E,eAAe;YACf,KAAK;YACL,2DAA2D;YAC3D,MAAM,YAAY,CAAC;gBAClB,SAAS,EAAE,GAAG,CAAC,KAAK;gBACpB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,EAAE,EAAE,KAAK,CAAC,KAAK;gBACf,iBAAiB,EAAE,WAAW;aAC9B,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"sync-process.js","sourceRoot":"","sources":["../../src/sync/sync-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { test, expect, vi } from "vitest";
|
|
2
2
|
import { openLixInMemory } from "../lix/open-lix-in-memory.js";
|
|
3
|
-
import {
|
|
3
|
+
import { createLspInMemoryEnvironment, createServerProtocolHandler, } from "../server-protocol-handler/index.js";
|
|
4
4
|
import { createVersion } from "../version/create-version.js";
|
|
5
5
|
import { switchVersion } from "../version/switch-version.js";
|
|
6
6
|
import { executeSync } from "../database/execute-sync.js";
|
|
7
7
|
import { toBlob } from "../lix/to-blob.js";
|
|
8
8
|
test("versions should be synced", async () => {
|
|
9
|
-
const environment =
|
|
10
|
-
const
|
|
11
|
-
global.fetch = vi.fn((request) =>
|
|
9
|
+
const environment = createLspInMemoryEnvironment();
|
|
10
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
11
|
+
global.fetch = vi.fn((request) => lspHandler(request));
|
|
12
12
|
const lix0 = await openLixInMemory({
|
|
13
13
|
keyValues: [{ key: "lix_server_url", value: "http://mock.com" }],
|
|
14
14
|
});
|
|
@@ -20,7 +20,7 @@ test("versions should be synced", async () => {
|
|
|
20
20
|
.selectAll()
|
|
21
21
|
.executeTakeFirstOrThrow();
|
|
22
22
|
// initialize lix on the server
|
|
23
|
-
await
|
|
23
|
+
await lspHandler(new Request("http://mock.com/lsp/new-v1", {
|
|
24
24
|
method: "POST",
|
|
25
25
|
body: await toBlob({ lix: lix0 }),
|
|
26
26
|
}));
|
|
@@ -90,9 +90,9 @@ test("versions should be synced", async () => {
|
|
|
90
90
|
expect(lix0VersionChanges).toEqual(lix1VersionChanges);
|
|
91
91
|
});
|
|
92
92
|
test("switching synced versions should work", async () => {
|
|
93
|
-
const environment =
|
|
94
|
-
const
|
|
95
|
-
global.fetch = vi.fn((request) =>
|
|
93
|
+
const environment = createLspInMemoryEnvironment();
|
|
94
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
95
|
+
global.fetch = vi.fn((request) => lspHandler(request));
|
|
96
96
|
// @ts-expect-error - eases debugging
|
|
97
97
|
global.executeSync = executeSync;
|
|
98
98
|
const lix0 = await openLixInMemory({
|
|
@@ -107,7 +107,7 @@ test("switching synced versions should work", async () => {
|
|
|
107
107
|
.executeTakeFirstOrThrow();
|
|
108
108
|
const server = await environment.openLix({ id: lixId.value });
|
|
109
109
|
// initialize lix on the server
|
|
110
|
-
await
|
|
110
|
+
await lspHandler(new Request("http://mock.com/lsp/new-v1", {
|
|
111
111
|
method: "POST",
|
|
112
112
|
body: await toBlob({ lix: lix0 }),
|
|
113
113
|
}));
|
|
@@ -184,9 +184,9 @@ test("switching synced versions should work", async () => {
|
|
|
184
184
|
});
|
|
185
185
|
});
|
|
186
186
|
test("doesnt sync if lix_sync is not true", async () => {
|
|
187
|
-
const environment =
|
|
188
|
-
const
|
|
189
|
-
global.fetch = vi.fn((request) =>
|
|
187
|
+
const environment = createLspInMemoryEnvironment();
|
|
188
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
189
|
+
global.fetch = vi.fn((request) => lspHandler(request));
|
|
190
190
|
const lix = await openLixInMemory({});
|
|
191
191
|
const lixId = await lix.db
|
|
192
192
|
.selectFrom("key_value")
|
|
@@ -194,7 +194,7 @@ test("doesnt sync if lix_sync is not true", async () => {
|
|
|
194
194
|
.selectAll()
|
|
195
195
|
.executeTakeFirstOrThrow();
|
|
196
196
|
// initialize lix on the server
|
|
197
|
-
await
|
|
197
|
+
await lspHandler(new Request("http://mock.com/lsp/new-v1", {
|
|
198
198
|
method: "POST",
|
|
199
199
|
body: await toBlob({ lix }),
|
|
200
200
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-process.test.js","sourceRoot":"","sources":["../../src/sync/sync-process.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACN,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"sync-process.test.js","sourceRoot":"","sources":["../../src/sync/sync-process.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACN,4BAA4B,EAC5B,2BAA2B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QAClC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE;SACzB,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC;SAC3B,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE5B,+BAA+B;IAC/B,MAAM,UAAU,CACf,IAAI,OAAO,CAAC,4BAA4B,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KACjC,CAAC,CACF,CAAC;IAEF,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QAClC,IAAI,EAAE,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACjC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,OAAO,CAAC,GAAG,CAChB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,GAAG,CAAC,EAAE;SACJ,WAAW,CAAC,WAAW,CAAC;SACxB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;SAC7B,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACtB,OAAO,EAAE,CACX,CACD,CAAC;IAEF,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9D,IAAI,QAAiB,CAAC;IAEtB,6CAA6C;IAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjD,MAAM,cAAc,GAAG,MAAM,GAAG;aAC9B,UAAU,CAAC,iBAAiB,CAAC;aAC7B,SAAS,EAAE;aACX,uBAAuB,EAAE,CAAC;QAC5B,QAAQ,GAAG,MAAM,aAAa,CAAC;YAC9B,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;YACzB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,UAAU;SAChB,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,0EAA0E;IAC1E,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE;SACvC,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,CAAC,UAAU,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC1D,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,mBAAmB,CAAC;SAC7C,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,4CAA4C;IAC5C,oDAAoD;IACpD,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElC,4BAA4B;IAC5B,8BAA8B;IAC9B,yBAAyB;IACzB,QAAQ;IACR,MAAM;IACN,KAAK;IAEL,yDAAyD;IACzD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;SAChC,UAAU,CAAC,SAAS,CAAC;SACrB,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;SAChC,UAAU,CAAC,SAAS,CAAC;SACrB,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3C,gEAAgE;IAChE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CACjE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,GAAG,CAAC,EAAE;SACJ,UAAU,CAAC,gBAAgB,CAAC;SAC5B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;SAC5B,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;SAC7B,SAAS,EAAE;SACX,OAAO,EAAE,CACX,CACD,CAAC;IAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,qCAAqC;IACrC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QAClC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE;SACzB,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC;SAC3B,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9D,+BAA+B;IAC/B,MAAM,UAAU,CACf,IAAI,OAAO,CAAC,4BAA4B,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KACjC,CAAC,CACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,IAAI,CAAC,EAAE;SACX,UAAU,CAAC,WAAW,CAAC;SACvB,MAAM,CAAC;QACP,GAAG,EAAE,gBAAgB;QACrB,KAAK,EAAE,iBAAiB;KACxB,CAAC;SACD,OAAO,EAAE,CAAC;IAEZ,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QAClC,IAAI,EAAE,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACjC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE;SAClC,UAAU,CAAC,iBAAiB,CAAC;SAC7B,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE5B,6CAA6C;IAC7C,kDAAkD;IAClD,iBAAiB;IACjB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACpC,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;KACpB,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjD,MAAM,IAAI,CAAC,EAAE;SACX,UAAU,CAAC,WAAW,CAAC;SACvB,MAAM,CAAC;QACP,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,MAAM;KACb,CAAC;SACD,OAAO,EAAE,CAAC;IAEZ,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,8CAA8C;IAC9C,6BAA6B;IAC7B,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;SACzC,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;SACnC,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE;SACjD,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;SACnC,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;SACzC,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;SACnC,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/D,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/D,0CAA0C;IAC1C,kCAAkC;IAClC,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;SAC5B,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;SAC7B,SAAS,EAAE;SACX,gBAAgB,EAAE,CAAC;IAErB,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;QAC9B,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,MAAM;KACb,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE;SACxB,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC;SAC3B,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE5B,+BAA+B;IAC/B,MAAM,UAAU,CACf,IAAI,OAAO,CAAC,4BAA4B,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;KAC3B,CAAC,CACF,CAAC;IAEF,MAAM,GAAG,CAAC,EAAE;SACV,WAAW,CAAC,WAAW,CAAC;SACxB,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SACvB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;SAC7B,OAAO,EAAE,CAAC;IAEZ,MAAM,GAAG,CAAC,EAAE;SACV,UAAU,CAAC,WAAW,CAAC;SACvB,MAAM,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;SAC3D,OAAO,EAAE,CAAC;IAEZ,MAAM,GAAG,CAAC,EAAE;SACV,UAAU,CAAC,WAAW,CAAC;SACvB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACpC,OAAO,EAAE,CAAC;IAEZ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9D,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE;SACjD,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;SAC9B,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE5C,kBAAkB;IAElB,MAAM,GAAG,CAAC,EAAE;SACV,WAAW,CAAC,WAAW,CAAC;SACxB,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACtB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;SAC7B,OAAO,EAAE,CAAC;IAEZ,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,gCAAgC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE;SAC1D,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,CAAC,UAAU,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC1D,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;SAC9B,SAAS,EAAE;SACX,OAAO,EAAE,CAAC;IAEZ,MAAM,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAC/C,MAAM,CAAC,eAAe,CAAC;QACtB,MAAM,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAChC,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE,KAAK;aACZ,CAAC;SACF,CAAC;KACF,CAAC,CACF,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lix-js/sdk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.6",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"js-sha256": "^0.11.0",
|
|
24
24
|
"kysely": "^0.27.4",
|
|
25
25
|
"uuid": "^10.0.0",
|
|
26
|
-
"@lix-js/server-
|
|
26
|
+
"@lix-js/server-protocol-schema": "0.1.1",
|
|
27
27
|
"sqlite-wasm-kysely": "0.3.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
@@ -41,3 +41,67 @@ test("creating a change set should succeed", async () => {
|
|
|
41
41
|
expect.arrayContaining([mockChanges[0]?.id, mockChanges[1]?.id])
|
|
42
42
|
);
|
|
43
43
|
});
|
|
44
|
+
|
|
45
|
+
test("creating a change set with empty changes array should succeed", async () => {
|
|
46
|
+
const lix = await openLixInMemory({});
|
|
47
|
+
|
|
48
|
+
// Create a change set with an empty changes array
|
|
49
|
+
const changeSet = await createChangeSet({
|
|
50
|
+
lix: lix,
|
|
51
|
+
changes: [],
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Verify the change set was created
|
|
55
|
+
expect(changeSet.id).toBeDefined();
|
|
56
|
+
|
|
57
|
+
// Verify no change_set_element records were created
|
|
58
|
+
const changeSetMembers = await lix.db
|
|
59
|
+
.selectFrom("change_set_element")
|
|
60
|
+
.selectAll()
|
|
61
|
+
.where("change_set_id", "=", changeSet.id)
|
|
62
|
+
.execute();
|
|
63
|
+
|
|
64
|
+
expect(changeSetMembers).toHaveLength(0);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test("creating a change set with labels should associate the labels with the change set", async () => {
|
|
68
|
+
const lix = await openLixInMemory({});
|
|
69
|
+
|
|
70
|
+
// Get existing labels
|
|
71
|
+
const checkpointLabel = await lix.db
|
|
72
|
+
.selectFrom("label")
|
|
73
|
+
.selectAll()
|
|
74
|
+
.where("name", "=", "checkpoint")
|
|
75
|
+
.executeTakeFirstOrThrow();
|
|
76
|
+
|
|
77
|
+
// Create a new label
|
|
78
|
+
const testLabel = await lix.db
|
|
79
|
+
.insertInto("label")
|
|
80
|
+
.values({ name: "test-label" })
|
|
81
|
+
.returningAll()
|
|
82
|
+
.executeTakeFirstOrThrow();
|
|
83
|
+
|
|
84
|
+
// Create a change set with labels
|
|
85
|
+
const changeSet = await createChangeSet({
|
|
86
|
+
lix: lix,
|
|
87
|
+
changes: [],
|
|
88
|
+
labels: [checkpointLabel, testLabel],
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Verify the change set was created
|
|
92
|
+
expect(changeSet.id).toBeDefined();
|
|
93
|
+
|
|
94
|
+
// Get the labels associated with the change set
|
|
95
|
+
const changeSetLabels = await lix.db
|
|
96
|
+
.selectFrom("change_set_label")
|
|
97
|
+
.innerJoin("label", "label.id", "change_set_label.label_id")
|
|
98
|
+
.select(["label.name"])
|
|
99
|
+
.where("change_set_id", "=", changeSet.id)
|
|
100
|
+
.execute();
|
|
101
|
+
|
|
102
|
+
// Verify both labels are associated with the change set
|
|
103
|
+
expect(changeSetLabels).toHaveLength(2);
|
|
104
|
+
expect(changeSetLabels.map((label) => label.name)).toEqual(
|
|
105
|
+
expect.arrayContaining(["test-label", "checkpoint"])
|
|
106
|
+
);
|
|
107
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Change, ChangeSet } from "../database/schema.js";
|
|
1
|
+
import type { Change, ChangeSet, Label } from "../database/schema.js";
|
|
2
2
|
import type { Lix } from "../lix/open-lix.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -9,10 +9,22 @@ import type { Lix } from "../lix/open-lix.js";
|
|
|
9
9
|
* const changes = await lix.db.selectFrom("change").selectAll().execute();
|
|
10
10
|
* const changeSet = await createChangeSet({ db: lix.db, changes });
|
|
11
11
|
* ```
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* // Create a change set with labels
|
|
16
|
+
* const labels = await lix.db.selectFrom("label").selectAll().execute();
|
|
17
|
+
* const changeSet = await createChangeSet({
|
|
18
|
+
* lix,
|
|
19
|
+
* changes: [],
|
|
20
|
+
* labels
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
12
23
|
*/
|
|
13
24
|
export async function createChangeSet(args: {
|
|
14
25
|
lix: Pick<Lix, "db">;
|
|
15
26
|
changes: Pick<Change, "id">[];
|
|
27
|
+
labels?: Pick<Label, "id">[];
|
|
16
28
|
}): Promise<ChangeSet> {
|
|
17
29
|
const executeInTransaction = async (trx: Lix["db"]) => {
|
|
18
30
|
const changeSet = await trx
|
|
@@ -21,15 +33,31 @@ export async function createChangeSet(args: {
|
|
|
21
33
|
.returningAll()
|
|
22
34
|
.executeTakeFirstOrThrow();
|
|
23
35
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
if (args.changes.length > 0) {
|
|
37
|
+
await trx
|
|
38
|
+
.insertInto("change_set_element")
|
|
39
|
+
.values(
|
|
40
|
+
args.changes.map((change) => ({
|
|
41
|
+
change_id: change.id,
|
|
42
|
+
change_set_id: changeSet.id,
|
|
43
|
+
}))
|
|
44
|
+
)
|
|
45
|
+
.execute();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Add labels if provided
|
|
49
|
+
if (args.labels && args.labels.length > 0) {
|
|
50
|
+
await trx
|
|
51
|
+
.insertInto("change_set_label")
|
|
52
|
+
.values(
|
|
53
|
+
args.labels.map((label) => ({
|
|
54
|
+
label_id: label.id,
|
|
55
|
+
change_set_id: changeSet.id,
|
|
56
|
+
}))
|
|
57
|
+
)
|
|
58
|
+
.execute();
|
|
59
|
+
}
|
|
60
|
+
|
|
33
61
|
return changeSet;
|
|
34
62
|
};
|
|
35
63
|
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,6 @@ export * from "./lix/index.js";
|
|
|
11
11
|
export * from "./own-change-control/index.js";
|
|
12
12
|
export * from "./plugin/index.js";
|
|
13
13
|
export * from "./query-filter/index.js";
|
|
14
|
-
export * from "./server-
|
|
14
|
+
export * from "./server-protocol-handler/index.js";
|
|
15
15
|
export * from "./snapshot/index.js";
|
|
16
16
|
export * from "./version/index.js";
|
package/src/lix/open-lix.ts
CHANGED
|
@@ -135,7 +135,7 @@ async function captureOpened(args: { db: Kysely<LixDatabaseSchema> }) {
|
|
|
135
135
|
.executeTakeFirstOrThrow();
|
|
136
136
|
|
|
137
137
|
const fileExtensions = await usedFileExtensions(args.db);
|
|
138
|
-
if (Math.random() > 0.
|
|
138
|
+
if (Math.random() > 0.1) {
|
|
139
139
|
await capture("LIX-SDK lix opened", {
|
|
140
140
|
accountId: activeAccount.id,
|
|
141
141
|
lixId: lixId.value,
|
|
@@ -2,18 +2,18 @@ import { route as newRouteV1 } from "./routes/new-v1.js";
|
|
|
2
2
|
import { route as pushRouteV1 } from "./routes/push-v1.js";
|
|
3
3
|
import { route as pullRouteV1 } from "./routes/pull-v1.js";
|
|
4
4
|
import { route as getRouteV1 } from "./routes/get-v1.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { LspEnvironment } from "./environment/environment.js";
|
|
6
6
|
|
|
7
|
-
export type
|
|
8
|
-
|
|
9
|
-
export type
|
|
7
|
+
export type LixServerProtocolHandler = (request: Request) => Promise<Response>;
|
|
8
|
+
// Keep old name for backward compatibility
|
|
9
|
+
export type LixServerProtocolHandlerContext = {
|
|
10
10
|
request: Request;
|
|
11
|
-
environment:
|
|
11
|
+
environment: LspEnvironment;
|
|
12
12
|
params?: Record<string, string | undefined>;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
export type
|
|
16
|
-
context:
|
|
15
|
+
export type LixServerProtocolHandlerRoute = (
|
|
16
|
+
context: LixServerProtocolHandlerContext
|
|
17
17
|
) => Promise<Response>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -30,10 +30,10 @@ export type LixServerApiHandlerRoute = (
|
|
|
30
30
|
* // objects will need to be mapped.
|
|
31
31
|
* const app = new Hono();
|
|
32
32
|
*
|
|
33
|
-
* const
|
|
33
|
+
* const lspHandler = createServerProtocolHandler({ storage });
|
|
34
34
|
*
|
|
35
35
|
* app.use('/lsp/*', async (req) => {
|
|
36
|
-
* await
|
|
36
|
+
* await lspHandler(req);
|
|
37
37
|
* });
|
|
38
38
|
* ```
|
|
39
39
|
*
|
|
@@ -41,35 +41,35 @@ export type LixServerApiHandlerRoute = (
|
|
|
41
41
|
* Testing the handler.
|
|
42
42
|
*
|
|
43
43
|
* ```ts
|
|
44
|
-
* const
|
|
44
|
+
* const lspHandler = createServerProtocolHandler({ storage });
|
|
45
45
|
* const request = new Request('/lsp/new', {
|
|
46
46
|
* method: 'POST',
|
|
47
47
|
* body: new Blob(['...']),
|
|
48
48
|
* });
|
|
49
49
|
*
|
|
50
|
-
* const response = await
|
|
50
|
+
* const response = await lspHandler(request);
|
|
51
51
|
*
|
|
52
52
|
* expect(response).to(...);
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
export async function
|
|
56
|
-
environment:
|
|
57
|
-
}): Promise<
|
|
55
|
+
export async function createServerProtocolHandler(args: {
|
|
56
|
+
environment: LspEnvironment;
|
|
57
|
+
}): Promise<LixServerProtocolHandler> {
|
|
58
58
|
const context = { environment: args.environment };
|
|
59
59
|
|
|
60
60
|
return async (request) => {
|
|
61
61
|
try {
|
|
62
62
|
const path = new URL(request.url).pathname;
|
|
63
|
-
if (path === "/
|
|
63
|
+
if (path === "/lsp/get-v1") {
|
|
64
64
|
return await getRouteV1({ ...context, request });
|
|
65
65
|
}
|
|
66
|
-
if (path === "/
|
|
66
|
+
if (path === "/lsp/new-v1") {
|
|
67
67
|
return await newRouteV1({ ...context, request });
|
|
68
68
|
}
|
|
69
|
-
if (path === "/
|
|
69
|
+
if (path === "/lsp/push-v1") {
|
|
70
70
|
return await pushRouteV1({ ...context, request });
|
|
71
71
|
}
|
|
72
|
-
if (path === "/
|
|
72
|
+
if (path === "/lsp/pull-v1") {
|
|
73
73
|
return await pullRouteV1({ ...context, request });
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -82,3 +82,7 @@ export async function createServerApiHandler(args: {
|
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
|
|
86
|
+
// Keep old name for backward compatibility
|
|
87
|
+
export const createServerApiHandler: typeof createServerProtocolHandler =
|
|
88
|
+
createServerProtocolHandler;
|
|
@@ -3,14 +3,14 @@ import { closeLix } from "../../lix/close-lix.js";
|
|
|
3
3
|
import { openLixInMemory } from "../../lix/open-lix-in-memory.js";
|
|
4
4
|
import type { Lix } from "../../lix/open-lix.js";
|
|
5
5
|
import { toBlob } from "../../lix/to-blob.js";
|
|
6
|
-
import type {
|
|
6
|
+
import type { LspEnvironment } from "./environment.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Create an in-memory storage.
|
|
10
10
|
*
|
|
11
11
|
* Great for testing or quick prototyping.
|
|
12
12
|
*/
|
|
13
|
-
export const
|
|
13
|
+
export const createLspInMemoryEnvironment = (): LspEnvironment => {
|
|
14
14
|
const store = new Map<string, Blob>();
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -113,3 +113,7 @@ export const createLsaInMemoryEnvironment = (): LsaEnvironment => {
|
|
|
113
113
|
},
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
|
+
|
|
117
|
+
// For backward compatibility
|
|
118
|
+
export const createLsaInMemoryEnvironment: typeof createLspInMemoryEnvironment =
|
|
119
|
+
createLspInMemoryEnvironment;
|
|
@@ -3,7 +3,7 @@ import type { Lix } from "../../lix/open-lix.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Key value storage interface.
|
|
5
5
|
*/
|
|
6
|
-
export type
|
|
6
|
+
export type LspEnvironment = {
|
|
7
7
|
get(key: string): Promise<Blob | undefined>;
|
|
8
8
|
set(key: string, value: Blob): Promise<void>;
|
|
9
9
|
has(key: string): Promise<boolean>;
|
|
@@ -41,3 +41,6 @@ export type LsaEnvironment = {
|
|
|
41
41
|
*/
|
|
42
42
|
closeLix(args: { id: string; connectionId: string }): Promise<void>;
|
|
43
43
|
};
|
|
44
|
+
|
|
45
|
+
// For backward compatibility
|
|
46
|
+
export type LsaEnvironment = LspEnvironment;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { test, expect } from "vitest";
|
|
2
|
-
import {
|
|
2
|
+
import { createServerProtocolHandler } from "../create-server-protocol-handler.js";
|
|
3
3
|
import { newLixFile } from "../../lix/new-lix.js";
|
|
4
4
|
import { openLixInMemory } from "../../lix/open-lix-in-memory.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createLspInMemoryEnvironment } from "../environment/create-in-memory-environment.js";
|
|
6
6
|
import { toBlob } from "../../lix/to-blob.js";
|
|
7
7
|
|
|
8
8
|
test("it should fetch the lix file from the server", async () => {
|
|
@@ -20,20 +20,20 @@ test("it should fetch the lix file from the server", async () => {
|
|
|
20
20
|
.values({ key: "mock_key", value: "hello world" })
|
|
21
21
|
.execute();
|
|
22
22
|
|
|
23
|
-
const environment =
|
|
24
|
-
const
|
|
23
|
+
const environment = createLspInMemoryEnvironment();
|
|
24
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
25
25
|
|
|
26
26
|
// Store the lix file
|
|
27
|
-
await
|
|
28
|
-
new Request("http://localhost:3000/
|
|
27
|
+
await lspHandler(
|
|
28
|
+
new Request("http://localhost:3000/lsp/new-v1", {
|
|
29
29
|
method: "POST",
|
|
30
30
|
body: await toBlob({ lix }),
|
|
31
31
|
})
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
// Fetch the lix file
|
|
35
|
-
const response = await
|
|
36
|
-
new Request("http://localhost:3000/
|
|
35
|
+
const response = await lspHandler(
|
|
36
|
+
new Request("http://localhost:3000/lsp/get-v1", {
|
|
37
37
|
method: "POST",
|
|
38
38
|
headers: {
|
|
39
39
|
"Content-Type": "application/json",
|
|
@@ -64,12 +64,12 @@ test("it should fetch the lix file from the server", async () => {
|
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
test("it should return 404 if the lix file does not exist", async () => {
|
|
67
|
-
const environment =
|
|
67
|
+
const environment = createLspInMemoryEnvironment();
|
|
68
68
|
|
|
69
|
-
const
|
|
69
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
70
70
|
|
|
71
|
-
const response = await
|
|
72
|
-
new Request("http://localhost:3000/
|
|
71
|
+
const response = await lspHandler(
|
|
72
|
+
new Request("http://localhost:3000/lsp/get-v1", {
|
|
73
73
|
method: "POST",
|
|
74
74
|
headers: {
|
|
75
75
|
"Content-Type": "application/json",
|
|
@@ -85,11 +85,11 @@ test("it should return 404 if the lix file does not exist", async () => {
|
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
test("it should return 400 for a request without lix_id", async () => {
|
|
88
|
-
const environment =
|
|
89
|
-
const
|
|
88
|
+
const environment = createLspInMemoryEnvironment();
|
|
89
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
90
90
|
|
|
91
|
-
const response = await
|
|
92
|
-
new Request("http://localhost:3000/
|
|
91
|
+
const response = await lspHandler(
|
|
92
|
+
new Request("http://localhost:3000/lsp/get-v1", {
|
|
93
93
|
method: "POST",
|
|
94
94
|
headers: {
|
|
95
95
|
"Content-Type": "application/json",
|
|
@@ -105,8 +105,8 @@ test("it should return 400 for a request without lix_id", async () => {
|
|
|
105
105
|
});
|
|
106
106
|
|
|
107
107
|
test("lix_sync is set to true", async () => {
|
|
108
|
-
const environment =
|
|
109
|
-
const
|
|
108
|
+
const environment = createLspInMemoryEnvironment();
|
|
109
|
+
const lspHandler = await createServerProtocolHandler({ environment });
|
|
110
110
|
|
|
111
111
|
const lix = await openLixInMemory({
|
|
112
112
|
blob: await newLixFile(),
|
|
@@ -114,8 +114,8 @@ test("lix_sync is set to true", async () => {
|
|
|
114
114
|
});
|
|
115
115
|
|
|
116
116
|
// Store the lix file
|
|
117
|
-
const response0 = await
|
|
118
|
-
new Request("http://localhost:3000/
|
|
117
|
+
const response0 = await lspHandler(
|
|
118
|
+
new Request("http://localhost:3000/lsp/new-v1", {
|
|
119
119
|
method: "POST",
|
|
120
120
|
body: await toBlob({ lix }),
|
|
121
121
|
})
|
|
@@ -123,8 +123,8 @@ test("lix_sync is set to true", async () => {
|
|
|
123
123
|
|
|
124
124
|
const id = (await response0.json()).id;
|
|
125
125
|
|
|
126
|
-
const response1 = await
|
|
127
|
-
new Request("http://localhost:3000/
|
|
126
|
+
const response1 = await lspHandler(
|
|
127
|
+
new Request("http://localhost:3000/lsp/get-v1", {
|
|
128
128
|
method: "POST",
|
|
129
129
|
headers: {
|
|
130
130
|
"Content-Type": "application/json",
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
createInMemoryDatabase,
|
|
4
4
|
importDatabase,
|
|
5
5
|
} from "sqlite-wasm-kysely";
|
|
6
|
-
import type {
|
|
6
|
+
import type { LixServerProtocolHandlerRoute } from "../create-server-protocol-handler.js";
|
|
7
7
|
|
|
8
|
-
export const route:
|
|
8
|
+
export const route: LixServerProtocolHandlerRoute = async (context) => {
|
|
9
9
|
const { lix_id } = await context.request.json();
|
|
10
10
|
|
|
11
11
|
if (!lix_id) {
|