@toiroakr/lines-db 0.9.0 → 0.9.2
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/CHANGELOG.md +18 -0
- package/bin/{cli.js → cli.mjs} +69 -30
- package/dist/index.cjs +71 -57
- package/dist/index.d.cts +24 -20
- package/dist/index.d.cts.map +1 -1
- package/dist/{index.d.ts → index.d.mts} +24 -20
- package/dist/index.d.mts.map +1 -0
- package/dist/{index.js → index.mjs} +70 -30
- package/dist/index.mjs.map +1 -0
- package/package.json +13 -13
- package/src/cli.ts +24 -54
- package/src/database.test.ts +162 -31
- package/src/database.ts +116 -68
- package/src/directory-scanner.test.ts +1 -3
- package/src/directory-scanner.ts +1 -3
- package/src/index.ts +1 -5
- package/src/jsonl-reader.test.ts +1 -3
- package/src/jsonl-reader.ts +1 -4
- package/src/schema-loader.test.ts +4 -12
- package/src/schema-loader.ts +1 -3
- package/src/schema.ts +5 -5
- package/src/type-generator.ts +4 -11
- package/src/types.ts +1 -4
- package/tsconfig.json +1 -0
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
2
|
|
|
3
3
|
//#region src/sqlite-adapter.d.ts
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* SQLite adapter for Node.js
|
|
7
6
|
*/
|
|
@@ -27,8 +26,8 @@ type Table = Record<string, unknown>;
|
|
|
27
26
|
type StandardSchema<Input extends Table = Table, Output extends Table = Input> = StandardSchemaV1<Input, Output>;
|
|
28
27
|
type StandardSchemaResult<Output> = StandardSchemaV1.Result<Output>;
|
|
29
28
|
type StandardSchemaIssue = StandardSchemaV1.Issue;
|
|
30
|
-
type InferInput<T
|
|
31
|
-
type InferOutput<T
|
|
29
|
+
type InferInput<T> = T extends StandardSchemaV1<infer I, unknown> ? I : never;
|
|
30
|
+
type InferOutput<T> = T extends StandardSchemaV1<unknown, infer O> ? O : never;
|
|
32
31
|
interface TableValidationResult {
|
|
33
32
|
tableName: string;
|
|
34
33
|
valid: boolean;
|
|
@@ -104,10 +103,10 @@ interface JsonObject {
|
|
|
104
103
|
[key: string]: JsonValue;
|
|
105
104
|
}
|
|
106
105
|
type JsonArray = JsonValue[];
|
|
107
|
-
type WhereValue<T
|
|
108
|
-
type WhereObject<T
|
|
109
|
-
type WhereCondition<T
|
|
110
|
-
type WhereConditionArray<T
|
|
106
|
+
type WhereValue<T> = T | ((value: T) => boolean);
|
|
107
|
+
type WhereObject<T extends Table> = { [K in keyof T]?: WhereValue<T[K]> };
|
|
108
|
+
type WhereCondition<T extends Table> = WhereObject<T> | WhereConditionArray<T>;
|
|
109
|
+
type WhereConditionArray<T extends Table> = Array<WhereObject<T> | WhereConditionArray<T>>;
|
|
111
110
|
//#endregion
|
|
112
111
|
//#region src/database.d.ts
|
|
113
112
|
declare class LinesDB<Tables extends TableDefs> {
|
|
@@ -169,14 +168,19 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
169
168
|
* Analyze constraint error and extract detailed information
|
|
170
169
|
*/
|
|
171
170
|
private analyzeConstraintError;
|
|
171
|
+
/**
|
|
172
|
+
* Validate a deferred foreign key constraint after all tables have been loaded.
|
|
173
|
+
* Used for circular dependency FK validation.
|
|
174
|
+
*/
|
|
175
|
+
private validateDeferredForeignKey;
|
|
172
176
|
/**
|
|
173
177
|
* Execute a raw SQL query
|
|
174
178
|
*/
|
|
175
|
-
query<T
|
|
179
|
+
query<T = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T[];
|
|
176
180
|
/**
|
|
177
181
|
* Execute a SQL query that returns a single row
|
|
178
182
|
*/
|
|
179
|
-
queryOne<T
|
|
183
|
+
queryOne<T = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T | null;
|
|
180
184
|
/**
|
|
181
185
|
* Execute a SQL statement (INSERT, UPDATE, DELETE)
|
|
182
186
|
*/
|
|
@@ -188,11 +192,11 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
188
192
|
* Find rows by condition (supports OR/AND with arrays and function filters)
|
|
189
193
|
* If where is not provided, returns all rows
|
|
190
194
|
*/
|
|
191
|
-
find<K
|
|
195
|
+
find<K extends keyof Tables & string>(tableName: K, where?: WhereCondition<Tables[K]>): Tables[K][];
|
|
192
196
|
/**
|
|
193
197
|
* Find a single row by condition (supports OR/AND with arrays and function filters)
|
|
194
198
|
*/
|
|
195
|
-
findOne<K
|
|
199
|
+
findOne<K extends keyof Tables & string>(tableName: K, where: WhereCondition<Tables[K]>): Tables[K] | null;
|
|
196
200
|
/**
|
|
197
201
|
* Deserialize JSON columns in a row
|
|
198
202
|
*/
|
|
@@ -210,14 +214,14 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
210
214
|
/**
|
|
211
215
|
* Insert a row into a table with validation
|
|
212
216
|
*/
|
|
213
|
-
insert<K
|
|
217
|
+
insert<K extends keyof Tables & string>(tableName: K, data: Tables[K]): {
|
|
214
218
|
changes: number | bigint;
|
|
215
219
|
lastInsertRowid: number | bigint;
|
|
216
220
|
};
|
|
217
221
|
/**
|
|
218
222
|
* Batch insert rows with validation per record.
|
|
219
223
|
*/
|
|
220
|
-
batchInsert<K
|
|
224
|
+
batchInsert<K extends keyof Tables & string>(tableName: K, records: Tables[K][]): {
|
|
221
225
|
changes: number | bigint;
|
|
222
226
|
lastInsertRowid: number | bigint;
|
|
223
227
|
};
|
|
@@ -227,7 +231,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
227
231
|
* Note: By default, validation is enabled. For partial updates, existing data is fetched
|
|
228
232
|
* and merged before validation. Set options.validate = false to disable validation.
|
|
229
233
|
*/
|
|
230
|
-
update<K
|
|
234
|
+
update<K extends keyof Tables & string>(tableName: K, data: Partial<Tables[K]>, where: WhereCondition<Tables[K]>, options?: {
|
|
231
235
|
validate?: boolean;
|
|
232
236
|
}): {
|
|
233
237
|
changes: number | bigint;
|
|
@@ -238,7 +242,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
238
242
|
* Each record must include the primary key to identify the target row.
|
|
239
243
|
* Validation runs once per merged record unless explicitly disabled.
|
|
240
244
|
*/
|
|
241
|
-
batchUpdate<K
|
|
245
|
+
batchUpdate<K extends keyof Tables & string>(tableName: K, records: Array<Partial<Tables[K]> & Record<string, unknown>>, options?: {
|
|
242
246
|
validate?: boolean;
|
|
243
247
|
}): {
|
|
244
248
|
changes: number | bigint;
|
|
@@ -248,14 +252,14 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
248
252
|
* Delete rows from a table (supports OR/AND with arrays)
|
|
249
253
|
* Note: Function filters are not supported for delete operations
|
|
250
254
|
*/
|
|
251
|
-
delete<K
|
|
255
|
+
delete<K extends keyof Tables & string>(tableName: K, where: WhereCondition<Tables[K]>): {
|
|
252
256
|
changes: number | bigint;
|
|
253
257
|
lastInsertRowid: number | bigint;
|
|
254
258
|
};
|
|
255
259
|
/**
|
|
256
260
|
* Batch delete rows by primary key.
|
|
257
261
|
*/
|
|
258
|
-
batchDelete<K
|
|
262
|
+
batchDelete<K extends keyof Tables & string>(tableName: K, records: Array<Partial<Tables[K]> & Record<string, unknown>>): {
|
|
259
263
|
changes: number | bigint;
|
|
260
264
|
lastInsertRowid: number | bigint;
|
|
261
265
|
};
|
|
@@ -302,7 +306,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
302
306
|
* Execute a function within a transaction
|
|
303
307
|
* Automatically commits on success or rolls back on error
|
|
304
308
|
*/
|
|
305
|
-
transaction<T
|
|
309
|
+
transaction<T>(fn: (tx: LinesDB<Tables>) => Promise<T> | T): Promise<T>;
|
|
306
310
|
/**
|
|
307
311
|
* Close the database connection
|
|
308
312
|
*/
|
|
@@ -320,7 +324,7 @@ declare class JsonlReader {
|
|
|
320
324
|
* Temporarily override the data returned for specific JSONL files.
|
|
321
325
|
* Useful for scenarios like migration validation where in-memory data should be used.
|
|
322
326
|
*/
|
|
323
|
-
static withOverrides<T
|
|
327
|
+
static withOverrides<T>(overrides: Map<string, JsonObject[]>, fn: () => Promise<T>): Promise<T>;
|
|
324
328
|
/**
|
|
325
329
|
* Read JSONL file and parse each line as JSON
|
|
326
330
|
*/
|
|
@@ -597,4 +601,4 @@ declare function detectRuntime(): RuntimeEnvironment;
|
|
|
597
601
|
declare const RUNTIME: RuntimeEnvironment;
|
|
598
602
|
//#endregion
|
|
599
603
|
export { type BiDirectionalSchema, type ColumnDefinition, type DatabaseConfig, DirectoryScanner, ErrorFormatter, type ErrorFormatterOptions, type ForeignKeyDefinition, type ForeignKeyErrorInfo, type IndexDefinition, type InferInput, type InferOutput, type JsonArray, type JsonObject, type JsonValue, JsonlReader, JsonlWriter, LinesDB, RUNTIME, type RuntimeEnvironment, SCHEMA_EXTENSIONS, type SQLiteDatabase, type SQLiteStatement, type SchemaExtension, SchemaLoader, type SchemaOptions, type StandardSchema, type StandardSchemaIssue, type StandardSchemaResult, type Table, type TableConfig, type TableDefs, type TableSchema, type TableValidationOptions, type TableValidationResult, TypeGenerator, type TypeGeneratorOptions, type ValidationError, type ValidationErrorDetail, type ValidationErrorInfo, type ValidationResult, defineSchema, detectRuntime, ensureTableRowsValid, extractTableNameFromSchemaFile, findSchemaFile, hasBackward, isSchemaFile, rewriteExtensionForImport };
|
|
600
|
-
//# sourceMappingURL=index.d.
|
|
604
|
+
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
2
|
|
|
3
3
|
//#region src/sqlite-adapter.d.ts
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* SQLite adapter for Node.js
|
|
7
6
|
*/
|
|
@@ -27,8 +26,8 @@ type Table = Record<string, unknown>;
|
|
|
27
26
|
type StandardSchema<Input extends Table = Table, Output extends Table = Input> = StandardSchemaV1<Input, Output>;
|
|
28
27
|
type StandardSchemaResult<Output> = StandardSchemaV1.Result<Output>;
|
|
29
28
|
type StandardSchemaIssue = StandardSchemaV1.Issue;
|
|
30
|
-
type InferInput<T
|
|
31
|
-
type InferOutput<T
|
|
29
|
+
type InferInput<T> = T extends StandardSchemaV1<infer I, unknown> ? I : never;
|
|
30
|
+
type InferOutput<T> = T extends StandardSchemaV1<unknown, infer O> ? O : never;
|
|
32
31
|
interface TableValidationResult {
|
|
33
32
|
tableName: string;
|
|
34
33
|
valid: boolean;
|
|
@@ -104,10 +103,10 @@ interface JsonObject {
|
|
|
104
103
|
[key: string]: JsonValue;
|
|
105
104
|
}
|
|
106
105
|
type JsonArray = JsonValue[];
|
|
107
|
-
type WhereValue<T
|
|
108
|
-
type WhereObject<T
|
|
109
|
-
type WhereCondition<T
|
|
110
|
-
type WhereConditionArray<T
|
|
106
|
+
type WhereValue<T> = T | ((value: T) => boolean);
|
|
107
|
+
type WhereObject<T extends Table> = { [K in keyof T]?: WhereValue<T[K]> };
|
|
108
|
+
type WhereCondition<T extends Table> = WhereObject<T> | WhereConditionArray<T>;
|
|
109
|
+
type WhereConditionArray<T extends Table> = Array<WhereObject<T> | WhereConditionArray<T>>;
|
|
111
110
|
//#endregion
|
|
112
111
|
//#region src/database.d.ts
|
|
113
112
|
declare class LinesDB<Tables extends TableDefs> {
|
|
@@ -169,14 +168,19 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
169
168
|
* Analyze constraint error and extract detailed information
|
|
170
169
|
*/
|
|
171
170
|
private analyzeConstraintError;
|
|
171
|
+
/**
|
|
172
|
+
* Validate a deferred foreign key constraint after all tables have been loaded.
|
|
173
|
+
* Used for circular dependency FK validation.
|
|
174
|
+
*/
|
|
175
|
+
private validateDeferredForeignKey;
|
|
172
176
|
/**
|
|
173
177
|
* Execute a raw SQL query
|
|
174
178
|
*/
|
|
175
|
-
query<T
|
|
179
|
+
query<T = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T[];
|
|
176
180
|
/**
|
|
177
181
|
* Execute a SQL query that returns a single row
|
|
178
182
|
*/
|
|
179
|
-
queryOne<T
|
|
183
|
+
queryOne<T = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T | null;
|
|
180
184
|
/**
|
|
181
185
|
* Execute a SQL statement (INSERT, UPDATE, DELETE)
|
|
182
186
|
*/
|
|
@@ -188,11 +192,11 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
188
192
|
* Find rows by condition (supports OR/AND with arrays and function filters)
|
|
189
193
|
* If where is not provided, returns all rows
|
|
190
194
|
*/
|
|
191
|
-
find<K
|
|
195
|
+
find<K extends keyof Tables & string>(tableName: K, where?: WhereCondition<Tables[K]>): Tables[K][];
|
|
192
196
|
/**
|
|
193
197
|
* Find a single row by condition (supports OR/AND with arrays and function filters)
|
|
194
198
|
*/
|
|
195
|
-
findOne<K
|
|
199
|
+
findOne<K extends keyof Tables & string>(tableName: K, where: WhereCondition<Tables[K]>): Tables[K] | null;
|
|
196
200
|
/**
|
|
197
201
|
* Deserialize JSON columns in a row
|
|
198
202
|
*/
|
|
@@ -210,14 +214,14 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
210
214
|
/**
|
|
211
215
|
* Insert a row into a table with validation
|
|
212
216
|
*/
|
|
213
|
-
insert<K
|
|
217
|
+
insert<K extends keyof Tables & string>(tableName: K, data: Tables[K]): {
|
|
214
218
|
changes: number | bigint;
|
|
215
219
|
lastInsertRowid: number | bigint;
|
|
216
220
|
};
|
|
217
221
|
/**
|
|
218
222
|
* Batch insert rows with validation per record.
|
|
219
223
|
*/
|
|
220
|
-
batchInsert<K
|
|
224
|
+
batchInsert<K extends keyof Tables & string>(tableName: K, records: Tables[K][]): {
|
|
221
225
|
changes: number | bigint;
|
|
222
226
|
lastInsertRowid: number | bigint;
|
|
223
227
|
};
|
|
@@ -227,7 +231,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
227
231
|
* Note: By default, validation is enabled. For partial updates, existing data is fetched
|
|
228
232
|
* and merged before validation. Set options.validate = false to disable validation.
|
|
229
233
|
*/
|
|
230
|
-
update<K
|
|
234
|
+
update<K extends keyof Tables & string>(tableName: K, data: Partial<Tables[K]>, where: WhereCondition<Tables[K]>, options?: {
|
|
231
235
|
validate?: boolean;
|
|
232
236
|
}): {
|
|
233
237
|
changes: number | bigint;
|
|
@@ -238,7 +242,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
238
242
|
* Each record must include the primary key to identify the target row.
|
|
239
243
|
* Validation runs once per merged record unless explicitly disabled.
|
|
240
244
|
*/
|
|
241
|
-
batchUpdate<K
|
|
245
|
+
batchUpdate<K extends keyof Tables & string>(tableName: K, records: Array<Partial<Tables[K]> & Record<string, unknown>>, options?: {
|
|
242
246
|
validate?: boolean;
|
|
243
247
|
}): {
|
|
244
248
|
changes: number | bigint;
|
|
@@ -248,14 +252,14 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
248
252
|
* Delete rows from a table (supports OR/AND with arrays)
|
|
249
253
|
* Note: Function filters are not supported for delete operations
|
|
250
254
|
*/
|
|
251
|
-
delete<K
|
|
255
|
+
delete<K extends keyof Tables & string>(tableName: K, where: WhereCondition<Tables[K]>): {
|
|
252
256
|
changes: number | bigint;
|
|
253
257
|
lastInsertRowid: number | bigint;
|
|
254
258
|
};
|
|
255
259
|
/**
|
|
256
260
|
* Batch delete rows by primary key.
|
|
257
261
|
*/
|
|
258
|
-
batchDelete<K
|
|
262
|
+
batchDelete<K extends keyof Tables & string>(tableName: K, records: Array<Partial<Tables[K]> & Record<string, unknown>>): {
|
|
259
263
|
changes: number | bigint;
|
|
260
264
|
lastInsertRowid: number | bigint;
|
|
261
265
|
};
|
|
@@ -302,7 +306,7 @@ declare class LinesDB<Tables extends TableDefs> {
|
|
|
302
306
|
* Execute a function within a transaction
|
|
303
307
|
* Automatically commits on success or rolls back on error
|
|
304
308
|
*/
|
|
305
|
-
transaction<T
|
|
309
|
+
transaction<T>(fn: (tx: LinesDB<Tables>) => Promise<T> | T): Promise<T>;
|
|
306
310
|
/**
|
|
307
311
|
* Close the database connection
|
|
308
312
|
*/
|
|
@@ -320,7 +324,7 @@ declare class JsonlReader {
|
|
|
320
324
|
* Temporarily override the data returned for specific JSONL files.
|
|
321
325
|
* Useful for scenarios like migration validation where in-memory data should be used.
|
|
322
326
|
*/
|
|
323
|
-
static withOverrides<T
|
|
327
|
+
static withOverrides<T>(overrides: Map<string, JsonObject[]>, fn: () => Promise<T>): Promise<T>;
|
|
324
328
|
/**
|
|
325
329
|
* Read JSONL file and parse each line as JSON
|
|
326
330
|
*/
|
|
@@ -597,4 +601,4 @@ declare function detectRuntime(): RuntimeEnvironment;
|
|
|
597
601
|
declare const RUNTIME: RuntimeEnvironment;
|
|
598
602
|
//#endregion
|
|
599
603
|
export { type BiDirectionalSchema, type ColumnDefinition, type DatabaseConfig, DirectoryScanner, ErrorFormatter, type ErrorFormatterOptions, type ForeignKeyDefinition, type ForeignKeyErrorInfo, type IndexDefinition, type InferInput, type InferOutput, type JsonArray, type JsonObject, type JsonValue, JsonlReader, JsonlWriter, LinesDB, RUNTIME, type RuntimeEnvironment, SCHEMA_EXTENSIONS, type SQLiteDatabase, type SQLiteStatement, type SchemaExtension, SchemaLoader, type SchemaOptions, type StandardSchema, type StandardSchemaIssue, type StandardSchemaResult, type Table, type TableConfig, type TableDefs, type TableSchema, type TableValidationOptions, type TableValidationResult, TypeGenerator, type TypeGeneratorOptions, type ValidationError, type ValidationErrorDetail, type ValidationErrorInfo, type ValidationResult, defineSchema, detectRuntime, ensureTableRowsValid, extractTableNameFromSchemaFile, findSchemaFile, hasBackward, isSchemaFile, rewriteExtensionForImport };
|
|
600
|
-
//# sourceMappingURL=index.d.
|
|
604
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"mappings":"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"}
|
|
@@ -3,10 +3,8 @@ import { access, mkdir, readFile, readdir, writeFile } from "node:fs/promises";
|
|
|
3
3
|
import { basename, dirname, extname, isAbsolute, join, normalize, relative } from "node:path";
|
|
4
4
|
import { pathToFileURL } from "node:url";
|
|
5
5
|
import { styleText } from "node:util";
|
|
6
|
-
|
|
7
|
-
//#region rolldown:runtime
|
|
6
|
+
//#region \0rolldown/runtime.js
|
|
8
7
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
9
|
-
|
|
10
8
|
//#endregion
|
|
11
9
|
//#region src/runtime.ts
|
|
12
10
|
function detectRuntime() {
|
|
@@ -14,10 +12,12 @@ function detectRuntime() {
|
|
|
14
12
|
return "unknown";
|
|
15
13
|
}
|
|
16
14
|
const RUNTIME = detectRuntime();
|
|
17
|
-
|
|
18
15
|
//#endregion
|
|
19
16
|
//#region src/sqlite-adapter.ts
|
|
20
17
|
/**
|
|
18
|
+
* SQLite adapter for Node.js
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
21
|
* Create a SQLite database instance for Node.js
|
|
22
22
|
*/
|
|
23
23
|
function createDatabase(path = ":memory:") {
|
|
@@ -54,7 +54,6 @@ function createNodeDatabase(path) {
|
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
|
|
58
57
|
//#endregion
|
|
59
58
|
//#region src/jsonl-reader.ts
|
|
60
59
|
var JsonlReader = class {
|
|
@@ -134,7 +133,6 @@ var JsonlReader = class {
|
|
|
134
133
|
return "TEXT";
|
|
135
134
|
}
|
|
136
135
|
};
|
|
137
|
-
|
|
138
136
|
//#endregion
|
|
139
137
|
//#region src/jsonl-writer.ts
|
|
140
138
|
var JsonlWriter = class {
|
|
@@ -148,18 +146,17 @@ var JsonlWriter = class {
|
|
|
148
146
|
* Append data to JSONL file
|
|
149
147
|
*/
|
|
150
148
|
static async append(filePath, data) {
|
|
151
|
-
const { readFile
|
|
149
|
+
const { readFile, writeFile } = await import("node:fs/promises");
|
|
152
150
|
try {
|
|
153
|
-
const existing = await readFile
|
|
151
|
+
const existing = await readFile(filePath, "utf-8");
|
|
154
152
|
const lines = data.map((obj) => JSON.stringify(obj)).join("\n");
|
|
155
|
-
await writeFile
|
|
153
|
+
await writeFile(filePath, existing.trim() + "\n" + lines + "\n", "utf-8");
|
|
156
154
|
} catch (error) {
|
|
157
155
|
if (error.code === "ENOENT") await this.write(filePath, data);
|
|
158
156
|
else throw error;
|
|
159
157
|
}
|
|
160
158
|
}
|
|
161
159
|
};
|
|
162
|
-
|
|
163
160
|
//#endregion
|
|
164
161
|
//#region src/schema-extensions.ts
|
|
165
162
|
/**
|
|
@@ -224,7 +221,6 @@ function rewriteExtensionForImport(filePath) {
|
|
|
224
221
|
for (const [tsExt, jsExt] of Object.entries(SCHEMA_TO_JS_IMPORT_MAP)) if (filePath.endsWith(tsExt)) return filePath.slice(0, -tsExt.length) + jsExt;
|
|
225
222
|
return filePath;
|
|
226
223
|
}
|
|
227
|
-
|
|
228
224
|
//#endregion
|
|
229
225
|
//#region src/schema-loader.ts
|
|
230
226
|
var SchemaLoader = class {
|
|
@@ -263,7 +259,6 @@ var SchemaLoader = class {
|
|
|
263
259
|
return standardObj.version === 1 && typeof standardObj.vendor === "string" && typeof standardObj.validate === "function";
|
|
264
260
|
}
|
|
265
261
|
};
|
|
266
|
-
|
|
267
262
|
//#endregion
|
|
268
263
|
//#region src/directory-scanner.ts
|
|
269
264
|
var DirectoryScanner = class {
|
|
@@ -289,7 +284,6 @@ var DirectoryScanner = class {
|
|
|
289
284
|
}
|
|
290
285
|
}
|
|
291
286
|
};
|
|
292
|
-
|
|
293
287
|
//#endregion
|
|
294
288
|
//#region src/schema.ts
|
|
295
289
|
/**
|
|
@@ -347,7 +341,6 @@ function defineSchema(schema, ...args) {
|
|
|
347
341
|
function hasBackward(schema) {
|
|
348
342
|
return "backward" in schema && typeof schema.backward === "function";
|
|
349
343
|
}
|
|
350
|
-
|
|
351
344
|
//#endregion
|
|
352
345
|
//#region src/database.ts
|
|
353
346
|
var LinesDB = class LinesDB {
|
|
@@ -386,13 +379,20 @@ var LinesDB = class LinesDB {
|
|
|
386
379
|
const loadedTables = /* @__PURE__ */ new Set();
|
|
387
380
|
const loadingTables = /* @__PURE__ */ new Set();
|
|
388
381
|
const attemptedTables = /* @__PURE__ */ new Set();
|
|
382
|
+
const allDeferredForeignKeys = [];
|
|
389
383
|
for (const tableNameToLoad of tablesToLoad) if (!attemptedTables.has(tableNameToLoad)) {
|
|
390
384
|
const tableTransform = tableNameToLoad === tableName ? transform : void 0;
|
|
391
|
-
const { errors, warnings, rowCounts: tableRowCounts } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
|
|
385
|
+
const { errors, warnings, rowCounts: tableRowCounts, deferredForeignKeys } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
|
|
392
386
|
allErrors.push(...errors);
|
|
393
387
|
allWarnings.push(...warnings);
|
|
388
|
+
allDeferredForeignKeys.push(...deferredForeignKeys);
|
|
394
389
|
for (const [k, v] of tableRowCounts) allRowCounts.set(k, v);
|
|
395
390
|
}
|
|
391
|
+
if (detailedValidate && allDeferredForeignKeys.length > 0) for (const { tableName: tName, foreignKey: fk, filePath } of allDeferredForeignKeys) {
|
|
392
|
+
if (!loadedTables.has(fk.references.table)) continue;
|
|
393
|
+
const deferredErrors = this.validateDeferredForeignKey(tName, fk, filePath);
|
|
394
|
+
allErrors.push(...deferredErrors);
|
|
395
|
+
}
|
|
396
396
|
const tableResults = tablesToLoad.map((name) => {
|
|
397
397
|
const tableErrors = allErrors.filter((e) => e.tableName === name);
|
|
398
398
|
const tableWarnings = allWarnings.filter((w) => w.includes(`'${name}'`));
|
|
@@ -418,10 +418,12 @@ var LinesDB = class LinesDB {
|
|
|
418
418
|
const errors = [];
|
|
419
419
|
const warnings = [];
|
|
420
420
|
const rowCounts = /* @__PURE__ */ new Map();
|
|
421
|
+
const deferredForeignKeys = [];
|
|
421
422
|
if (attemptedTables.has(tableName)) return {
|
|
422
423
|
errors,
|
|
423
424
|
warnings,
|
|
424
|
-
rowCounts
|
|
425
|
+
rowCounts,
|
|
426
|
+
deferredForeignKeys
|
|
425
427
|
};
|
|
426
428
|
attemptedTables.add(tableName);
|
|
427
429
|
if (loadingTables.has(tableName)) throw new Error(`Circular dependency detected for table '${tableName}'`);
|
|
@@ -431,10 +433,10 @@ var LinesDB = class LinesDB {
|
|
|
431
433
|
try {
|
|
432
434
|
let foreignKeys;
|
|
433
435
|
try {
|
|
434
|
-
const { pathToFileURL
|
|
436
|
+
const { pathToFileURL } = await import("node:url");
|
|
435
437
|
const schemaPath = await findSchemaFile(dirname(tableConfig.jsonlPath), basename(tableConfig.jsonlPath, ".jsonl"));
|
|
436
438
|
if (schemaPath) {
|
|
437
|
-
const schemaModule = await import(`${pathToFileURL
|
|
439
|
+
const schemaModule = await import(`${pathToFileURL(schemaPath).href}?t=${Date.now()}`);
|
|
438
440
|
foreignKeys = (schemaModule.schema || schemaModule.default)?.foreignKeys || schemaModule.foreignKeys;
|
|
439
441
|
}
|
|
440
442
|
} catch {}
|
|
@@ -445,23 +447,35 @@ var LinesDB = class LinesDB {
|
|
|
445
447
|
const depResult = await this.loadTableWithDependencies(referencedTable, loadedTables, loadingTables, attemptedTables, detailedValidate, void 0);
|
|
446
448
|
errors.push(...depResult.errors);
|
|
447
449
|
warnings.push(...depResult.warnings);
|
|
450
|
+
deferredForeignKeys.push(...depResult.deferredForeignKeys);
|
|
448
451
|
for (const [k, v] of depResult.rowCounts) rowCounts.set(k, v);
|
|
449
452
|
} else throw new Error(`Foreign key reference to non-existent table '${referencedTable}' in table '${tableName}'`);
|
|
450
453
|
}
|
|
451
454
|
const failedDependencies = /* @__PURE__ */ new Set();
|
|
455
|
+
const circularDependencies = /* @__PURE__ */ new Set();
|
|
452
456
|
if (foreignKeys && foreignKeys.length > 0) {
|
|
453
457
|
for (const fk of foreignKeys) {
|
|
454
458
|
const referencedTable = fk.references.table;
|
|
455
459
|
if (referencedTable === tableName) continue;
|
|
456
|
-
if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable))
|
|
460
|
+
if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) if (loadingTables.has(referencedTable)) circularDependencies.add(referencedTable);
|
|
461
|
+
else failedDependencies.add(referencedTable);
|
|
457
462
|
}
|
|
458
463
|
if (failedDependencies.size > 0) for (const dep of failedDependencies) warnings.push(`Skipping foreign key validation for table '${tableName}': referenced table '${dep}' has validation errors`);
|
|
459
464
|
}
|
|
460
|
-
const
|
|
465
|
+
const allSkippedDependencies = new Set([...failedDependencies, ...circularDependencies]);
|
|
466
|
+
const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, allSkippedDependencies);
|
|
461
467
|
errors.push(...loadErrors);
|
|
462
468
|
rowCounts.set(tableName, rowCount);
|
|
463
|
-
if (loaded)
|
|
464
|
-
|
|
469
|
+
if (loaded) {
|
|
470
|
+
loadedTables.add(tableName);
|
|
471
|
+
if (foreignKeys && circularDependencies.size > 0) {
|
|
472
|
+
for (const fk of foreignKeys) if (circularDependencies.has(fk.references.table)) deferredForeignKeys.push({
|
|
473
|
+
tableName,
|
|
474
|
+
foreignKey: fk,
|
|
475
|
+
filePath: tableConfig.jsonlPath
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
} else {
|
|
465
479
|
warnings.push(`Table '${tableName}' was not loaded (no data or skipped)`);
|
|
466
480
|
this.tables.delete(tableName);
|
|
467
481
|
}
|
|
@@ -471,7 +485,8 @@ var LinesDB = class LinesDB {
|
|
|
471
485
|
return {
|
|
472
486
|
errors,
|
|
473
487
|
warnings,
|
|
474
|
-
rowCounts
|
|
488
|
+
rowCounts,
|
|
489
|
+
deferredForeignKeys
|
|
475
490
|
};
|
|
476
491
|
}
|
|
477
492
|
/**
|
|
@@ -487,10 +502,10 @@ var LinesDB = class LinesDB {
|
|
|
487
502
|
validationSchema = await SchemaLoader.loadSchema(config.jsonlPath);
|
|
488
503
|
} catch (_error) {}
|
|
489
504
|
if (!config.validationSchema) try {
|
|
490
|
-
const { pathToFileURL
|
|
505
|
+
const { pathToFileURL } = await import("node:url");
|
|
491
506
|
const schemaPath = await findSchemaFile(dirname(config.jsonlPath), basename(config.jsonlPath, ".jsonl"));
|
|
492
507
|
if (!schemaPath) throw new Error("Schema file not found");
|
|
493
|
-
const schemaModule = await import(`${pathToFileURL
|
|
508
|
+
const schemaModule = await import(`${pathToFileURL(schemaPath).href}?t=${Date.now()}`);
|
|
494
509
|
const schemaExport = schemaModule.schema || schemaModule.default;
|
|
495
510
|
if (schemaExport?.primaryKey) schemaMetadata.primaryKey = schemaExport.primaryKey;
|
|
496
511
|
else if (schemaModule.primaryKey) schemaMetadata.primaryKey = schemaModule.primaryKey;
|
|
@@ -717,6 +732,34 @@ var LinesDB = class LinesDB {
|
|
|
717
732
|
};
|
|
718
733
|
}
|
|
719
734
|
/**
|
|
735
|
+
* Validate a deferred foreign key constraint after all tables have been loaded.
|
|
736
|
+
* Used for circular dependency FK validation.
|
|
737
|
+
*/
|
|
738
|
+
validateDeferredForeignKey(tableName, fk, filePath) {
|
|
739
|
+
const errors = [];
|
|
740
|
+
const quotedTable = this.quoteTableName(tableName);
|
|
741
|
+
const quotedColumn = this.quoteIdentifier(fk.column);
|
|
742
|
+
const quotedRefTable = this.quoteTableName(fk.references.table);
|
|
743
|
+
const sql = `SELECT rowid - 1 as idx, ${quotedColumn} as val FROM ${quotedTable} WHERE ${quotedColumn} IS NOT NULL AND ${quotedColumn} NOT IN (SELECT ${this.quoteIdentifier(fk.references.column)} FROM ${quotedRefTable})`;
|
|
744
|
+
try {
|
|
745
|
+
const rows = this.query(sql);
|
|
746
|
+
for (const row of rows) errors.push({
|
|
747
|
+
file: filePath,
|
|
748
|
+
tableName,
|
|
749
|
+
rowIndex: row.idx,
|
|
750
|
+
issues: [],
|
|
751
|
+
type: "foreignKey",
|
|
752
|
+
foreignKeyError: {
|
|
753
|
+
column: fk.column,
|
|
754
|
+
value: row.val,
|
|
755
|
+
referencedTable: fk.references.table,
|
|
756
|
+
referencedColumn: fk.references.column
|
|
757
|
+
}
|
|
758
|
+
});
|
|
759
|
+
} catch (_) {}
|
|
760
|
+
return errors;
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
720
763
|
* Execute a raw SQL query
|
|
721
764
|
*/
|
|
722
765
|
query(sql, params = []) {
|
|
@@ -1169,7 +1212,6 @@ var LinesDB = class LinesDB {
|
|
|
1169
1212
|
return this.db;
|
|
1170
1213
|
}
|
|
1171
1214
|
};
|
|
1172
|
-
|
|
1173
1215
|
//#endregion
|
|
1174
1216
|
//#region src/type-generator.ts
|
|
1175
1217
|
var TypeGenerator = class {
|
|
@@ -1276,7 +1318,6 @@ function toCamelCase(value) {
|
|
|
1276
1318
|
function sanitizeIdentifier(value) {
|
|
1277
1319
|
return value.replace(/[^A-Za-z0-9_$]/g, "");
|
|
1278
1320
|
}
|
|
1279
|
-
|
|
1280
1321
|
//#endregion
|
|
1281
1322
|
//#region src/jsonl-migration.ts
|
|
1282
1323
|
/**
|
|
@@ -1303,7 +1344,6 @@ async function ensureTableRowsValid(options) {
|
|
|
1303
1344
|
}
|
|
1304
1345
|
});
|
|
1305
1346
|
}
|
|
1306
|
-
|
|
1307
1347
|
//#endregion
|
|
1308
1348
|
//#region src/error-formatter.ts
|
|
1309
1349
|
var ErrorFormatter = class {
|
|
@@ -1406,7 +1446,7 @@ var ErrorFormatter = class {
|
|
|
1406
1446
|
return styleText("red", "\n✗ Migration failed and was rolled back");
|
|
1407
1447
|
}
|
|
1408
1448
|
};
|
|
1409
|
-
|
|
1410
1449
|
//#endregion
|
|
1411
1450
|
export { DirectoryScanner, ErrorFormatter, JsonlReader, JsonlWriter, LinesDB, RUNTIME, SCHEMA_EXTENSIONS, SchemaLoader, TypeGenerator, defineSchema, detectRuntime, ensureTableRowsValid, extractTableNameFromSchemaFile, findSchemaFile, hasBackward, isSchemaFile, rewriteExtensionForImport };
|
|
1412
|
-
|
|
1451
|
+
|
|
1452
|
+
//# sourceMappingURL=index.mjs.map
|