@simplysm/orm-common 13.0.83 → 13.0.85

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 (73) hide show
  1. package/dist/ddl/initialize.d.ts +2 -2
  2. package/dist/ddl/initialize.js +1 -1
  3. package/dist/ddl/initialize.js.map +1 -1
  4. package/dist/ddl/table-ddl.d.ts +1 -1
  5. package/dist/exec/queryable.d.ts +115 -115
  6. package/dist/exec/queryable.js +68 -68
  7. package/dist/exec/queryable.js.map +1 -1
  8. package/dist/expr/expr.d.ts +248 -248
  9. package/dist/expr/expr.js +250 -250
  10. package/dist/query-builder/base/expr-renderer-base.d.ts +7 -7
  11. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +3 -3
  12. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  13. package/dist/query-builder/mssql/mssql-expr-renderer.js +5 -5
  14. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  15. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  16. package/dist/query-builder/mssql/mssql-query-builder.js +7 -7
  17. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +2 -2
  18. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  19. package/dist/query-builder/mysql/mysql-expr-renderer.js +4 -4
  20. package/dist/query-builder/mysql/mysql-query-builder.d.ts +10 -10
  21. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  22. package/dist/query-builder/mysql/mysql-query-builder.js +4 -4
  23. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +2 -2
  24. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  25. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +4 -4
  26. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +8 -8
  27. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  28. package/dist/query-builder/postgresql/postgresql-query-builder.js +7 -7
  29. package/dist/query-builder/query-builder.d.ts +1 -1
  30. package/dist/schema/factory/column-builder.d.ts +46 -46
  31. package/dist/schema/factory/column-builder.js +25 -25
  32. package/dist/schema/factory/index-builder.d.ts +22 -22
  33. package/dist/schema/factory/index-builder.js +14 -14
  34. package/dist/schema/factory/relation-builder.d.ts +93 -93
  35. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  36. package/dist/schema/factory/relation-builder.js +37 -37
  37. package/dist/schema/procedure-builder.d.ts +38 -38
  38. package/dist/schema/procedure-builder.d.ts.map +1 -1
  39. package/dist/schema/procedure-builder.js +26 -26
  40. package/dist/schema/table-builder.d.ts +38 -38
  41. package/dist/schema/table-builder.d.ts.map +1 -1
  42. package/dist/schema/table-builder.js +29 -29
  43. package/dist/schema/view-builder.d.ts +26 -26
  44. package/dist/schema/view-builder.d.ts.map +1 -1
  45. package/dist/schema/view-builder.js +18 -18
  46. package/dist/types/db.d.ts +40 -40
  47. package/dist/types/expr.d.ts +75 -75
  48. package/dist/types/expr.d.ts.map +1 -1
  49. package/dist/types/query-def.d.ts +32 -32
  50. package/dist/types/query-def.d.ts.map +1 -1
  51. package/package.json +2 -2
  52. package/src/ddl/initialize.ts +16 -16
  53. package/src/ddl/table-ddl.ts +1 -1
  54. package/src/exec/queryable.ts +163 -163
  55. package/src/expr/expr.ts +257 -257
  56. package/src/query-builder/base/expr-renderer-base.ts +8 -8
  57. package/src/query-builder/mssql/mssql-expr-renderer.ts +20 -20
  58. package/src/query-builder/mssql/mssql-query-builder.ts +28 -28
  59. package/src/query-builder/mysql/mysql-expr-renderer.ts +22 -22
  60. package/src/query-builder/mysql/mysql-query-builder.ts +65 -65
  61. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +15 -15
  62. package/src/query-builder/postgresql/postgresql-query-builder.ts +43 -43
  63. package/src/query-builder/query-builder.ts +1 -1
  64. package/src/schema/factory/column-builder.ts +48 -48
  65. package/src/schema/factory/index-builder.ts +22 -22
  66. package/src/schema/factory/relation-builder.ts +95 -95
  67. package/src/schema/procedure-builder.ts +38 -38
  68. package/src/schema/table-builder.ts +38 -38
  69. package/src/schema/view-builder.ts +28 -28
  70. package/src/types/db.ts +41 -41
  71. package/src/types/expr.ts +79 -79
  72. package/src/types/query-def.ts +37 -37
  73. package/tests/ddl/basic.expected.ts +8 -8
@@ -29,8 +29,8 @@ export declare function initialize(db: DbContextBase & DbContextDdlMethods & {
29
29
  force?: boolean;
30
30
  }): Promise<void>;
31
31
  /**
32
- * ForeignKeyTarget/RelationKeyTarget 관계의 유효성 Validation
33
- * - targetTableFn() 반환하는 Table에 relationName에 해당하는 FK/RelationKey 있는지 확인
32
+ * Validate ForeignKeyTarget/RelationKeyTarget relations
33
+ * - Checks if the table returned by targetTableFn() has a FK/RelationKey matching the relationName
34
34
  */
35
35
  export declare function validateRelations(def: DbContextDef<any, any, any>): void;
36
36
  //# sourceMappingURL=initialize.d.ts.map
@@ -125,7 +125,7 @@ function validateRelations(def) {
125
125
  const fkRel = (_a = targetTable.meta.relations) == null ? void 0 : _a[fkRelName];
126
126
  if (!(fkRel instanceof ForeignKeyBuilder) && !(fkRel instanceof RelationKeyBuilder)) {
127
127
  throw new Error(
128
- `Invalid relation target: ${table.meta.name}.${relName}\uC774 \uCC38\uC870\uD558\uB294 '${fkRelName}'\uC774(\uAC00) ${targetTable.meta.name}\uC758 \uC720\uD6A8\uD55C ForeignKey/RelationKey\uAC00 \uC544\uB2D9\uB2C8\uB2E4.`
128
+ `Invalid relation target: '${fkRelName}' referenced by ${table.meta.name}.${relName} is not a valid ForeignKey/RelationKey in ${targetTable.meta.name}.`
129
129
  );
130
130
  }
131
131
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ddl/initialize.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,7 +4,7 @@ import { ProcedureBuilder } from "../schema/procedure-builder";
4
4
  import type { QueryDef, QueryDefObjectName, DropTableQueryDef, RenameTableQueryDef, DropViewQueryDef, DropProcQueryDef } from "../types/query-def";
5
5
  import type { DbContextBase } from "../types/db-context-def";
6
6
  /**
7
- * Builder CREATE QueryDef로 Transform
7
+ * Transform Builder to CREATE QueryDef
8
8
  *
9
9
  * @param db - DbContext instance
10
10
  * @param builder - Table/View/Procedure builder
@@ -190,21 +190,21 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
190
190
  *
191
191
  * @param fn - function returning columns to sort by
192
192
  * @param orderBy - Sort direction (ASC/DESC). Default: ASC
193
- * @returns sorting 조건이 추가된 Queryable
193
+ * @returns Queryable with sorting conditions added
194
194
  *
195
195
  * @example
196
196
  * ```typescript
197
197
  * db.user
198
- * .orderBy((u) => u.name) // 이름 ASC
199
- * .orderBy((u) => u.age, "DESC") // 나이 DESC
198
+ * .orderBy((u) => u.name) // name ASC
199
+ * .orderBy((u) => u.age, "DESC") // age DESC
200
200
  * ```
201
201
  */
202
202
  orderBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>, orderBy?: "ASC" | "DESC"): Queryable<TData, TFrom>;
203
203
  /**
204
- * WHERE condition 추가합니다. 여러 호출하면 AND로 결합됩니다.
204
+ * Add WHERE condition. Multiple calls are combined with AND.
205
205
  *
206
- * @param predicate - Condition 배열을 반환하는 function
207
- * @returns 조건이 추가된 Queryable
206
+ * @param predicate - Function returning an array of conditions
207
+ * @returns Queryable with conditions added
208
208
  *
209
209
  * @example
210
210
  * ```typescript
@@ -215,28 +215,28 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
215
215
  */
216
216
  where(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, TFrom>;
217
217
  /**
218
- * 텍스트 검색을 수행
218
+ * Perform text search
219
219
  *
220
- * 검색 문법은 {@link parseSearchQuery} 참조
221
- * - 공백으로 구분된 단어는 OR condition
222
- * - `+`로 시작하는 단어는 required include (AND Condition)
223
- * - `-`로 시작하는 단어는 exclude (NOT Condition)
220
+ * See {@link parseSearchQuery} for search syntax
221
+ * - Space-separated words are OR conditions
222
+ * - Words starting with `+` are required includes (AND condition)
223
+ * - Words starting with `-` are excludes (NOT condition)
224
224
  *
225
- * @param fn - 검색 대상 column을 반환하는 function
226
- * @param searchText - 검색 텍스트
227
- * @returns 검색 조건이 추가된 Queryable
225
+ * @param fn - Function returning target columns to search
226
+ * @param searchText - Search text
227
+ * @returns Queryable with search conditions added
228
228
  *
229
229
  * @example
230
230
  * ```typescript
231
231
  * db.user()
232
- * .search((u) => [u.name, u.email], "Gildong Hong -탈퇴")
232
+ * .search((u) => [u.name, u.email], "John Doe -withdrawn")
233
233
  * ```
234
234
  */
235
235
  search(fn: (columns: QueryableRecord<TData>) => ExprUnit<string | undefined>[], searchText: string): Queryable<TData, TFrom>;
236
236
  /**
237
- * GROUP BY 절을 Add
237
+ * Add GROUP BY clause
238
238
  *
239
- * @param fn - Group화 기준 column을 반환하는 function
239
+ * @param fn - Function returning columns to group by
240
240
  * @returns Queryable with GROUP BY applied
241
241
  *
242
242
  * @example
@@ -251,10 +251,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
251
251
  */
252
252
  groupBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>[]): Queryable<TData, never>;
253
253
  /**
254
- * HAVING 절을 Add (GROUP BY 후 filtering)
254
+ * Add HAVING clause (filtering after GROUP BY)
255
255
  *
256
- * @param predicate - Condition 배열을 반환하는 function
257
- * @returns HAVING apply된 Queryable
256
+ * @param predicate - Function returning an array of conditions
257
+ * @returns Queryable with HAVING applied
258
258
  *
259
259
  * @example
260
260
  * ```typescript
@@ -269,11 +269,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
269
269
  */
270
270
  having(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, never>;
271
271
  /**
272
- * 1:N 관계의 LEFT OUTER JOIN 수행 (배열로 result Add)
272
+ * Perform LEFT OUTER JOIN for 1:N relation (added as array to result)
273
273
  *
274
- * @param as - Result에 추가할 property 이름
275
- * @param fn - Join 조건을 정의하는 콜백 function
276
- * @returns join 결과가 배열로 추가된 Queryable
274
+ * @param as - Property name to add to result
275
+ * @param fn - Callback function defining join conditions
276
+ * @returns Queryable with join result added as array
277
277
  *
278
278
  * @example
279
279
  * ```typescript
@@ -289,11 +289,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
289
289
  [K in A]?: R[];
290
290
  }, TFrom>;
291
291
  /**
292
- * N:1 또는 1:1 관계의 LEFT OUTER JOIN을 수행 (단일 객체로 result Add)
292
+ * Perform LEFT OUTER JOIN for N:1 or 1:1 relation (added as single object to result)
293
293
  *
294
- * @param as - Result에 추가할 property 이름
295
- * @param fn - Join 조건을 정의하는 콜백 function
296
- * @returns join 결과가 단일 객체로 추가된 Queryable
294
+ * @param as - Property name to add to result
295
+ * @param fn - Callback function defining join conditions
296
+ * @returns Queryable with join result added as single object
297
297
  *
298
298
  * @example
299
299
  * ```typescript
@@ -311,22 +311,22 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
311
311
  [K in A]?: R;
312
312
  }, TFrom>;
313
313
  /**
314
- * 관계된 Table을 automatic으로 JOIN합니다.
315
- * TableBuilder에 정의된 FK/FKT 관계를 기반으로 동작합니다.
314
+ * Automatically JOIN related tables.
315
+ * Operates based on FK/FKT relations defined in TableBuilder.
316
316
  *
317
- * @param fn - 포함할 관계를 선택하는 function (PathProxy를 통해 type 체크됨)
318
- * @returns JOIN이 추가된 Queryable
319
- * @throws 관계가 정의되지 않은 경우 에러
317
+ * @param fn - Function selecting relations to include (type-checked via PathProxy)
318
+ * @returns Queryable with JOINs added
319
+ * @throws Error if relation is not defined
320
320
  *
321
321
  * @example
322
322
  * ```typescript
323
- * // 단일 relationship include
323
+ * // Single relationship include
324
324
  * db.post.include((p) => p.user)
325
325
  *
326
- * // 중첩 relationship include
326
+ * // Nested relationship include
327
327
  * db.post.include((p) => p.user.company)
328
328
  *
329
- * // 다중 relationship include
329
+ * // Multiple relationship include
330
330
  * db.user
331
331
  * .include((u) => u.company)
332
332
  * .include((u) => u.posts)
@@ -335,15 +335,15 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
335
335
  include(fn: (item: PathProxy<TData>) => PathProxy<any>): Queryable<TData, TFrom>;
336
336
  private _include;
337
337
  /**
338
- * 현재 Queryable Subquery로 감싸기
338
+ * Wrap the current Queryable as a Subquery
339
339
  *
340
- * distinct() 또는 groupBy() count() 사용 시 필요
340
+ * Required when using count() after distinct() or groupBy()
341
341
  *
342
- * @returns Subquery로 감싸진 Queryable
342
+ * @returns Queryable wrapped as a Subquery
343
343
  *
344
344
  * @example
345
345
  * ```typescript
346
- * // DISTINCT 카운트
346
+ * // Count after DISTINCT
347
347
  * const count = await db.user()
348
348
  * .select((u) => ({ name: u.name }))
349
349
  * .distinct()
@@ -369,18 +369,18 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
369
369
  */
370
370
  static union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData, never>;
371
371
  /**
372
- * recursive CTE(Common Table Expression)를 Generate
372
+ * Generate a recursive CTE (Common Table Expression)
373
373
  *
374
- * 계층 structure data(조직도, 카테고리 트리 )를 조회할 때 사용
374
+ * Used for querying hierarchical data (org charts, category trees, etc.)
375
375
  *
376
- * @param fn - recursive part을 정의하는 콜백 function
377
- * @returns recursive CTE apply된 Queryable
376
+ * @param fn - Callback function that defines the recursive part
377
+ * @returns Queryable with the recursive CTE applied
378
378
  *
379
379
  * @example
380
380
  * ```typescript
381
- * // 조직도 계층 조회
381
+ * // Query org chart hierarchy
382
382
  * db.employee()
383
- * .where((e) => [expr.null(e.managerId)]) // 루트 노드
383
+ * .where((e) => [expr.null(e.managerId)]) // Root nodes
384
384
  * .recursive((cte) =>
385
385
  * cte.from(Employee)
386
386
  * .where((e) => [expr.eq(e.managerId, e.self[0].id)])
@@ -389,7 +389,7 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
389
389
  */
390
390
  recursive(fn: (qr: RecursiveQueryable<TData>) => Queryable<TData, any>): Queryable<TData, never>;
391
391
  /**
392
- * SELECT query 실행하고 result 배열을 return
392
+ * Execute a SELECT query and return the result array
393
393
  *
394
394
  * @returns Query result array
395
395
  *
@@ -402,10 +402,10 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
402
402
  */
403
403
  execute(): Promise<TData[]>;
404
404
  /**
405
- * 단일 결과를 return (2개 이상이면 Error)
405
+ * Return a single result (Error if more than 1)
406
406
  *
407
- * @returns 단일 result 또는 undefined
408
- * @throws 2개 이상의 결과가 반환된 경우
407
+ * @returns Single result or undefined
408
+ * @throws When more than one result is returned
409
409
  *
410
410
  * @example
411
411
  * ```typescript
@@ -416,13 +416,13 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
416
416
  */
417
417
  single(): Promise<TData | undefined>;
418
418
  /**
419
- * query 소스 이름 return (error message용)
419
+ * Return query source name (for error messages)
420
420
  */
421
421
  private _getSourceName;
422
422
  /**
423
- * 번째 결과를 return (여러 개여도 번째만)
423
+ * Return the first result (only the first even if multiple exist)
424
424
  *
425
- * @returns 번째 result 또는 undefined
425
+ * @returns First result or undefined
426
426
  *
427
427
  * @example
428
428
  * ```typescript
@@ -433,11 +433,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
433
433
  */
434
434
  first(): Promise<TData | undefined>;
435
435
  /**
436
- * result row 수를 return
436
+ * Return the number of result rows
437
437
  *
438
- * @param fn - 카운트할 column 지정하는 function (Select)
439
- * @returns row
440
- * @throws distinct() 또는 groupBy() 직접 호출 시 에러 (wrap() 필요)
438
+ * @param fn - Function to specify the column to count (optional)
439
+ * @returns Number of rows
440
+ * @throws Error when called directly after distinct() or groupBy() (use wrap() first)
441
441
  *
442
442
  * @example
443
443
  * ```typescript
@@ -448,9 +448,9 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
448
448
  */
449
449
  count(fn?: (cols: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>): Promise<number>;
450
450
  /**
451
- * 조건에 맞는 data 존재 여부를 확인
451
+ * Check whether data matching the conditions exists
452
452
  *
453
- * @returns 존재하면 true, 없으면 false
453
+ * @returns true if exists, false otherwise
454
454
  *
455
455
  * @example
456
456
  * ```typescript
@@ -466,22 +466,22 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
466
466
  private _buildJoinDefs;
467
467
  getResultMeta(outputColumns?: string[]): ResultMeta;
468
468
  /**
469
- * INSERT query를 실행
469
+ * Execute an INSERT query
470
470
  *
471
- * MSSQL의 1000개 제한을 위해 automatic으로 1000개씩 청크로 분할하여 실행
471
+ * Automatically splits into chunks of 1000 for MSSQL's row limit
472
472
  *
473
- * @param records - Insert할 레코드 array
474
- * @param outputColumns - column name array to receive (Select)
475
- * @returns outputColumns 지정 삽입된 레코드 array return
473
+ * @param records - Array of records to insert
474
+ * @param outputColumns - Column name array to receive (optional)
475
+ * @returns When outputColumns specified, returns array of inserted records
476
476
  *
477
477
  * @example
478
478
  * ```typescript
479
- * // 단순 삽입
479
+ * // Simple insert
480
480
  * await db.user().insert([
481
481
  * { name: "Gildong Hong", email: "hong@test.com" },
482
482
  * ]);
483
483
  *
484
- * // 삽입 ID return
484
+ * // Return ID after insert
485
485
  * const [inserted] = await db.user().insert(
486
486
  * [{ name: "Gildong Hong" }],
487
487
  * ["id"],
@@ -491,11 +491,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
491
491
  insert(records: TFrom["$inferInsert"][]): Promise<void>;
492
492
  insert<K extends keyof TFrom["$inferColumns"] & string>(records: TFrom["$inferInsert"][], outputColumns: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
493
493
  /**
494
- * WHERE condition에 맞는 data 없으면 INSERT
494
+ * INSERT if no data matches the WHERE condition
495
495
  *
496
- * @param record - Insert할 레코드
497
- * @param outputColumns - column name array to receive (Select)
498
- * @returns outputColumns 지정 삽입된 레코드 return
496
+ * @param record - Record to insert
497
+ * @param outputColumns - Column name array to receive (optional)
498
+ * @returns When outputColumns specified, returns the inserted record
499
499
  *
500
500
  * @example
501
501
  * ```typescript
@@ -507,11 +507,11 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
507
507
  insertIfNotExists(record: TFrom["$inferInsert"]): Promise<void>;
508
508
  insertIfNotExists<K extends keyof TFrom["$inferColumns"] & string>(record: TFrom["$inferInsert"], outputColumns: K[]): Promise<Pick<TFrom["$inferColumns"], K>>;
509
509
  /**
510
- * INSERT INTO ... SELECT (현재 SELECT 결과를 다른 Table에 INSERT)
510
+ * INSERT INTO ... SELECT (INSERT the current SELECT results into another Table)
511
511
  *
512
- * @param targetTable - Insert 대상 Table
513
- * @param outputColumns - column name array to receive (Select)
514
- * @returns outputColumns 지정 삽입된 레코드 array return
512
+ * @param targetTable - Target Table to insert into
513
+ * @param outputColumns - Column name array to receive (optional)
514
+ * @returns When outputColumns specified, returns array of inserted records
515
515
  *
516
516
  * @example
517
517
  * ```typescript
@@ -527,15 +527,15 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
527
527
  getInsertIfNotExistsQueryDef(record: TFrom["$inferInsert"], outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): InsertIfNotExistsQueryDef;
528
528
  getInsertIntoQueryDef<TTable extends TableBuilder<DataToColumnBuilderRecord<TData>, any>>(targetTable: TTable, outputColumns?: (keyof TTable["$inferColumns"] & string)[]): InsertIntoQueryDef;
529
529
  /**
530
- * UPDATE query를 실행
530
+ * Execute an UPDATE query
531
531
  *
532
- * @param recordFwd - Update할 column과 값을 반환하는 function
533
- * @param outputColumns - column name array to receive (Select)
534
- * @returns outputColumns 지정 업데이트된 레코드 array return
532
+ * @param recordFwd - Function that returns the columns and values to update
533
+ * @param outputColumns - Column name array to receive (optional)
534
+ * @returns When outputColumns specified, returns array of updated records
535
535
  *
536
536
  * @example
537
537
  * ```typescript
538
- * // 단순 업데이트
538
+ * // Simple update
539
539
  * await db.user()
540
540
  * .where((u) => [expr.eq(u.id, 1)])
541
541
  * .update((u) => ({
@@ -543,7 +543,7 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
543
543
  * updatedAt: expr.val("DateTime", DateTime.now()),
544
544
  * }));
545
545
  *
546
- * // 기존 value 참조
546
+ * // Reference existing value
547
547
  * await db.product()
548
548
  * .update((p) => ({
549
549
  * price: expr.mul(p.price, expr.val("number", 1.1)),
@@ -553,19 +553,19 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
553
553
  update(recordFwd: (cols: QueryableRecord<TData>) => QueryableWriteRecord<TFrom["$inferUpdate"]>): Promise<void>;
554
554
  update<K extends keyof TFrom["$columns"] & string>(recordFwd: (cols: QueryableRecord<TData>) => QueryableWriteRecord<TFrom["$inferUpdate"]>, outputColumns: K[]): Promise<Pick<TFrom["$columns"], K>[]>;
555
555
  /**
556
- * DELETE query를 실행
556
+ * Execute a DELETE query
557
557
  *
558
- * @param outputColumns - column name array to receive (Select)
559
- * @returns outputColumns 지정 삭제된 레코드 array return
558
+ * @param outputColumns - Column name array to receive (optional)
559
+ * @returns When outputColumns specified, returns array of deleted records
560
560
  *
561
561
  * @example
562
562
  * ```typescript
563
- * // 단순 Delete
563
+ * // Simple delete
564
564
  * await db.user()
565
565
  * .where((u) => [expr.eq(u.id, 1)])
566
566
  * .delete();
567
567
  *
568
- * // 삭제된 data return
568
+ * // Return deleted data
569
569
  * const deleted = await db.user()
570
570
  * .where((u) => [expr.eq(u.isExpired, true)])
571
571
  * .delete(["id", "name"]);
@@ -576,18 +576,18 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
576
576
  getUpdateQueryDef(recordFwd: (cols: QueryableRecord<TData>) => QueryableWriteRecord<TFrom["$inferUpdate"]>, outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): UpdateQueryDef;
577
577
  getDeleteQueryDef(outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): DeleteQueryDef;
578
578
  /**
579
- * UPSERT (UPDATE or INSERT) query를 실행
579
+ * Execute an UPSERT (UPDATE or INSERT) query
580
580
  *
581
- * WHERE condition에 맞는 data 있으면 UPDATE, 없으면 INSERT
581
+ * UPDATE if data matching the WHERE condition exists, otherwise INSERT
582
582
  *
583
- * @param updateFn - Update할 column과 값을 반환하는 function
584
- * @param insertFn - Insert할 레코드를 반환하는 function (selection, 미지정 updateFn와 동일)
585
- * @param outputColumns - column name array to receive (Select)
586
- * @returns outputColumns 지정 영향받은 레코드 array return
583
+ * @param updateFn - Function that returns the columns and values to update
584
+ * @param insertFn - Function that returns the record to insert (optional, defaults to same as updateFn)
585
+ * @param outputColumns - Column name array to receive (optional)
586
+ * @returns When outputColumns specified, returns array of affected records
587
587
  *
588
588
  * @example
589
589
  * ```typescript
590
- * // UPDATE/INSERT 동일 data
590
+ * // Same data for UPDATE/INSERT
591
591
  * await db.user()
592
592
  * .where((u) => [expr.eq(u.email, "test@test.com")])
593
593
  * .upsert(() => ({
@@ -595,7 +595,7 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
595
595
  * email: expr.val("string", "test@test.com"),
596
596
  * }));
597
597
  *
598
- * // UPDATE/INSERT 다른 data
598
+ * // Different data for UPDATE/INSERT
599
599
  * await db.user()
600
600
  * .where((u) => [expr.eq(u.email, "test@test.com")])
601
601
  * .upsert(
@@ -610,18 +610,18 @@ export declare class Queryable<TData extends DataRecord, TFrom extends TableBuil
610
610
  upsert<U extends QueryableWriteRecord<TFrom["$inferUpdate"]>, K extends keyof TFrom["$inferColumns"] & string>(updateFn: (cols: QueryableRecord<TData>) => U, insertFn: (updateRecord: U) => QueryableWriteRecord<TFrom["$inferInsert"]>, outputColumns?: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
611
611
  getUpsertQueryDef<U extends QueryableWriteRecord<TFrom["$inferUpdate"]>>(updateRecordFn: (cols: QueryableRecord<TData>) => U, insertRecordFn: (updateRecord: U) => QueryableWriteRecord<TFrom["$inferInsert"]>, outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): UpsertQueryDef;
612
612
  /**
613
- * FK constraint on/off (transaction 사용 가능)
613
+ * FK constraint on/off (can be used within a transaction)
614
614
  */
615
615
  switchFk(enabled: boolean): Promise<void>;
616
616
  private _getCudOutputDef;
617
617
  }
618
618
  /**
619
- * FK column 배열과 대상 Table PK 매칭하여 PK column 배열을 return
619
+ * Match FK column array with the target Table's PK and return PK column name array
620
620
  *
621
- * @param fkCols - FK column array
622
- * @param targetTable - 참조 대상 Table builder
623
- * @returns 매칭된 PK column array
624
- * @throws FK/PK column 불일치 시
621
+ * @param fkCols - FK column name array
622
+ * @param targetTable - Target Table builder being referenced
623
+ * @returns Matched PK column name array
624
+ * @throws When FK/PK column count mismatch
625
625
  */
626
626
  export declare function getMatchedPrimaryKeys(fkCols: string[], targetTable: TableBuilder<any, any>): string[];
627
627
  interface QueryableMeta<TData extends DataRecord> {
@@ -659,33 +659,33 @@ export type NullableQueryableRecord<TData extends DataRecord> = {
659
659
  [K in keyof TData]: TData[K] extends ColumnPrimitive ? ExprUnit<TData[K] | undefined> : TData[K] extends (infer U)[] ? U extends DataRecord ? NullableQueryableRecord<U>[] : never : TData[K] extends (infer U)[] | undefined ? U extends DataRecord ? NullableQueryableRecord<U>[] | undefined : never : TData[K] extends DataRecord ? NullableQueryableRecord<TData[K]> : TData[K] extends DataRecord | undefined ? NullableQueryableRecord<Exclude<TData[K], undefined>> | undefined : never;
660
660
  };
661
661
  /**
662
- * QueryableRecord에서 DataRecord로 역transform
662
+ * Reverse-transform from QueryableRecord to DataRecord
663
663
  *
664
- * ExprUnit<T>를 T로, 중첩 object/배열을 재귀적으로 풀어냄
664
+ * Unwraps ExprUnit<T> to T, recursively unwrapping nested objects/arrays
665
665
  */
666
666
  export type UnwrapQueryableRecord<R> = {
667
667
  [K in keyof R]: R[K] extends ExprUnit<infer T> ? T : NonNullable<R[K]> extends (infer U)[] ? U extends Record<string, any> ? UnwrapQueryableRecord<U>[] | Extract<R[K], undefined> : never : NonNullable<R[K]> extends Record<string, any> ? UnwrapQueryableRecord<NonNullable<R[K]>> | Extract<R[K], undefined> : never;
668
668
  };
669
669
  /**
670
- * include()에서 relationship 경로를 type 안전하게 지정하기 위한 Proxy type
671
- * ColumnPrimitive 아닌 필드(FK, FKT relationship) access 가능
670
+ * Proxy type for specifying relationship paths in include() in a type-safe manner
671
+ * Only non-ColumnPrimitive fields (FK, FKT relationships) are accessible
672
672
  *
673
673
  * @example
674
674
  * ```typescript
675
- * // item.user.company access 내부적으로 ["user", "company"] 경로 수집
675
+ * // Accessing item.user.company internally collects path ["user", "company"]
676
676
  * db.post.include(item => item.user.company)
677
677
  *
678
- * // item.title string(ColumnPrimitive)이므로 컴파일 에러
679
- * db.post.include(item => item.title) // 에러
678
+ * // item.title is string (ColumnPrimitive), so this is a compile error
679
+ * db.post.include(item => item.title) // compile error
680
680
  * ```
681
681
  */
682
682
  /**
683
- * 배열이면 요소 type 추출
683
+ * Extract element type if array
684
684
  */
685
685
  type UnwrapArray<TArray> = TArray extends (infer TElement)[] ? TElement : TArray;
686
686
  declare const PATH_SYMBOL: unique symbol;
687
687
  /**
688
- * include()용 type 안전 경로 프록시
688
+ * Type-safe path proxy for include()
689
689
  */
690
690
  export type PathProxy<TObject> = {
691
691
  [K in keyof TObject as TObject[K] extends ColumnPrimitive ? never : K]-?: PathProxy<UnwrapArray<TObject[K]>>;
@@ -693,22 +693,22 @@ export type PathProxy<TObject> = {
693
693
  readonly [PATH_SYMBOL]: string[];
694
694
  };
695
695
  /**
696
- * Table 또는 View에 대한 Queryable factory 함수를 Generate
696
+ * Generate a Queryable factory function for a Table or View
697
697
  *
698
- * DbContext에서 Table/View getter를 정의할 때 사용
698
+ * Used when defining per-Table/View getters in DbContext
699
699
  *
700
700
  * @param db - DbContext instance
701
- * @param tableOrView - TableBuilder 또는 ViewBuilder instance
702
- * @param as - alias 지정 (selection, 미지정 automatic Create)
703
- * @returns Queryable을 반환하는 factory function
701
+ * @param tableOrView - TableBuilder or ViewBuilder instance
702
+ * @param as - Alias specification (optional, auto-created if not specified)
703
+ * @returns Factory function that returns a Queryable
704
704
  *
705
705
  * @example
706
706
  * ```typescript
707
707
  * class AppDbContext extends DbContext {
708
- * // 호출 시마다 새로운 alias 할당
708
+ * // A new alias is assigned on each call
709
709
  * user = queryable(this, User);
710
710
  *
711
- * // 사용 예시
711
+ * // Usage example
712
712
  * async getActiveUsers() {
713
713
  * return this.user()
714
714
  * .where((u) => [expr.eq(u.isActive, true)])