@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/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$1> = T$1 extends StandardSchemaV1<infer I, unknown> ? I : never;
31
- type InferOutput<T$1> = T$1 extends StandardSchemaV1<unknown, infer O> ? O : never;
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$1> = T$1 | ((value: T$1) => boolean);
108
- type WhereObject<T$1 extends Table> = { [K in keyof T$1]?: WhereValue<T$1[K]> };
109
- type WhereCondition<T$1 extends Table> = WhereObject<T$1> | WhereConditionArray<T$1>;
110
- type WhereConditionArray<T$1 extends Table> = Array<WhereObject<T$1> | WhereConditionArray<T$1>>;
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$1 = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T$1[];
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$1 = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T$1 | null;
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$1 extends keyof Tables & string>(tableName: K$1, where?: WhereCondition<Tables[K$1]>): Tables[K$1][];
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$1 extends keyof Tables & string>(tableName: K$1, where: WhereCondition<Tables[K$1]>): Tables[K$1] | null;
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$1 extends keyof Tables & string>(tableName: K$1, data: Tables[K$1]): {
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$1 extends keyof Tables & string>(tableName: K$1, records: Tables[K$1][]): {
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$1 extends keyof Tables & string>(tableName: K$1, data: Partial<Tables[K$1]>, where: WhereCondition<Tables[K$1]>, options?: {
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$1 extends keyof Tables & string>(tableName: K$1, records: Array<Partial<Tables[K$1]> & Record<string, unknown>>, options?: {
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$1 extends keyof Tables & string>(tableName: K$1, where: WhereCondition<Tables[K$1]>): {
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$1 extends keyof Tables & string>(tableName: K$1, records: Array<Partial<Tables[K$1]> & Record<string, unknown>>): {
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$1>(fn: (tx: LinesDB<Tables>) => Promise<T$1> | T$1): Promise<T$1>;
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$1>(overrides: Map<string, JsonObject[]>, fn: () => Promise<T$1>): Promise<T$1>;
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.ts.map
604
+ //# sourceMappingURL=index.d.cts.map
@@ -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$1> = T$1 extends StandardSchemaV1<infer I, unknown> ? I : never;
31
- type InferOutput<T$1> = T$1 extends StandardSchemaV1<unknown, infer O> ? O : never;
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$1> = T$1 | ((value: T$1) => boolean);
108
- type WhereObject<T$1 extends Table> = { [K in keyof T$1]?: WhereValue<T$1[K]> };
109
- type WhereCondition<T$1 extends Table> = WhereObject<T$1> | WhereConditionArray<T$1>;
110
- type WhereConditionArray<T$1 extends Table> = Array<WhereObject<T$1> | WhereConditionArray<T$1>>;
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$1 = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T$1[];
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$1 = unknown>(sql: string, params?: (string | number | bigint | null | Uint8Array)[]): T$1 | null;
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$1 extends keyof Tables & string>(tableName: K$1, where?: WhereCondition<Tables[K$1]>): Tables[K$1][];
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$1 extends keyof Tables & string>(tableName: K$1, where: WhereCondition<Tables[K$1]>): Tables[K$1] | null;
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$1 extends keyof Tables & string>(tableName: K$1, data: Tables[K$1]): {
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$1 extends keyof Tables & string>(tableName: K$1, records: Tables[K$1][]): {
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$1 extends keyof Tables & string>(tableName: K$1, data: Partial<Tables[K$1]>, where: WhereCondition<Tables[K$1]>, options?: {
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$1 extends keyof Tables & string>(tableName: K$1, records: Array<Partial<Tables[K$1]> & Record<string, unknown>>, options?: {
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$1 extends keyof Tables & string>(tableName: K$1, where: WhereCondition<Tables[K$1]>): {
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$1 extends keyof Tables & string>(tableName: K$1, records: Array<Partial<Tables[K$1]> & Record<string, unknown>>): {
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$1>(fn: (tx: LinesDB<Tables>) => Promise<T$1> | T$1): Promise<T$1>;
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$1>(overrides: Map<string, JsonObject[]>, fn: () => Promise<T$1>): Promise<T$1>;
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.ts.map
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: readFile$1, writeFile: writeFile$1 } = await import("node:fs/promises");
149
+ const { readFile, writeFile } = await import("node:fs/promises");
152
150
  try {
153
- const existing = await readFile$1(filePath, "utf-8");
151
+ const existing = await readFile(filePath, "utf-8");
154
152
  const lines = data.map((obj) => JSON.stringify(obj)).join("\n");
155
- await writeFile$1(filePath, existing.trim() + "\n" + lines + "\n", "utf-8");
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: pathToFileURL$1 } = await import("node:url");
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$1(schemaPath).href}?t=${Date.now()}`);
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)) failedDependencies.add(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 { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, failedDependencies);
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) loadedTables.add(tableName);
464
- else {
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: pathToFileURL$1 } = await import("node:url");
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$1(schemaPath).href}?t=${Date.now()}`);
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
- //# sourceMappingURL=index.js.map
1451
+
1452
+ //# sourceMappingURL=index.mjs.map