@simplysm/orm-common 13.0.100 → 14.0.1

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 (238) hide show
  1. package/dist/create-db-context.d.ts +10 -10
  2. package/dist/create-db-context.js +312 -276
  3. package/dist/create-db-context.js.map +1 -6
  4. package/dist/ddl/column-ddl.d.ts +4 -4
  5. package/dist/ddl/column-ddl.js +41 -35
  6. package/dist/ddl/column-ddl.js.map +1 -6
  7. package/dist/ddl/initialize.d.ts +17 -17
  8. package/dist/ddl/initialize.js +200 -142
  9. package/dist/ddl/initialize.js.map +1 -6
  10. package/dist/ddl/relation-ddl.d.ts +6 -6
  11. package/dist/ddl/relation-ddl.js +55 -48
  12. package/dist/ddl/relation-ddl.js.map +1 -6
  13. package/dist/ddl/schema-ddl.d.ts +4 -4
  14. package/dist/ddl/schema-ddl.js +21 -15
  15. package/dist/ddl/schema-ddl.js.map +1 -6
  16. package/dist/ddl/table-ddl.d.ts +20 -20
  17. package/dist/ddl/table-ddl.js +139 -93
  18. package/dist/ddl/table-ddl.js.map +1 -6
  19. package/dist/define-db-context.js +10 -13
  20. package/dist/define-db-context.js.map +1 -6
  21. package/dist/errors/db-transaction-error.d.ts +15 -15
  22. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  23. package/dist/errors/db-transaction-error.js +53 -19
  24. package/dist/errors/db-transaction-error.js.map +1 -6
  25. package/dist/exec/executable.d.ts +23 -23
  26. package/dist/exec/executable.js +94 -40
  27. package/dist/exec/executable.js.map +1 -6
  28. package/dist/exec/queryable.d.ts +97 -97
  29. package/dist/exec/queryable.js +1310 -1204
  30. package/dist/exec/queryable.js.map +1 -6
  31. package/dist/exec/search-parser.d.ts +31 -31
  32. package/dist/exec/search-parser.d.ts.map +1 -1
  33. package/dist/exec/search-parser.js +158 -59
  34. package/dist/exec/search-parser.js.map +1 -6
  35. package/dist/expr/expr-unit.d.ts +4 -4
  36. package/dist/expr/expr-unit.js +24 -18
  37. package/dist/expr/expr-unit.js.map +1 -6
  38. package/dist/expr/expr.d.ts +6 -6
  39. package/dist/expr/expr.js +1872 -1844
  40. package/dist/expr/expr.js.map +1 -6
  41. package/dist/index.js +23 -1
  42. package/dist/index.js.map +1 -6
  43. package/dist/models/system-migration.js +7 -7
  44. package/dist/models/system-migration.js.map +1 -6
  45. package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
  46. package/dist/query-builder/base/expr-renderer-base.js +27 -21
  47. package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
  48. package/dist/query-builder/base/query-builder-base.d.ts +21 -21
  49. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  50. package/dist/query-builder/base/query-builder-base.js +90 -80
  51. package/dist/query-builder/base/query-builder-base.js.map +1 -6
  52. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  53. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  54. package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
  55. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
  56. package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
  57. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
  58. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  59. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  60. package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
  61. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
  62. package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
  63. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
  64. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  65. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  66. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
  67. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
  68. package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
  69. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
  70. package/dist/query-builder/query-builder.d.ts +1 -1
  71. package/dist/query-builder/query-builder.js +13 -13
  72. package/dist/query-builder/query-builder.js.map +1 -6
  73. package/dist/schema/factory/column-builder.d.ts +84 -84
  74. package/dist/schema/factory/column-builder.js +248 -185
  75. package/dist/schema/factory/column-builder.js.map +1 -6
  76. package/dist/schema/factory/index-builder.d.ts +38 -38
  77. package/dist/schema/factory/index-builder.js +144 -85
  78. package/dist/schema/factory/index-builder.js.map +1 -6
  79. package/dist/schema/factory/relation-builder.d.ts +91 -91
  80. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  81. package/dist/schema/factory/relation-builder.js +274 -136
  82. package/dist/schema/factory/relation-builder.js.map +1 -6
  83. package/dist/schema/procedure-builder.d.ts +51 -51
  84. package/dist/schema/procedure-builder.d.ts.map +1 -1
  85. package/dist/schema/procedure-builder.js +205 -131
  86. package/dist/schema/procedure-builder.js.map +1 -6
  87. package/dist/schema/table-builder.d.ts +55 -55
  88. package/dist/schema/table-builder.d.ts.map +1 -1
  89. package/dist/schema/table-builder.js +274 -205
  90. package/dist/schema/table-builder.js.map +1 -6
  91. package/dist/schema/view-builder.d.ts +44 -44
  92. package/dist/schema/view-builder.d.ts.map +1 -1
  93. package/dist/schema/view-builder.js +189 -116
  94. package/dist/schema/view-builder.js.map +1 -6
  95. package/dist/types/column.js +60 -30
  96. package/dist/types/column.js.map +1 -6
  97. package/dist/types/db-context-def.d.ts +9 -9
  98. package/dist/types/db-context-def.js +2 -1
  99. package/dist/types/db-context-def.js.map +1 -6
  100. package/dist/types/db.d.ts +47 -47
  101. package/dist/types/db.js +15 -5
  102. package/dist/types/db.js.map +1 -6
  103. package/dist/types/expr.d.ts +81 -81
  104. package/dist/types/expr.d.ts.map +1 -1
  105. package/dist/types/expr.js +3 -1
  106. package/dist/types/expr.js.map +1 -6
  107. package/dist/types/query-def.d.ts +46 -46
  108. package/dist/types/query-def.d.ts.map +1 -1
  109. package/dist/types/query-def.js +31 -24
  110. package/dist/types/query-def.js.map +1 -6
  111. package/dist/utils/result-parser.js +362 -221
  112. package/dist/utils/result-parser.js.map +1 -6
  113. package/package.json +5 -7
  114. package/src/create-db-context.ts +31 -31
  115. package/src/ddl/column-ddl.ts +4 -4
  116. package/src/ddl/initialize.ts +38 -38
  117. package/src/ddl/relation-ddl.ts +6 -6
  118. package/src/ddl/schema-ddl.ts +4 -4
  119. package/src/ddl/table-ddl.ts +24 -24
  120. package/src/errors/db-transaction-error.ts +13 -13
  121. package/src/exec/executable.ts +25 -25
  122. package/src/exec/queryable.ts +134 -134
  123. package/src/exec/search-parser.ts +50 -50
  124. package/src/expr/expr-unit.ts +4 -4
  125. package/src/expr/expr.ts +13 -13
  126. package/src/index.ts +8 -8
  127. package/src/models/system-migration.ts +1 -1
  128. package/src/query-builder/base/expr-renderer-base.ts +21 -21
  129. package/src/query-builder/base/query-builder-base.ts +33 -33
  130. package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
  131. package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
  132. package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
  133. package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
  134. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
  135. package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
  136. package/src/query-builder/query-builder.ts +1 -1
  137. package/src/schema/factory/column-builder.ts +86 -86
  138. package/src/schema/factory/index-builder.ts +38 -38
  139. package/src/schema/factory/relation-builder.ts +93 -93
  140. package/src/schema/procedure-builder.ts +52 -52
  141. package/src/schema/table-builder.ts +56 -56
  142. package/src/schema/view-builder.ts +45 -45
  143. package/src/types/column.ts +1 -1
  144. package/src/types/db-context-def.ts +15 -15
  145. package/src/types/db.ts +50 -50
  146. package/src/types/expr.ts +103 -103
  147. package/src/types/query-def.ts +50 -50
  148. package/src/utils/result-parser.ts +39 -39
  149. package/README.md +0 -192
  150. package/docs/core.md +0 -234
  151. package/docs/expression.md +0 -234
  152. package/docs/query-builder.md +0 -93
  153. package/docs/queryable.md +0 -198
  154. package/docs/schema-builders.md +0 -463
  155. package/docs/types.md +0 -445
  156. package/docs/utilities.md +0 -27
  157. package/tests/db-context/create-db-context.spec.ts +0 -193
  158. package/tests/db-context/define-db-context.spec.ts +0 -17
  159. package/tests/ddl/basic.expected.ts +0 -341
  160. package/tests/ddl/basic.spec.ts +0 -557
  161. package/tests/ddl/column-builder.expected.ts +0 -310
  162. package/tests/ddl/column-builder.spec.ts +0 -525
  163. package/tests/ddl/index-builder.expected.ts +0 -38
  164. package/tests/ddl/index-builder.spec.ts +0 -148
  165. package/tests/ddl/procedure-builder.expected.ts +0 -52
  166. package/tests/ddl/procedure-builder.spec.ts +0 -128
  167. package/tests/ddl/relation-builder.expected.ts +0 -36
  168. package/tests/ddl/relation-builder.spec.ts +0 -171
  169. package/tests/ddl/table-builder.expected.ts +0 -113
  170. package/tests/ddl/table-builder.spec.ts +0 -399
  171. package/tests/ddl/view-builder.expected.ts +0 -38
  172. package/tests/ddl/view-builder.spec.ts +0 -116
  173. package/tests/dml/delete.expected.ts +0 -96
  174. package/tests/dml/delete.spec.ts +0 -127
  175. package/tests/dml/insert.expected.ts +0 -192
  176. package/tests/dml/insert.spec.ts +0 -210
  177. package/tests/dml/update.expected.ts +0 -176
  178. package/tests/dml/update.spec.ts +0 -222
  179. package/tests/dml/upsert.expected.ts +0 -215
  180. package/tests/dml/upsert.spec.ts +0 -190
  181. package/tests/errors/queryable-errors.spec.ts +0 -126
  182. package/tests/escape.spec.ts +0 -59
  183. package/tests/examples/pivot.expected.ts +0 -211
  184. package/tests/examples/pivot.spec.ts +0 -200
  185. package/tests/examples/sampling.expected.ts +0 -69
  186. package/tests/examples/sampling.spec.ts +0 -42
  187. package/tests/examples/unpivot.expected.ts +0 -120
  188. package/tests/examples/unpivot.spec.ts +0 -161
  189. package/tests/exec/search-parser.spec.ts +0 -267
  190. package/tests/executable/basic.expected.ts +0 -18
  191. package/tests/executable/basic.spec.ts +0 -54
  192. package/tests/expr/comparison.expected.ts +0 -282
  193. package/tests/expr/comparison.spec.ts +0 -334
  194. package/tests/expr/conditional.expected.ts +0 -134
  195. package/tests/expr/conditional.spec.ts +0 -249
  196. package/tests/expr/date.expected.ts +0 -332
  197. package/tests/expr/date.spec.ts +0 -459
  198. package/tests/expr/math.expected.ts +0 -62
  199. package/tests/expr/math.spec.ts +0 -59
  200. package/tests/expr/string.expected.ts +0 -218
  201. package/tests/expr/string.spec.ts +0 -300
  202. package/tests/expr/utility.expected.ts +0 -147
  203. package/tests/expr/utility.spec.ts +0 -155
  204. package/tests/select/basic.expected.ts +0 -322
  205. package/tests/select/basic.spec.ts +0 -433
  206. package/tests/select/filter.expected.ts +0 -357
  207. package/tests/select/filter.spec.ts +0 -954
  208. package/tests/select/group.expected.ts +0 -169
  209. package/tests/select/group.spec.ts +0 -159
  210. package/tests/select/join.expected.ts +0 -582
  211. package/tests/select/join.spec.ts +0 -692
  212. package/tests/select/order.expected.ts +0 -150
  213. package/tests/select/order.spec.ts +0 -140
  214. package/tests/select/recursive-cte.expected.ts +0 -244
  215. package/tests/select/recursive-cte.spec.ts +0 -514
  216. package/tests/select/result-meta.spec.ts +0 -270
  217. package/tests/select/subquery.expected.ts +0 -363
  218. package/tests/select/subquery.spec.ts +0 -441
  219. package/tests/select/view.expected.ts +0 -155
  220. package/tests/select/view.spec.ts +0 -235
  221. package/tests/select/window.expected.ts +0 -345
  222. package/tests/select/window.spec.ts +0 -433
  223. package/tests/setup/MockExecutor.ts +0 -18
  224. package/tests/setup/TestDbContext.ts +0 -59
  225. package/tests/setup/models/Company.ts +0 -13
  226. package/tests/setup/models/Employee.ts +0 -10
  227. package/tests/setup/models/MonthlySales.ts +0 -11
  228. package/tests/setup/models/Post.ts +0 -16
  229. package/tests/setup/models/Sales.ts +0 -10
  230. package/tests/setup/models/User.ts +0 -19
  231. package/tests/setup/procedure/GetAllUsers.ts +0 -9
  232. package/tests/setup/procedure/GetUserById.ts +0 -12
  233. package/tests/setup/test-utils.ts +0 -72
  234. package/tests/setup/views/ActiveUsers.ts +0 -8
  235. package/tests/setup/views/UserSummary.ts +0 -11
  236. package/tests/types/nullable-queryable-record.spec.ts +0 -97
  237. package/tests/utils/result-parser-perf.spec.ts +0 -143
  238. package/tests/utils/result-parser.spec.ts +0 -667
@@ -17,13 +17,13 @@ import {
17
17
  // ============================================
18
18
 
19
19
  /**
20
- * Database Table definition builder
20
+ * Database Table 정의 builder
21
21
  *
22
- * Define Table columns, PK, indexes, and relations via Fluent API
23
- * Use with DbContext's queryable() for type-safe query composition
22
+ * Fluent API로 Table column, PK, index, 관계를 정의
23
+ * DbContext queryable() 함께 사용하여 타입 안전한 query 구성
24
24
  *
25
- * @template TColumns - Column definition record type
26
- * @template TRelations - Relation definition record type
25
+ * @template TColumns - Column 정의 레코드 타입
26
+ * @template TRelations - 관계 정의 레코드 타입
27
27
  *
28
28
  * @example
29
29
  * ```typescript
@@ -45,37 +45,37 @@ import {
45
45
  * }
46
46
  * ```
47
47
  *
48
- * @see {@link Table} factory function
49
- * @see {@link queryable} Queryable Generate
48
+ * @see {@link Table} factory 함수
49
+ * @see {@link queryable} Queryable 생성
50
50
  */
51
51
  export class TableBuilder<
52
52
  TColumns extends ColumnBuilderRecord,
53
53
  TRelations extends RelationBuilderRecord,
54
54
  > {
55
- /** Column definition (type for inference) */
55
+ /** Column 정의 (타입 추론용) */
56
56
  readonly $columns!: TColumns;
57
- /** Relation definition (type for inference) */
57
+ /** 관계 정의 (타입 추론용) */
58
58
  readonly $relations!: TRelations;
59
59
 
60
- /** Full Type inference (column + relation) */
60
+ /** 전체 타입 추론 (column + 관계) */
61
61
  readonly $inferSelect!: InferColumns<TColumns> & InferDeepRelations<TRelations>;
62
- /** Column-only Type inference */
62
+ /** Column 전용 타입 추론 */
63
63
  readonly $inferColumns!: InferColumns<TColumns>;
64
- /** INSERT Type inference (autoIncrement excluded, nullable/default are optional) */
64
+ /** INSERT 타입 추론 (autoIncrement 제외, nullable/default optional) */
65
65
  readonly $inferInsert!: InferInsertColumns<TColumns>;
66
- /** UPDATE Type inference (all fields optional) */
66
+ /** UPDATE 타입 추론 (모든 필드 optional) */
67
67
  readonly $inferUpdate!: InferUpdateColumns<TColumns>;
68
68
 
69
69
  /**
70
- * @param meta - Table Metadata
71
- * @param meta.name - Table name
72
- * @param meta.description - Table description (comment)
73
- * @param meta.database - Database name
74
- * @param meta.schema - Schema name (MSSQL/PostgreSQL)
75
- * @param meta.columns - Column definition
76
- * @param meta.primaryKey - PK column array
77
- * @param meta.relations - Relation definition
78
- * @param meta.indexes - Index definition
70
+ * @param meta - Table 메타데이터
71
+ * @param meta.name - Table 이름
72
+ * @param meta.description - Table 설명 (comment)
73
+ * @param meta.database - Database 이름
74
+ * @param meta.schema - Schema 이름 (MSSQL/PostgreSQL)
75
+ * @param meta.columns - Column 정의
76
+ * @param meta.primaryKey - PK column 배열
77
+ * @param meta.relations - 관계 정의
78
+ * @param meta.indexes - Index 정의
79
79
  */
80
80
  constructor(
81
81
  readonly meta: {
@@ -92,20 +92,20 @@ export class TableBuilder<
92
92
  ) {}
93
93
 
94
94
  /**
95
- * Table set description
95
+ * Table 설명 설정
96
96
  *
97
- * @param desc - Table description (used as DDL Comment)
98
- * @returns new TableBuilder instance
97
+ * @param desc - Table 설명 (DDL Comment로 사용됨)
98
+ * @returns TableBuilder 인스턴스
99
99
  */
100
100
  description(desc: string) {
101
101
  return new TableBuilder({ ...this.meta, description: desc });
102
102
  }
103
103
 
104
104
  /**
105
- * Database set name
105
+ * Database 이름 설정
106
106
  *
107
- * @param db - Database name
108
- * @returns new TableBuilder instance
107
+ * @param db - Database 이름
108
+ * @returns TableBuilder 인스턴스
109
109
  *
110
110
  * @example
111
111
  * ```typescript
@@ -117,12 +117,12 @@ export class TableBuilder<
117
117
  }
118
118
 
119
119
  /**
120
- * schema set name
120
+ * Schema 이름 설정
121
121
  *
122
- * Used in MSSQL, PostgreSQL
122
+ * MSSQL, PostgreSQL에서 사용
123
123
  *
124
- * @param schema - Schema name (MSSQL: dbo, PostgreSQL: public)
125
- * @returns new TableBuilder instance
124
+ * @param schema - Schema 이름 (MSSQL: dbo, PostgreSQL: public)
125
+ * @returns TableBuilder 인스턴스
126
126
  *
127
127
  * @example
128
128
  * ```typescript
@@ -136,13 +136,13 @@ export class TableBuilder<
136
136
  }
137
137
 
138
138
  /**
139
- * Column definition
139
+ * Column 정의
140
140
  *
141
- * Type-safe Column definition through column factory
141
+ * Column factory를 통한 타입 안전한 column 정의
142
142
  *
143
- * @template TNewColumnDefs - New Column definition type
144
- * @param fn - Function that receives a Column factory and returns Column definitions
145
- * @returns new TableBuilder instance
143
+ * @template TNewColumnDefs - Column 정의 타입
144
+ * @param fn - Column factory 받아 column 정의를 반환하는 함수
145
+ * @returns TableBuilder 인스턴스
146
146
  *
147
147
  * @example
148
148
  * ```typescript
@@ -165,19 +165,19 @@ export class TableBuilder<
165
165
  }
166
166
 
167
167
  /**
168
- * Primary Key configuration
168
+ * Primary Key 설정
169
169
  *
170
- * @param columns - Column names composing the PK (composite PK supported)
171
- * @returns new TableBuilder instance
170
+ * @param columns - PK를 구성하는 column 이름 (복합 PK 지원)
171
+ * @returns TableBuilder 인스턴스
172
172
  *
173
173
  * @example
174
174
  * ```typescript
175
- * // Single PK
175
+ * // 단일 PK
176
176
  * const User = Table("User")
177
177
  * .columns((c) => ({ id: c.bigint() }))
178
178
  * .primaryKey("id");
179
179
  *
180
- * // Composite PK
180
+ * // 복합 PK
181
181
  * const UserRole = Table("UserRole")
182
182
  * .columns((c) => ({
183
183
  * userId: c.bigint(),
@@ -194,10 +194,10 @@ export class TableBuilder<
194
194
  }
195
195
 
196
196
  /**
197
- * Index definition
197
+ * Index 정의
198
198
  *
199
- * @param fn - Function that receives an Index factory and returns an Index array
200
- * @returns new TableBuilder instance
199
+ * @param fn - Index factory 받아 index 배열을 반환하는 함수
200
+ * @returns TableBuilder 인스턴스
201
201
  *
202
202
  * @example
203
203
  * ```typescript
@@ -225,13 +225,13 @@ export class TableBuilder<
225
225
  }
226
226
 
227
227
  /**
228
- * Relation definition
228
+ * 관계 정의
229
229
  *
230
- * Set up FK, reverse-references, and other inter-Table relations
230
+ * FK, 역참조 Table 간 관계를 설정
231
231
  *
232
- * @template T - Relation definition type
233
- * @param fn - Function that receives a relation factory and returns relation definitions
234
- * @returns new TableBuilder instance
232
+ * @template T - 관계 정의 타입
233
+ * @param fn - 관계 factory를 받아 관계 정의를 반환하는 함수
234
+ * @returns TableBuilder 인스턴스
235
235
  *
236
236
  * @example
237
237
  * ```typescript
@@ -273,16 +273,16 @@ export class TableBuilder<
273
273
  }
274
274
 
275
275
  // ============================================
276
- // Table function
276
+ // Table 함수
277
277
  // ============================================
278
278
 
279
279
  /**
280
- * Table builder factory function
280
+ * Table builder factory 함수
281
281
  *
282
- * Creates a TableBuilder for defining Table schema via Fluent API
282
+ * Fluent API로 Table schema 정의하기 위한 TableBuilder를 생성
283
283
  *
284
- * @param name - Table name
285
- * @returns TableBuilder instance
284
+ * @param name - Table 이름
285
+ * @returns TableBuilder 인스턴스
286
286
  *
287
287
  * @example
288
288
  * ```typescript
@@ -312,7 +312,7 @@ export class TableBuilder<
312
312
  * }));
313
313
  * ```
314
314
  *
315
- * @see {@link TableBuilder} builder class
315
+ * @see {@link TableBuilder} builder 클래스
316
316
  */
317
317
  export function Table(name: string) {
318
318
  return new TableBuilder({ name });
@@ -12,14 +12,14 @@ import {
12
12
  // ============================================
13
13
 
14
14
  /**
15
- * Database View definition builder
15
+ * Database View 정의 builder
16
16
  *
17
- * Define View query and relations via Fluent API
18
- * Use with DbContext's queryable() for type-safe query composition
17
+ * Fluent API로 View query 관계를 정의
18
+ * DbContext queryable() 함께 사용하여 타입 안전한 query 구성
19
19
  *
20
- * @template TDbContext - DbContext type
21
- * @template TData - View data record type
22
- * @template TRelations - Relation definition record type
20
+ * @template TDbContext - DbContext 타입
21
+ * @template TData - View 데이터 레코드 타입
22
+ * @template TRelations - 관계 정의 레코드 타입
23
23
  *
24
24
  * @example
25
25
  * ```typescript
@@ -44,27 +44,27 @@ import {
44
44
  * }
45
45
  * ```
46
46
  *
47
- * @see {@link View} factory function
48
- * @see {@link queryable} Queryable Generate
47
+ * @see {@link View} factory 함수
48
+ * @see {@link queryable} Queryable 생성
49
49
  */
50
50
  export class ViewBuilder<
51
51
  TDbContext extends DbContextBase,
52
52
  TData extends DataRecord,
53
53
  TRelations extends RelationBuilderRecord,
54
54
  > {
55
- /** Relation definition (type for inference) */
55
+ /** 관계 정의 (타입 추론용) */
56
56
  readonly $relations!: TRelations;
57
- /** Full Type inference */
57
+ /** 전체 타입 추론 */
58
58
  readonly $inferSelect!: TData;
59
59
 
60
60
  /**
61
- * @param meta - View Metadata
62
- * @param meta.name - View name
63
- * @param meta.description - View description (comment)
64
- * @param meta.database - Database name
65
- * @param meta.schema - Schema name (MSSQL/PostgreSQL)
66
- * @param meta.viewFn - View Query definition function
67
- * @param meta.relations - Relation definition
61
+ * @param meta - View 메타데이터
62
+ * @param meta.name - View 이름
63
+ * @param meta.description - View 설명 (comment)
64
+ * @param meta.database - Database 이름
65
+ * @param meta.schema - Schema 이름 (MSSQL/PostgreSQL)
66
+ * @param meta.viewFn - View query 정의 함수
67
+ * @param meta.relations - 관계 정의
68
68
  */
69
69
  constructor(
70
70
  readonly meta: {
@@ -78,20 +78,20 @@ export class ViewBuilder<
78
78
  ) {}
79
79
 
80
80
  /**
81
- * View set description
81
+ * View 설명 설정
82
82
  *
83
- * @param desc - View description (used as DDL Comment)
84
- * @returns new ViewBuilder instance
83
+ * @param desc - View 설명 (DDL Comment로 사용됨)
84
+ * @returns ViewBuilder 인스턴스
85
85
  */
86
86
  description(desc: string): ViewBuilder<TDbContext, TData, TRelations> {
87
87
  return new ViewBuilder({ ...this.meta, description: desc });
88
88
  }
89
89
 
90
90
  /**
91
- * Database set name
91
+ * Database 이름 설정
92
92
  *
93
- * @param db - Database name
94
- * @returns new ViewBuilder instance
93
+ * @param db - Database 이름
94
+ * @returns ViewBuilder 인스턴스
95
95
  *
96
96
  * @example
97
97
  * ```typescript
@@ -103,26 +103,26 @@ export class ViewBuilder<
103
103
  }
104
104
 
105
105
  /**
106
- * schema set name
106
+ * Schema 이름 설정
107
107
  *
108
- * Used in MSSQL, PostgreSQL
108
+ * MSSQL, PostgreSQL에서 사용
109
109
  *
110
- * @param schema - Schema name (MSSQL: dbo, PostgreSQL: public)
111
- * @returns new ViewBuilder instance
110
+ * @param schema - Schema 이름 (MSSQL: dbo, PostgreSQL: public)
111
+ * @returns ViewBuilder 인스턴스
112
112
  */
113
113
  schema(schema: string): ViewBuilder<TDbContext, TData, TRelations> {
114
114
  return new ViewBuilder({ ...this.meta, schema });
115
115
  }
116
116
 
117
117
  /**
118
- * View Query definition
118
+ * View query 정의
119
119
  *
120
- * Define the View's data source through a SELECT query
120
+ * SELECT query를 통해 View 데이터 소스를 정의
121
121
  *
122
- * @template TViewData - View data type
123
- * @template TDb - DbContext type
124
- * @param viewFn - Function that receives a DbContext and returns a Queryable
125
- * @returns new ViewBuilder instance
122
+ * @template TViewData - View 데이터 타입
123
+ * @template TDb - DbContext 타입
124
+ * @param viewFn - DbContext 받아 Queryable을 반환하는 함수
125
+ * @returns ViewBuilder 인스턴스
126
126
  *
127
127
  * @example
128
128
  * ```typescript
@@ -146,13 +146,13 @@ export class ViewBuilder<
146
146
  }
147
147
 
148
148
  /**
149
- * Relation definition
149
+ * 관계 정의
150
150
  *
151
- * Set up relations with other Tables/Views
151
+ * 다른 Table/View와의 관계를 설정
152
152
  *
153
- * @template T - Relation definition type
154
- * @param fn - Function that receives a relation factory and returns relation definitions
155
- * @returns new ViewBuilder instance
153
+ * @template T - 관계 정의 타입
154
+ * @param fn - 관계 factory를 받아 관계 정의를 반환하는 함수
155
+ * @returns ViewBuilder 인스턴스
156
156
  *
157
157
  * @example
158
158
  * ```typescript
@@ -179,16 +179,16 @@ export class ViewBuilder<
179
179
  }
180
180
 
181
181
  // ============================================
182
- // View function
182
+ // View 함수
183
183
  // ============================================
184
184
 
185
185
  /**
186
- * View builder factory function
186
+ * View builder factory 함수
187
187
  *
188
- * Creates a ViewBuilder for defining View schema via Fluent API
188
+ * Fluent API로 View schema 정의하기 위한 ViewBuilder를 생성
189
189
  *
190
- * @param name - View name
191
- * @returns ViewBuilder instance
190
+ * @param name - View 이름
191
+ * @returns ViewBuilder 인스턴스
192
192
  *
193
193
  * @example
194
194
  * ```typescript
@@ -201,7 +201,7 @@ export class ViewBuilder<
201
201
  * .select(u => ({ id: u.id, name: u.name }))
202
202
  * );
203
203
  *
204
- * // aggregation View
204
+ * // 집계 View
205
205
  * const UserStats = View("UserStats")
206
206
  * .database("mydb")
207
207
  * .query((db: MyDb) =>
@@ -214,7 +214,7 @@ export class ViewBuilder<
214
214
  * );
215
215
  * ```
216
216
  *
217
- * @see {@link ViewBuilder} builder class
217
+ * @see {@link ViewBuilder} builder 클래스
218
218
  */
219
219
  export function View(name: string) {
220
220
  return new ViewBuilder({ name });
@@ -157,7 +157,7 @@ export function inferColumnPrimitiveStr(value: ColumnPrimitive): ColumnPrimitive
157
157
  if (value instanceof Time) return "Time";
158
158
  if (value instanceof Uuid) return "Uuid";
159
159
  if (value instanceof Uint8Array) return "Bytes";
160
- throw new Error(`Unknown value type: ${typeof value}`);
160
+ throw new Error(`알 없는 값 타입: ${typeof value}`);
161
161
  }
162
162
 
163
163
  // ============================================
@@ -8,11 +8,11 @@ import type { DataRecord, IsolationLevel, Migration, ResultMeta } from "./db";
8
8
  import type { QueryDef, QueryDefObjectName } from "./query-def";
9
9
 
10
10
  /**
11
- * DbContext core interface
11
+ * DbContext 핵심 인터페이스
12
12
  *
13
- * Internal interface used by Queryable, Executable, and ViewBuilder.
14
- * Both the old DbContext class and new createDbContext return objects
15
- * that satisfy this interface.
13
+ * Queryable, Executable, ViewBuilder에서 사용하는 내부 인터페이스.
14
+ * 기존 DbContext 클래스와 새로운 createDbContext 반환 객체 모두
15
+ * 인터페이스를 만족함.
16
16
  */
17
17
  export interface DbContextBase {
18
18
  status: DbContextStatus;
@@ -33,9 +33,9 @@ export interface DbContextBase {
33
33
  export type DbContextStatus = "ready" | "connect" | "transact";
34
34
 
35
35
  /**
36
- * DbContext definition (blueprint)
36
+ * DbContext 정의 (blueprint)
37
37
  *
38
- * Created by defineDbContext(). Contains schema metadata but no runtime state.
38
+ * defineDbContext() 생성됨. Schema 메타데이터만 포함하며 런타임 상태는 없음.
39
39
  */
40
40
  export interface DbContextDef<
41
41
  TTables extends Record<string, TableBuilder<any, any>>,
@@ -51,35 +51,35 @@ export interface DbContextDef<
51
51
  }
52
52
 
53
53
  /**
54
- * Full DbContext instance type (created by createDbContext)
54
+ * 전체 DbContext 인스턴스 타입 (createDbContext로 생성)
55
55
  *
56
- * Extends DbContextBase with queryable accessors, DDL methods,
57
- * and connection/transaction management.
56
+ * DbContextBase queryable 접근자, DDL 메서드,
57
+ * 연결/트랜잭션 관리로 확장.
58
58
  */
59
59
  export type DbContextInstance<TDef extends DbContextDef<any, any, any>> = DbContextBase &
60
60
  DbContextConnectionMethods &
61
61
  DbContextDdlMethods & {
62
- // Auto-mapped table queryable accessors
62
+ // 자동 매핑된 table queryable 접근자
63
63
  [K in keyof TDef["meta"]["tables"]]: () => import("../exec/queryable").Queryable<
64
64
  TDef["meta"]["tables"][K]["$inferSelect"],
65
65
  TDef["meta"]["tables"][K]
66
66
  >;
67
67
  } & {
68
- // Auto-mapped view queryable accessors
68
+ // 자동 매핑된 view queryable 접근자
69
69
  [K in keyof TDef["meta"]["views"]]: () => import("../exec/queryable").Queryable<
70
70
  TDef["meta"]["views"][K]["$inferSelect"],
71
71
  never
72
72
  >;
73
73
  } & {
74
- // Auto-mapped procedure executable accessors
74
+ // 자동 매핑된 procedure executable 접근자
75
75
  [K in keyof TDef["meta"]["procedures"]]: () => import("../exec/executable").Executable<
76
76
  TDef["meta"]["procedures"][K]["$params"],
77
77
  TDef["meta"]["procedures"][K]["$returns"]
78
78
  >;
79
79
  } & {
80
- // System table
80
+ // 시스템 table
81
81
  _migration: () => import("../exec/queryable").Queryable<{ code: string }, any>;
82
- // Initialization
82
+ // 초기화
83
83
  initialize(options?: { dbs?: string[]; force?: boolean }): Promise<void>;
84
84
  };
85
85
 
@@ -123,7 +123,7 @@ export interface DbContextDdlMethods {
123
123
  schemaExists(database: string, schema?: string): Promise<boolean>;
124
124
  truncate(table: QueryDefObjectName): Promise<void>;
125
125
  switchFk(table: QueryDefObjectName, enabled: boolean): Promise<void>;
126
- // QueryDef generators
126
+ // QueryDef 생성기
127
127
  getCreateTableQueryDef(table: TableBuilder<any, any>): QueryDef;
128
128
  getCreateViewQueryDef(view: ViewBuilder<any, any, any>): QueryDef;
129
129
  getCreateProcQueryDef(procedure: ProcedureBuilder<any, any>): QueryDef;