Skip to content

Commit 2e2b80a

Browse files
committed
[connectors] Still adjusting API
1 parent f8cca29 commit 2e2b80a

7 files changed

Lines changed: 60 additions & 201 deletions

File tree

src/@types/connector/fs/index.d.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,11 @@ export function createDirectoryMetaConnector<Depth extends number>(
7272
directory: string,
7373
): DirectoryMetaConnector<Depth>;
7474

75-
/// DirectoryConnectorsOptions
76-
export type DirectoryConnectorsOptions = {
77-
/// DirectoryConnectorsOptions.dataDirectory
78-
dataDirectory?: string;
79-
80-
/// DirectoryConnectorsOptions.metaDirectory
81-
metaDirectory?: string;
82-
};
83-
8475
/// createDirectoryConnectors
8576
export function createDirectoryConnectors<Depth extends number>(
8677
depth: Depth,
87-
directory: string,
88-
options?: DirectoryConnectorsOptions,
78+
dataDirectory: string,
79+
metaDirectory: string,
8980
): Connectors<
9081
Depth,
9182
DirectoryDataConnector<Depth>,

src/connector/fs/directory.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,8 @@ export const createDirectoryConnectors: typeof createDirectoryConnectorsDecl = <
1111
Depth extends number,
1212
>(
1313
depth: Depth,
14-
directory: string,
15-
{
16-
dataDirectory = directory,
17-
metaDirectory = directory,
18-
}: {dataDirectory?: string; metaDirectory?: string} = {},
14+
dataDirectory: string,
15+
metaDirectory: string,
1916
) => [
2017
createDirectoryDataConnector(depth, dataDirectory),
2118
createDirectoryMetaConnector(depth, metaDirectory),

test/unit/connector/database/pglite-connectors.test.ts

Lines changed: 0 additions & 91 deletions
This file was deleted.

test/unit/connector/database/pglite.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import {PGlite} from '@electric-sql/pglite';
33
import {createSynclet} from 'synclets';
44
import {
5+
createPgliteConnectors,
56
createPgliteDataConnector,
67
createPgliteMetaConnector,
78
} from 'synclets/connector/database/pglite';
@@ -55,6 +56,24 @@ test('getPglite', async () => {
5556
await synclet.destroy();
5657
});
5758

59+
test('getPglite, connectors', async () => {
60+
const pglite = await PGlite.create();
61+
const connectors = createPgliteConnectors(1, pglite, {
62+
dataTable: 'data',
63+
metaTable: 'meta',
64+
});
65+
66+
const synclet = await createSynclet({connectors});
67+
expect(connectors[0].getPglite()).toEqual(pglite);
68+
expect(synclet.getDataConnector().getPglite()).toEqual(pglite);
69+
70+
expect(connectors[1].getPglite()).toEqual(pglite);
71+
expect(synclet.getMetaConnector().getPglite()).toEqual(pglite);
72+
await pglite.close();
73+
74+
await synclet.destroy();
75+
});
76+
5877
describe('data schema checks', async () => {
5978
let pglite: PGlite;
6079

test/unit/connector/directory.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {tmpdir} from 'os';
33
import {join, sep} from 'path';
44
import {createSynclet} from 'synclets';
55
import {
6+
createDirectoryConnectors,
67
createDirectoryDataConnector,
78
createDirectoryMetaConnector,
89
} from 'synclets/connector/fs';
@@ -43,6 +44,24 @@ test('getDirectory', async () => {
4344
await synclet.destroy();
4445
});
4546

47+
test('getDirectory, connectors', async () => {
48+
const tmpDir = await mkdtemp(tmpdir() + sep);
49+
50+
const dataDirectory = join(tmpDir, getUniqueId() + '.data');
51+
const metaDirectory = join(tmpDir, getUniqueId() + '.meta');
52+
const connectors = createDirectoryConnectors(1, dataDirectory, metaDirectory);
53+
const synclet = await createSynclet({connectors});
54+
55+
expect(connectors[0].getDirectory()).toEqual(dataDirectory);
56+
expect(synclet.getDataConnector().getDirectory()).toEqual(dataDirectory);
57+
expect(connectors[1].getDirectory()).toEqual(metaDirectory);
58+
expect(synclet.getMetaConnector().getDirectory()).toEqual(metaDirectory);
59+
60+
await rm(tmpDir, {recursive: true, force: true});
61+
62+
await synclet.destroy();
63+
});
64+
4665
test('non-path addresses', async () => {
4766
const tmpDir = await mkdtemp(tmpdir() + sep);
4867

test/unit/connector/file.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {tmpdir} from 'os';
33
import {join, sep} from 'path';
44
import {createSynclet} from 'synclets';
55
import {
6+
createFileConnectors,
67
createFileDataConnector,
78
createFileMetaConnector,
89
} from 'synclets/connector/fs';
@@ -41,3 +42,20 @@ test('getFile', async () => {
4142

4243
await synclet.destroy();
4344
});
45+
46+
test('getFile, connectors', async () => {
47+
const tmp = await mkdtemp(tmpdir() + sep);
48+
49+
const dataFile = join(tmp, getUniqueId() + '.data');
50+
const metaFile = join(tmp, getUniqueId() + '.meta');
51+
const connectors = createFileConnectors(1, tmp, {dataFile, metaFile});
52+
const synclet = await createSynclet({connectors});
53+
expect(connectors[0].getFile()).toEqual(dataFile);
54+
expect(synclet.getDataConnector().getFile()).toEqual(dataFile);
55+
expect(connectors[1].getFile()).toEqual(metaFile);
56+
expect(synclet.getMetaConnector().getFile()).toEqual(metaFile);
57+
58+
await rm(tmp, {recursive: true, force: true});
59+
60+
await synclet.destroy();
61+
});

test/unit/connector/fs-connectors.test.ts

Lines changed: 0 additions & 94 deletions
This file was deleted.

0 commit comments

Comments
 (0)