@superfunctions/db 0.1.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 (66) hide show
  1. package/README.md +341 -0
  2. package/dist/adapter/capabilities.d.ts +51 -0
  3. package/dist/adapter/capabilities.d.ts.map +1 -0
  4. package/dist/adapter/capabilities.js +56 -0
  5. package/dist/adapter/capabilities.js.map +1 -0
  6. package/dist/adapter/errors.d.ts +111 -0
  7. package/dist/adapter/errors.d.ts.map +1 -0
  8. package/dist/adapter/errors.js +172 -0
  9. package/dist/adapter/errors.js.map +1 -0
  10. package/dist/adapter/factory.d.ts +10 -0
  11. package/dist/adapter/factory.d.ts.map +1 -0
  12. package/dist/adapter/factory.js +232 -0
  13. package/dist/adapter/factory.js.map +1 -0
  14. package/dist/adapter/types.d.ts +255 -0
  15. package/dist/adapter/types.d.ts.map +1 -0
  16. package/dist/adapter/types.js +5 -0
  17. package/dist/adapter/types.js.map +1 -0
  18. package/dist/adapters/drizzle/index.d.ts +20 -0
  19. package/dist/adapters/drizzle/index.d.ts.map +1 -0
  20. package/dist/adapters/drizzle/index.js +346 -0
  21. package/dist/adapters/drizzle/index.js.map +1 -0
  22. package/dist/adapters/index.d.ts +12 -0
  23. package/dist/adapters/index.d.ts.map +1 -0
  24. package/dist/adapters/index.js +12 -0
  25. package/dist/adapters/index.js.map +1 -0
  26. package/dist/adapters/kysely/index.d.ts +18 -0
  27. package/dist/adapters/kysely/index.d.ts.map +1 -0
  28. package/dist/adapters/kysely/index.js +305 -0
  29. package/dist/adapters/kysely/index.js.map +1 -0
  30. package/dist/adapters/memory/index.d.ts +17 -0
  31. package/dist/adapters/memory/index.d.ts.map +1 -0
  32. package/dist/adapters/memory/index.js +362 -0
  33. package/dist/adapters/memory/index.js.map +1 -0
  34. package/dist/adapters/prisma/index.d.ts +16 -0
  35. package/dist/adapters/prisma/index.d.ts.map +1 -0
  36. package/dist/adapters/prisma/index.js +247 -0
  37. package/dist/adapters/prisma/index.js.map +1 -0
  38. package/dist/index.d.ts +15 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +15 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/migrations/runtime-validation.d.ts +7 -0
  43. package/dist/migrations/runtime-validation.d.ts.map +1 -0
  44. package/dist/migrations/runtime-validation.js +40 -0
  45. package/dist/migrations/runtime-validation.js.map +1 -0
  46. package/dist/migrations/schema-tracker.d.ts +56 -0
  47. package/dist/migrations/schema-tracker.d.ts.map +1 -0
  48. package/dist/migrations/schema-tracker.js +121 -0
  49. package/dist/migrations/schema-tracker.js.map +1 -0
  50. package/dist/testing/contract-tests.d.ts +64 -0
  51. package/dist/testing/contract-tests.d.ts.map +1 -0
  52. package/dist/testing/contract-tests.js +391 -0
  53. package/dist/testing/contract-tests.js.map +1 -0
  54. package/dist/testing/index.d.ts +10 -0
  55. package/dist/testing/index.d.ts.map +1 -0
  56. package/dist/testing/index.js +10 -0
  57. package/dist/testing/index.js.map +1 -0
  58. package/dist/testing/mocks.d.ts +92 -0
  59. package/dist/testing/mocks.d.ts.map +1 -0
  60. package/dist/testing/mocks.js +197 -0
  61. package/dist/testing/mocks.js.map +1 -0
  62. package/dist/utils/namespace.d.ts +49 -0
  63. package/dist/utils/namespace.d.ts.map +1 -0
  64. package/dist/utils/namespace.js +85 -0
  65. package/dist/utils/namespace.js.map +1 -0
  66. package/package.json +87 -0
@@ -0,0 +1,391 @@
1
+ /**
2
+ * Contract tests for adapter compliance
3
+ */
4
+ /**
5
+ * Test adapter contract compliance
6
+ * Use with your test framework (vitest, jest, etc.)
7
+ */
8
+ export function testAdapterContract(config) {
9
+ const { adapter, namespace } = config;
10
+ return {
11
+ /**
12
+ * Test CRUD operations
13
+ */
14
+ async testCRUD() {
15
+ const tests = [];
16
+ // Test create
17
+ tests.push({
18
+ name: 'should create a record',
19
+ test: async () => {
20
+ const data = { name: 'Test User', email: 'test@example.com', age: 25 };
21
+ const result = await adapter.create({
22
+ model: 'users',
23
+ data,
24
+ namespace,
25
+ });
26
+ if (!result || typeof result !== 'object') {
27
+ throw new Error('Create should return an object');
28
+ }
29
+ if (!('id' in result)) {
30
+ throw new Error('Created record should have an id');
31
+ }
32
+ if (result.name !== data.name) {
33
+ throw new Error('Created record should contain the provided data');
34
+ }
35
+ },
36
+ });
37
+ // Test findOne
38
+ tests.push({
39
+ name: 'should find a record',
40
+ test: async () => {
41
+ const created = await adapter.create({
42
+ model: 'users',
43
+ data: { name: 'Find Me', email: 'find@example.com', age: 30 },
44
+ namespace,
45
+ });
46
+ const found = await adapter.findOne({
47
+ model: 'users',
48
+ where: [{ field: 'id', operator: 'eq', value: created.id }],
49
+ namespace,
50
+ });
51
+ if (!found) {
52
+ throw new Error('Should find the created record');
53
+ }
54
+ if (found.id !== created.id) {
55
+ throw new Error('Found record should match created record');
56
+ }
57
+ },
58
+ });
59
+ // Test findMany
60
+ tests.push({
61
+ name: 'should find multiple records',
62
+ test: async () => {
63
+ await adapter.create({
64
+ model: 'users',
65
+ data: { name: 'User 1', email: 'user1@example.com', age: 20 },
66
+ namespace,
67
+ });
68
+ await adapter.create({
69
+ model: 'users',
70
+ data: { name: 'User 2', email: 'user2@example.com', age: 25 },
71
+ namespace,
72
+ });
73
+ const results = await adapter.findMany({
74
+ model: 'users',
75
+ where: [],
76
+ namespace,
77
+ });
78
+ if (!Array.isArray(results)) {
79
+ throw new Error('findMany should return an array');
80
+ }
81
+ if (results.length < 2) {
82
+ throw new Error('Should find at least 2 records');
83
+ }
84
+ },
85
+ });
86
+ // Test update
87
+ tests.push({
88
+ name: 'should update a record',
89
+ test: async () => {
90
+ const created = await adapter.create({
91
+ model: 'users',
92
+ data: { name: 'Update Me', email: 'update@example.com', age: 30 },
93
+ namespace,
94
+ });
95
+ const updated = await adapter.update({
96
+ model: 'users',
97
+ where: [{ field: 'id', operator: 'eq', value: created.id }],
98
+ data: { age: 31 },
99
+ namespace,
100
+ });
101
+ if (updated.age !== 31) {
102
+ throw new Error('Record should be updated');
103
+ }
104
+ },
105
+ });
106
+ // Test delete
107
+ tests.push({
108
+ name: 'should delete a record',
109
+ test: async () => {
110
+ const created = await adapter.create({
111
+ model: 'users',
112
+ data: { name: 'Delete Me', email: 'delete@example.com', age: 30 },
113
+ namespace,
114
+ });
115
+ await adapter.delete({
116
+ model: 'users',
117
+ where: [{ field: 'id', operator: 'eq', value: created.id }],
118
+ namespace,
119
+ });
120
+ const found = await adapter.findOne({
121
+ model: 'users',
122
+ where: [{ field: 'id', operator: 'eq', value: created.id }],
123
+ namespace,
124
+ });
125
+ if (found !== null) {
126
+ throw new Error('Record should be deleted');
127
+ }
128
+ },
129
+ });
130
+ return tests;
131
+ },
132
+ /**
133
+ * Test batch operations
134
+ */
135
+ async testBatch() {
136
+ if (!adapter.capabilities.operations.batch) {
137
+ return [];
138
+ }
139
+ const tests = [];
140
+ tests.push({
141
+ name: 'should create multiple records',
142
+ test: async () => {
143
+ const data = [
144
+ { name: 'Batch 1', email: 'batch1@example.com', age: 20 },
145
+ { name: 'Batch 2', email: 'batch2@example.com', age: 25 },
146
+ ];
147
+ const results = await adapter.createMany({
148
+ model: 'users',
149
+ data,
150
+ namespace,
151
+ });
152
+ if (!Array.isArray(results)) {
153
+ throw new Error('createMany should return an array');
154
+ }
155
+ if (results.length !== data.length) {
156
+ throw new Error('Should create all records');
157
+ }
158
+ },
159
+ });
160
+ return tests;
161
+ },
162
+ /**
163
+ * Test advanced operations
164
+ */
165
+ async testAdvanced() {
166
+ const tests = [];
167
+ // Test count
168
+ tests.push({
169
+ name: 'should count records',
170
+ test: async () => {
171
+ await adapter.create({
172
+ model: 'users',
173
+ data: { name: 'Count 1', email: 'count1@example.com', age: 20 },
174
+ namespace,
175
+ });
176
+ await adapter.create({
177
+ model: 'users',
178
+ data: { name: 'Count 2', email: 'count2@example.com', age: 25 },
179
+ namespace,
180
+ });
181
+ const count = await adapter.count({
182
+ model: 'users',
183
+ namespace,
184
+ });
185
+ if (typeof count !== 'number' || count < 2) {
186
+ throw new Error('Count should return the number of records');
187
+ }
188
+ },
189
+ });
190
+ // Test upsert (if supported)
191
+ if (adapter.capabilities.operations.upsert) {
192
+ tests.push({
193
+ name: 'should upsert a record',
194
+ test: async () => {
195
+ const email = 'upsert@example.com';
196
+ // First upsert (create)
197
+ const result1 = await adapter.upsert({
198
+ model: 'users',
199
+ where: [{ field: 'email', operator: 'eq', value: email }],
200
+ create: { name: 'Upsert User', email, age: 30 },
201
+ update: { age: 31 },
202
+ namespace,
203
+ });
204
+ if (!result1 || result1.age !== 30) {
205
+ throw new Error('First upsert should create');
206
+ }
207
+ // Second upsert (update)
208
+ const result2 = await adapter.upsert({
209
+ model: 'users',
210
+ where: [{ field: 'email', operator: 'eq', value: email }],
211
+ create: { name: 'Upsert User', email, age: 30 },
212
+ update: { age: 31 },
213
+ namespace,
214
+ });
215
+ if (!result2 || result2.age !== 31) {
216
+ throw new Error('Second upsert should update');
217
+ }
218
+ },
219
+ });
220
+ }
221
+ return tests;
222
+ },
223
+ /**
224
+ * Test lifecycle operations
225
+ */
226
+ async testLifecycle() {
227
+ const tests = [];
228
+ tests.push({
229
+ name: 'should initialize',
230
+ test: async () => {
231
+ await adapter.initialize();
232
+ },
233
+ });
234
+ tests.push({
235
+ name: 'should check health',
236
+ test: async () => {
237
+ const health = await adapter.isHealthy();
238
+ if (typeof health !== 'object' || typeof health.healthy !== 'boolean') {
239
+ throw new Error('isHealthy should return a health status object');
240
+ }
241
+ },
242
+ });
243
+ tests.push({
244
+ name: 'should get/set schema version',
245
+ test: async () => {
246
+ await adapter.setSchemaVersion('test', 1);
247
+ const version = await adapter.getSchemaVersion('test');
248
+ if (version !== 1) {
249
+ throw new Error('Schema version should be set and retrieved correctly');
250
+ }
251
+ },
252
+ });
253
+ return tests;
254
+ },
255
+ /**
256
+ * Run all contract tests
257
+ */
258
+ async runAll() {
259
+ const allTests = [
260
+ ...(await this.testCRUD()),
261
+ ...(await this.testBatch()),
262
+ ...(await this.testAdvanced()),
263
+ ...(await this.testLifecycle()),
264
+ ];
265
+ const results = {
266
+ total: allTests.length,
267
+ passed: 0,
268
+ failed: 0,
269
+ errors: [],
270
+ };
271
+ for (const test of allTests) {
272
+ try {
273
+ if (config.beforeEach) {
274
+ await config.beforeEach();
275
+ }
276
+ await test.test();
277
+ results.passed++;
278
+ if (config.afterEach) {
279
+ await config.afterEach();
280
+ }
281
+ }
282
+ catch (error) {
283
+ results.failed++;
284
+ results.errors.push({
285
+ name: test.name,
286
+ error: error,
287
+ });
288
+ }
289
+ }
290
+ return results;
291
+ },
292
+ };
293
+ }
294
+ /**
295
+ * Helper function to run contract tests with a test framework
296
+ * Pass your test framework's describe, it, beforeEach, afterEach functions
297
+ */
298
+ export function describeAdapterContract(name, config, describe, it, beforeEach, afterEach) {
299
+ describe(`Adapter Contract: ${name}`, () => {
300
+ const tests = testAdapterContract(config);
301
+ describe('CRUD Operations', () => {
302
+ if (beforeEach) {
303
+ beforeEach(async () => {
304
+ if (config.beforeEach)
305
+ await config.beforeEach();
306
+ });
307
+ }
308
+ if (afterEach) {
309
+ afterEach(async () => {
310
+ if (config.afterEach)
311
+ await config.afterEach();
312
+ });
313
+ }
314
+ it('should create a record', async () => {
315
+ const crudTests = await tests.testCRUD();
316
+ await crudTests[0].test();
317
+ });
318
+ it('should find a record', async () => {
319
+ const crudTests = await tests.testCRUD();
320
+ await crudTests[1].test();
321
+ });
322
+ it('should find multiple records', async () => {
323
+ const crudTests = await tests.testCRUD();
324
+ await crudTests[2].test();
325
+ });
326
+ it('should update a record', async () => {
327
+ const crudTests = await tests.testCRUD();
328
+ await crudTests[3].test();
329
+ });
330
+ it('should delete a record', async () => {
331
+ const crudTests = await tests.testCRUD();
332
+ await crudTests[4].test();
333
+ });
334
+ });
335
+ if (config.adapter.capabilities.operations.batch) {
336
+ describe('Batch Operations', () => {
337
+ if (beforeEach) {
338
+ beforeEach(async () => {
339
+ if (config.beforeEach)
340
+ await config.beforeEach();
341
+ });
342
+ }
343
+ if (afterEach) {
344
+ afterEach(async () => {
345
+ if (config.afterEach)
346
+ await config.afterEach();
347
+ });
348
+ }
349
+ it('should create multiple records', async () => {
350
+ const batchTests = await tests.testBatch();
351
+ if (batchTests.length > 0) {
352
+ await batchTests[0].test();
353
+ }
354
+ });
355
+ });
356
+ }
357
+ describe('Advanced Operations', () => {
358
+ if (beforeEach) {
359
+ beforeEach(async () => {
360
+ if (config.beforeEach)
361
+ await config.beforeEach();
362
+ });
363
+ }
364
+ if (afterEach) {
365
+ afterEach(async () => {
366
+ if (config.afterEach)
367
+ await config.afterEach();
368
+ });
369
+ }
370
+ it('should count records', async () => {
371
+ const advancedTests = await tests.testAdvanced();
372
+ await advancedTests[0].test();
373
+ });
374
+ });
375
+ describe('Lifecycle', () => {
376
+ it('should initialize', async () => {
377
+ const lifecycleTests = await tests.testLifecycle();
378
+ await lifecycleTests[0].test();
379
+ });
380
+ it('should check health', async () => {
381
+ const lifecycleTests = await tests.testLifecycle();
382
+ await lifecycleTests[1].test();
383
+ });
384
+ it('should manage schema versions', async () => {
385
+ const lifecycleTests = await tests.testLifecycle();
386
+ await lifecycleTests[2].test();
387
+ });
388
+ });
389
+ });
390
+ }
391
+ //# sourceMappingURL=contract-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-tests.js","sourceRoot":"","sources":["../../src/testing/contract-tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Testing utilities
3
+ */
4
+ export { memoryAdapter } from '../adapters/memory/index.js';
5
+ export type { MemoryAdapterConfig } from '../adapters/memory/index.js';
6
+ export { testAdapterContract, describeAdapterContract } from './contract-tests.js';
7
+ export type { AdapterTestConfig } from './contract-tests.js';
8
+ export { MockAdapter, createMockAdapter } from './mocks.js';
9
+ export type { MockCall } from './mocks.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Testing utilities
3
+ */
4
+ // Re-export memory adapter for testing
5
+ export { memoryAdapter } from '../adapters/memory/index.js';
6
+ // Contract test utilities
7
+ export { testAdapterContract, describeAdapterContract } from './contract-tests.js';
8
+ // Mock adapter
9
+ export { MockAdapter, createMockAdapter } from './mocks.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,uCAAuC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,0BAA0B;AAC1B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnF,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Mock adapter for testing with call tracking
3
+ */
4
+ import type { Adapter, CreateParams, FindOneParams, FindManyParams, UpdateParams, DeleteParams, CreateManyParams, UpdateManyParams, DeleteManyParams, UpsertParams, CountParams, TransactionAdapter, TableSchema, ValidationResult, HealthStatus } from '../adapter/types.js';
5
+ export interface MockCall {
6
+ method: string;
7
+ params: any;
8
+ timestamp: Date;
9
+ }
10
+ /**
11
+ * Mock adapter for testing
12
+ * Records all method calls and allows inspection
13
+ */
14
+ export declare class MockAdapter implements Adapter {
15
+ calls: MockCall[];
16
+ private responses;
17
+ private errors;
18
+ readonly id = "mock";
19
+ readonly name = "Mock Adapter";
20
+ readonly version = "1.0.0";
21
+ readonly capabilities: import("../index.js").AdapterCapabilities;
22
+ /**
23
+ * Set a mock response for a specific method
24
+ */
25
+ setResponse(method: string, response: any): void;
26
+ /**
27
+ * Set an error to throw for a specific method
28
+ */
29
+ setError(method: string, error: Error): void;
30
+ /**
31
+ * Record a method call
32
+ */
33
+ private recordCall;
34
+ /**
35
+ * Get a mock response or throw error if configured
36
+ */
37
+ private getResponse;
38
+ create<T = any>(params: CreateParams): Promise<T>;
39
+ findOne<T = any>(params: FindOneParams): Promise<T | null>;
40
+ findMany<T = any>(params: FindManyParams): Promise<T[]>;
41
+ update<T = any>(params: UpdateParams): Promise<T>;
42
+ delete(params: DeleteParams): Promise<void>;
43
+ createMany<T = any>(params: CreateManyParams): Promise<T[]>;
44
+ updateMany(params: UpdateManyParams): Promise<number>;
45
+ deleteMany(params: DeleteManyParams): Promise<number>;
46
+ upsert<T = any>(params: UpsertParams): Promise<T>;
47
+ count(params: CountParams): Promise<number>;
48
+ transaction<R>(_callback: (trx: TransactionAdapter) => Promise<R>): Promise<R>;
49
+ initialize(): Promise<void>;
50
+ isHealthy(): Promise<HealthStatus>;
51
+ close(): Promise<void>;
52
+ getSchemaVersion(namespace: string): Promise<number>;
53
+ setSchemaVersion(namespace: string, version: number): Promise<void>;
54
+ validateSchema(_schema: TableSchema): Promise<ValidationResult>;
55
+ /**
56
+ * Get all calls for a specific method
57
+ */
58
+ getCalls(method?: string): MockCall[];
59
+ /**
60
+ * Get the last call for a specific method
61
+ */
62
+ getLastCall(method: string): MockCall | undefined;
63
+ /**
64
+ * Check if a method was called
65
+ */
66
+ wasCalled(method: string): boolean;
67
+ /**
68
+ * Check how many times a method was called
69
+ */
70
+ getCallCount(method?: string): number;
71
+ /**
72
+ * Clear all recorded calls
73
+ */
74
+ clearCalls(): void;
75
+ /**
76
+ * Clear all mock responses and errors
77
+ */
78
+ clearMocks(): void;
79
+ /**
80
+ * Reset the mock adapter completely
81
+ */
82
+ reset(): void;
83
+ /**
84
+ * Verify that a method was called with specific parameters
85
+ */
86
+ verifyCall(method: string, params?: Partial<any>): boolean;
87
+ }
88
+ /**
89
+ * Create a mock adapter instance
90
+ */
91
+ export declare function createMockAdapter(): MockAdapter;
92
+ //# sourceMappingURL=mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/testing/mocks.ts"],"names":[],"mappings":"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"}