@simplysm/orm-common 13.0.69 → 13.0.71

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 (204) hide show
  1. package/README.md +54 -1447
  2. package/dist/create-db-context.d.ts +10 -10
  3. package/dist/create-db-context.js +9 -9
  4. package/dist/create-db-context.js.map +1 -1
  5. package/dist/ddl/column-ddl.d.ts +4 -4
  6. package/dist/ddl/initialize.d.ts +17 -17
  7. package/dist/ddl/initialize.js +2 -2
  8. package/dist/ddl/initialize.js.map +1 -1
  9. package/dist/ddl/relation-ddl.d.ts +6 -6
  10. package/dist/ddl/schema-ddl.d.ts +4 -4
  11. package/dist/ddl/table-ddl.d.ts +24 -24
  12. package/dist/ddl/table-ddl.js +4 -4
  13. package/dist/ddl/table-ddl.js.map +1 -1
  14. package/dist/errors/db-transaction-error.d.ts +15 -15
  15. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  16. package/dist/exec/executable.d.ts +23 -23
  17. package/dist/exec/executable.js +3 -3
  18. package/dist/exec/executable.js.map +1 -1
  19. package/dist/exec/queryable.d.ts +160 -160
  20. package/dist/exec/queryable.js +119 -119
  21. package/dist/exec/queryable.js.map +1 -1
  22. package/dist/exec/search-parser.d.ts +37 -37
  23. package/dist/exec/search-parser.d.ts.map +1 -1
  24. package/dist/expr/expr-unit.d.ts +4 -4
  25. package/dist/expr/expr.d.ts +257 -257
  26. package/dist/expr/expr.js +265 -265
  27. package/dist/expr/expr.js.map +1 -1
  28. package/dist/query-builder/base/expr-renderer-base.d.ts +9 -9
  29. package/dist/query-builder/base/expr-renderer-base.js +2 -2
  30. package/dist/query-builder/base/expr-renderer-base.js.map +1 -1
  31. package/dist/query-builder/base/query-builder-base.d.ts +26 -26
  32. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  33. package/dist/query-builder/base/query-builder-base.js +22 -22
  34. package/dist/query-builder/base/query-builder-base.js.map +1 -1
  35. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  36. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  37. package/dist/query-builder/mssql/mssql-expr-renderer.js +18 -18
  38. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  39. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  40. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  41. package/dist/query-builder/mssql/mssql-query-builder.js +11 -11
  42. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
  43. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  44. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  45. package/dist/query-builder/mysql/mysql-expr-renderer.js +17 -17
  46. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
  47. package/dist/query-builder/mysql/mysql-query-builder.d.ts +8 -8
  48. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  49. package/dist/query-builder/mysql/mysql-query-builder.js +5 -5
  50. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  51. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  52. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  53. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +17 -17
  54. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
  55. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +5 -5
  56. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  57. package/dist/query-builder/postgresql/postgresql-query-builder.js +8 -8
  58. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  59. package/dist/query-builder/query-builder.d.ts +1 -1
  60. package/dist/schema/factory/column-builder.d.ts +79 -79
  61. package/dist/schema/factory/column-builder.js +42 -42
  62. package/dist/schema/factory/index-builder.d.ts +39 -39
  63. package/dist/schema/factory/index-builder.js +26 -26
  64. package/dist/schema/factory/relation-builder.d.ts +99 -99
  65. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  66. package/dist/schema/factory/relation-builder.js +38 -38
  67. package/dist/schema/procedure-builder.d.ts +49 -49
  68. package/dist/schema/procedure-builder.d.ts.map +1 -1
  69. package/dist/schema/procedure-builder.js +33 -33
  70. package/dist/schema/table-builder.d.ts +59 -59
  71. package/dist/schema/table-builder.d.ts.map +1 -1
  72. package/dist/schema/table-builder.js +43 -43
  73. package/dist/schema/view-builder.d.ts +49 -49
  74. package/dist/schema/view-builder.d.ts.map +1 -1
  75. package/dist/schema/view-builder.js +32 -32
  76. package/dist/types/column.d.ts +22 -22
  77. package/dist/types/column.js +1 -1
  78. package/dist/types/column.js.map +1 -1
  79. package/dist/types/db.d.ts +40 -40
  80. package/dist/types/expr.d.ts +59 -59
  81. package/dist/types/expr.d.ts.map +1 -1
  82. package/dist/types/query-def.d.ts +44 -44
  83. package/dist/types/query-def.d.ts.map +1 -1
  84. package/dist/utils/result-parser.d.ts +11 -11
  85. package/dist/utils/result-parser.js +3 -3
  86. package/dist/utils/result-parser.js.map +1 -1
  87. package/package.json +5 -5
  88. package/src/create-db-context.ts +20 -20
  89. package/src/ddl/column-ddl.ts +4 -4
  90. package/src/ddl/initialize.ts +259 -259
  91. package/src/ddl/relation-ddl.ts +89 -89
  92. package/src/ddl/schema-ddl.ts +4 -4
  93. package/src/ddl/table-ddl.ts +189 -189
  94. package/src/errors/db-transaction-error.ts +13 -13
  95. package/src/exec/executable.ts +25 -25
  96. package/src/exec/queryable.ts +2033 -2033
  97. package/src/exec/search-parser.ts +57 -57
  98. package/src/expr/expr-unit.ts +4 -4
  99. package/src/expr/expr.ts +2140 -2140
  100. package/src/query-builder/base/expr-renderer-base.ts +237 -237
  101. package/src/query-builder/base/query-builder-base.ts +213 -213
  102. package/src/query-builder/mssql/mssql-expr-renderer.ts +607 -607
  103. package/src/query-builder/mssql/mssql-query-builder.ts +650 -650
  104. package/src/query-builder/mysql/mysql-expr-renderer.ts +613 -613
  105. package/src/query-builder/mysql/mysql-query-builder.ts +759 -759
  106. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +611 -611
  107. package/src/query-builder/postgresql/postgresql-query-builder.ts +686 -686
  108. package/src/query-builder/query-builder.ts +19 -19
  109. package/src/schema/factory/column-builder.ts +423 -423
  110. package/src/schema/factory/index-builder.ts +164 -164
  111. package/src/schema/factory/relation-builder.ts +453 -453
  112. package/src/schema/procedure-builder.ts +232 -232
  113. package/src/schema/table-builder.ts +319 -319
  114. package/src/schema/view-builder.ts +221 -221
  115. package/src/types/column.ts +188 -188
  116. package/src/types/db.ts +208 -208
  117. package/src/types/expr.ts +697 -697
  118. package/src/types/query-def.ts +513 -513
  119. package/src/utils/result-parser.ts +458 -458
  120. package/tests/db-context/create-db-context.spec.ts +224 -0
  121. package/tests/db-context/define-db-context.spec.ts +68 -0
  122. package/tests/ddl/basic.expected.ts +341 -0
  123. package/tests/ddl/basic.spec.ts +714 -0
  124. package/tests/ddl/column-builder.expected.ts +310 -0
  125. package/tests/ddl/column-builder.spec.ts +637 -0
  126. package/tests/ddl/index-builder.expected.ts +38 -0
  127. package/tests/ddl/index-builder.spec.ts +202 -0
  128. package/tests/ddl/procedure-builder.expected.ts +52 -0
  129. package/tests/ddl/procedure-builder.spec.ts +234 -0
  130. package/tests/ddl/relation-builder.expected.ts +36 -0
  131. package/tests/ddl/relation-builder.spec.ts +372 -0
  132. package/tests/ddl/table-builder.expected.ts +113 -0
  133. package/tests/ddl/table-builder.spec.ts +433 -0
  134. package/tests/ddl/view-builder.expected.ts +38 -0
  135. package/tests/ddl/view-builder.spec.ts +176 -0
  136. package/tests/dml/delete.expected.ts +96 -0
  137. package/tests/dml/delete.spec.ts +160 -0
  138. package/tests/dml/insert.expected.ts +192 -0
  139. package/tests/dml/insert.spec.ts +288 -0
  140. package/tests/dml/update.expected.ts +176 -0
  141. package/tests/dml/update.spec.ts +318 -0
  142. package/tests/dml/upsert.expected.ts +215 -0
  143. package/tests/dml/upsert.spec.ts +242 -0
  144. package/tests/errors/queryable-errors.spec.ts +177 -0
  145. package/tests/escape.spec.ts +100 -0
  146. package/tests/examples/pivot.expected.ts +211 -0
  147. package/tests/examples/pivot.spec.ts +533 -0
  148. package/tests/examples/sampling.expected.ts +69 -0
  149. package/tests/examples/sampling.spec.ts +105 -0
  150. package/tests/examples/unpivot.expected.ts +120 -0
  151. package/tests/examples/unpivot.spec.ts +226 -0
  152. package/tests/exec/search-parser.spec.ts +283 -0
  153. package/tests/executable/basic.expected.ts +18 -0
  154. package/tests/executable/basic.spec.ts +54 -0
  155. package/tests/expr/comparison.expected.ts +282 -0
  156. package/tests/expr/comparison.spec.ts +400 -0
  157. package/tests/expr/conditional.expected.ts +134 -0
  158. package/tests/expr/conditional.spec.ts +276 -0
  159. package/tests/expr/date.expected.ts +332 -0
  160. package/tests/expr/date.spec.ts +526 -0
  161. package/tests/expr/math.expected.ts +62 -0
  162. package/tests/expr/math.spec.ts +106 -0
  163. package/tests/expr/string.expected.ts +218 -0
  164. package/tests/expr/string.spec.ts +356 -0
  165. package/tests/expr/utility.expected.ts +147 -0
  166. package/tests/expr/utility.spec.ts +182 -0
  167. package/tests/select/basic.expected.ts +322 -0
  168. package/tests/select/basic.spec.ts +502 -0
  169. package/tests/select/filter.expected.ts +357 -0
  170. package/tests/select/filter.spec.ts +1068 -0
  171. package/tests/select/group.expected.ts +169 -0
  172. package/tests/select/group.spec.ts +244 -0
  173. package/tests/select/join.expected.ts +582 -0
  174. package/tests/select/join.spec.ts +805 -0
  175. package/tests/select/order.expected.ts +150 -0
  176. package/tests/select/order.spec.ts +189 -0
  177. package/tests/select/recursive-cte.expected.ts +244 -0
  178. package/tests/select/recursive-cte.spec.ts +514 -0
  179. package/tests/select/result-meta.spec.ts +270 -0
  180. package/tests/select/subquery.expected.ts +363 -0
  181. package/tests/select/subquery.spec.ts +537 -0
  182. package/tests/select/view.expected.ts +155 -0
  183. package/tests/select/view.spec.ts +235 -0
  184. package/tests/select/window.expected.ts +345 -0
  185. package/tests/select/window.spec.ts +618 -0
  186. package/tests/setup/MockExecutor.ts +18 -0
  187. package/tests/setup/TestDbContext.ts +59 -0
  188. package/tests/setup/models/Company.ts +13 -0
  189. package/tests/setup/models/Employee.ts +10 -0
  190. package/tests/setup/models/MonthlySales.ts +11 -0
  191. package/tests/setup/models/Post.ts +16 -0
  192. package/tests/setup/models/Sales.ts +10 -0
  193. package/tests/setup/models/User.ts +19 -0
  194. package/tests/setup/procedure/GetAllUsers.ts +9 -0
  195. package/tests/setup/procedure/GetUserById.ts +12 -0
  196. package/tests/setup/test-utils.ts +72 -0
  197. package/tests/setup/views/ActiveUsers.ts +8 -0
  198. package/tests/setup/views/UserSummary.ts +11 -0
  199. package/tests/types/nullable-queryable-record.spec.ts +145 -0
  200. package/tests/utils/result-parser-perf.spec.ts +210 -0
  201. package/tests/utils/result-parser.spec.ts +701 -0
  202. package/docs/expressions.md +0 -172
  203. package/docs/queries.md +0 -444
  204. package/docs/schema.md +0 -245
@@ -2,30 +2,30 @@ import { type InferColumns } from "./column-builder";
2
2
  import type { TableBuilder } from "../table-builder";
3
3
  import type { ViewBuilder } from "../view-builder";
4
4
  /**
5
- * Foreign Key 관계 빌더 (N:1)
5
+ * Foreign Key relationship builder (N:1)
6
6
  *
7
- * 현재 테이블에서 참조 테이블로의 FK 관계 정의
8
- * DB에 실제 FK 제약조건 생성
7
+ * 현재 Table에서 참조 Table로의 FK relationship definition
8
+ * DB에 실제 FK constraint Generate
9
9
  *
10
- * @template TOwner - 소유 테이블 빌더 타입
11
- * @template TTargetFn - 참조 테이블 빌더 팩토리 타입
10
+ * @template TOwner - 소유 Table builder type
11
+ * @template TTargetFn - 참조 Table builder factory type
12
12
  *
13
13
  * @example
14
14
  * ```typescript
15
15
  * const Post = Table("Post")
16
16
  * .columns((c) => ({
17
17
  * id: c.bigint().autoIncrement(),
18
- * authorId: c.bigint(), // FK 컬럼
18
+ * authorId: c.bigint(), // FK column
19
19
  * }))
20
20
  * .primaryKey("id")
21
21
  * .relations((r) => ({
22
- * // N:1 관계 - Post → User
22
+ * // N:1 relationship - Post → User
23
23
  * author: r.foreignKey(["authorId"], () => User),
24
24
  * }));
25
25
  * ```
26
26
  *
27
- * @see {@link ForeignKeyTargetBuilder} 역참조 빌더
28
- * @see {@link RelationKeyBuilder} DB FK 없는 관계
27
+ * @see {@link ForeignKeyTargetBuilder} 역참조 builder
28
+ * @see {@link RelationKeyBuilder} DB FK 없는 relationship
29
29
  */
30
30
  export declare class ForeignKeyBuilder<TOwner extends TableBuilder<any, any>, TTargetFn extends () => TableBuilder<any, any>> {
31
31
  readonly meta: {
@@ -35,11 +35,11 @@ export declare class ForeignKeyBuilder<TOwner extends TableBuilder<any, any>, TT
35
35
  description?: string;
36
36
  };
37
37
  /**
38
- * @param meta - FK 메타데이터
39
- * @param meta.ownerFn - 소유 테이블 팩토리
40
- * @param meta.columns - FK 컬럼명 배열
41
- * @param meta.targetFn - 참조 테이블 팩토리
42
- * @param meta.description - 관계 설명
38
+ * @param meta - FK Metadata
39
+ * @param meta.ownerFn - 소유 Table factory
40
+ * @param meta.columns - FK column명 array
41
+ * @param meta.targetFn - 참조 Table factory
42
+ * @param meta.description - relationship description
43
43
  */
44
44
  constructor(meta: {
45
45
  ownerFn: () => TOwner;
@@ -48,21 +48,21 @@ export declare class ForeignKeyBuilder<TOwner extends TableBuilder<any, any>, TT
48
48
  description?: string;
49
49
  });
50
50
  /**
51
- * 관계 설명 설정
51
+ * relationship set description
52
52
  *
53
- * @param desc - 관계 설명
54
- * @returns 새 ForeignKeyBuilder 인스턴스
53
+ * @param desc - relationship description
54
+ * @returns 새 ForeignKeyBuilder instance
55
55
  */
56
56
  description(desc: string): ForeignKeyBuilder<TOwner, TTargetFn>;
57
57
  }
58
58
  /**
59
- * Foreign Key 역참조 빌더 (1:N)
59
+ * Foreign Key 역참조 builder (1:N)
60
60
  *
61
- * 다른 테이블에서 현재 테이블을 참조하는 FK의 역참조 정의
62
- * include() 시 배열로 로드 (single() 호출 시 단일 객체)
61
+ * 다른 Table에서 현재 Table을 참조하는 FK의 역참조 definition
62
+ * include() 시 배열로 로드 (single() 호출 시 단일 object)
63
63
  *
64
- * @template TTargetTableFn - 참조하는 테이블 빌더 팩토리 타입
65
- * @template TIsSingle - 단일 객체 여부
64
+ * @template TTargetTableFn - 참조하는 Table builder factory type
65
+ * @template TIsSingle - 단일 object 여부
66
66
  *
67
67
  * @example
68
68
  * ```typescript
@@ -73,15 +73,15 @@ export declare class ForeignKeyBuilder<TOwner extends TableBuilder<any, any>, TT
73
73
  * }))
74
74
  * .primaryKey("id")
75
75
  * .relations((r) => ({
76
- * // 1:N 관계 - User ← Post.author
76
+ * // 1:N relationship - User ← Post.author
77
77
  * posts: r.foreignKeyTarget(() => Post, "author"),
78
78
  *
79
- * // 1:1 관계 (단일 객체)
79
+ * // 1:1 relationship (단일 object)
80
80
  * profile: r.foreignKeyTarget(() => Profile, "user").single(),
81
81
  * }));
82
82
  * ```
83
83
  *
84
- * @see {@link ForeignKeyBuilder} FK 빌더
84
+ * @see {@link ForeignKeyBuilder} FK builder
85
85
  */
86
86
  export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableBuilder<any, any>, TIsSingle extends boolean> {
87
87
  readonly meta: {
@@ -91,11 +91,11 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
91
91
  isSingle?: TIsSingle;
92
92
  };
93
93
  /**
94
- * @param meta - FK 역참조 메타데이터
95
- * @param meta.targetTableFn - 참조하는 테이블 팩토리
96
- * @param meta.relationName - 참조하는 테이블의 FK 관계명
97
- * @param meta.description - 관계 설명
98
- * @param meta.isSingle - 단일 객체 여부
94
+ * @param meta - FK 역참조 Metadata
95
+ * @param meta.targetTableFn - 참조하는 Table factory
96
+ * @param meta.relationName - 참조하는 Table의 FK 관계명
97
+ * @param meta.description - relationship description
98
+ * @param meta.isSingle - 단일 object 여부
99
99
  */
100
100
  constructor(meta: {
101
101
  targetTableFn: TTargetTableFn;
@@ -104,18 +104,18 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
104
104
  isSingle?: TIsSingle;
105
105
  });
106
106
  /**
107
- * 관계 설명 설정
107
+ * relationship set description
108
108
  *
109
- * @param desc - 관계 설명
110
- * @returns 새 ForeignKeyTargetBuilder 인스턴스
109
+ * @param desc - relationship description
110
+ * @returns 새 ForeignKeyTargetBuilder instance
111
111
  */
112
112
  description(desc: string): ForeignKeyTargetBuilder<TTargetTableFn, TIsSingle>;
113
113
  /**
114
- * 단일 객체 관계로 설정 (1:1)
114
+ * 단일 object 관계로 설정 (1:1)
115
115
  *
116
- * 기본은 배열 (1:N), single() 호출 시 단일 객체
116
+ * Basic은 array (1:N), single() 호출 시 단일 object
117
117
  *
118
- * @returns 새 ForeignKeyTargetBuilder 인스턴스 (isSingle=true)
118
+ * @returns 새 ForeignKeyTargetBuilder instance (isSingle=true)
119
119
  *
120
120
  * @example
121
121
  * ```typescript
@@ -125,25 +125,25 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
125
125
  single(): ForeignKeyTargetBuilder<TTargetTableFn, true>;
126
126
  }
127
127
  /**
128
- * 논리적 관계 빌더 (N:1) - DB FK 미생성
128
+ * 논리적 relationship builder (N:1) - DB FK 미생성
129
129
  *
130
130
  * ForeignKeyBuilder와 동일하지만 DB에 FK 제약조건을 생성하지 않음
131
- * (View)에서도 사용 가능
131
+ * View(View)에서도 사용 가능
132
132
  *
133
- * @template TOwner - 소유 테이블/뷰 빌더 타입
134
- * @template TTargetFn - 참조 테이블/뷰 빌더 팩토리 타입
133
+ * @template TOwner - 소유 Table/View builder type
134
+ * @template TTargetFn - 참조 Table/View builder factory type
135
135
  *
136
136
  * @example
137
137
  * ```typescript
138
- * // 뷰에서 테이블로 관계 정의
138
+ * // View에서 Table로 relationship definition
139
139
  * const UserSummary = View("UserSummary")
140
140
  * .query((db: MyDb) => db.user().select(...))
141
141
  * .relations((r) => ({
142
- * // 테이블 (FK 미생성)
142
+ * // ViewTable (FK 미생성)
143
143
  * company: r.relationKey(["companyId"], () => Company),
144
144
  * }));
145
145
  *
146
- * // 테이블에서 FK 없이 관계 정의
146
+ * // Table에서 FK 없이 relationship definition
147
147
  * const Report = Table("Report")
148
148
  * .columns((c) => ({ userId: c.bigint() }))
149
149
  * .relations((r) => ({
@@ -151,7 +151,7 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
151
151
  * }));
152
152
  * ```
153
153
  *
154
- * @see {@link ForeignKeyBuilder} DB FK 생성 버전
154
+ * @see {@link ForeignKeyBuilder} DB FK Generate 버전
155
155
  */
156
156
  export declare class RelationKeyBuilder<TOwner extends TableBuilder<any, any> | ViewBuilder<any, any, any>, TTargetFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>> {
157
157
  readonly meta: {
@@ -161,11 +161,11 @@ export declare class RelationKeyBuilder<TOwner extends TableBuilder<any, any> |
161
161
  description?: string;
162
162
  };
163
163
  /**
164
- * @param meta - 관계 메타데이터
165
- * @param meta.ownerFn - 소유 테이블/뷰 팩토리
166
- * @param meta.columns - 관계 컬럼명 배열
167
- * @param meta.targetFn - 참조 테이블/뷰 팩토리
168
- * @param meta.description - 관계 설명
164
+ * @param meta - relationship Metadata
165
+ * @param meta.ownerFn - 소유 Table/View factory
166
+ * @param meta.columns - relationship column명 array
167
+ * @param meta.targetFn - 참조 Table/View factory
168
+ * @param meta.description - relationship description
169
169
  */
170
170
  constructor(meta: {
171
171
  ownerFn: () => TOwner;
@@ -174,21 +174,21 @@ export declare class RelationKeyBuilder<TOwner extends TableBuilder<any, any> |
174
174
  description?: string;
175
175
  });
176
176
  /**
177
- * 관계 설명 설정
177
+ * relationship set description
178
178
  *
179
- * @param desc - 관계 설명
180
- * @returns 새 RelationKeyBuilder 인스턴스
179
+ * @param desc - relationship description
180
+ * @returns 새 RelationKeyBuilder instance
181
181
  */
182
182
  description(desc: string): RelationKeyBuilder<TOwner, TTargetFn>;
183
183
  }
184
184
  /**
185
- * 논리적 관계 역참조 빌더 (1:N) - DB FK 미생성
185
+ * 논리적 relationship 역참조 builder (1:N) - DB FK 미생성
186
186
  *
187
187
  * ForeignKeyTargetBuilder와 동일하지만 DB에 FK 제약조건을 생성하지 않음
188
- * (View)에서도 사용 가능
188
+ * View(View)에서도 사용 가능
189
189
  *
190
- * @template TTargetTableFn - 참조하는 테이블/뷰 빌더 팩토리 타입
191
- * @template TIsSingle - 단일 객체 여부
190
+ * @template TTargetTableFn - 참조하는 Table/View builder factory type
191
+ * @template TIsSingle - 단일 object 여부
192
192
  *
193
193
  * @example
194
194
  * ```typescript
@@ -200,7 +200,7 @@ export declare class RelationKeyBuilder<TOwner extends TableBuilder<any, any> |
200
200
  * }));
201
201
  * ```
202
202
  *
203
- * @see {@link ForeignKeyTargetBuilder} DB FK 생성 버전
203
+ * @see {@link ForeignKeyTargetBuilder} DB FK Generate 버전
204
204
  */
205
205
  export declare class RelationKeyTargetBuilder<TTargetTableFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>, TIsSingle extends boolean> {
206
206
  readonly meta: {
@@ -210,11 +210,11 @@ export declare class RelationKeyTargetBuilder<TTargetTableFn extends () => Table
210
210
  isSingle?: TIsSingle;
211
211
  };
212
212
  /**
213
- * @param meta - 관계 역참조 메타데이터
214
- * @param meta.targetTableFn - 참조하는 테이블/뷰 팩토리
215
- * @param meta.relationName - 참조하는 테이블/뷰의 관계명
216
- * @param meta.description - 관계 설명
217
- * @param meta.isSingle - 단일 객체 여부
213
+ * @param meta - relationship 역참조 Metadata
214
+ * @param meta.targetTableFn - 참조하는 Table/View factory
215
+ * @param meta.relationName - 참조하는 Table/View의 관계명
216
+ * @param meta.description - relationship description
217
+ * @param meta.isSingle - 단일 object 여부
218
218
  */
219
219
  constructor(meta: {
220
220
  targetTableFn: TTargetTableFn;
@@ -223,69 +223,69 @@ export declare class RelationKeyTargetBuilder<TTargetTableFn extends () => Table
223
223
  isSingle?: TIsSingle;
224
224
  });
225
225
  /**
226
- * 관계 설명 설정
226
+ * relationship set description
227
227
  *
228
- * @param desc - 관계 설명
229
- * @returns 새 RelationKeyTargetBuilder 인스턴스
228
+ * @param desc - relationship description
229
+ * @returns 새 RelationKeyTargetBuilder instance
230
230
  */
231
231
  description(desc: string): RelationKeyTargetBuilder<TTargetTableFn, TIsSingle>;
232
232
  /**
233
- * 단일 객체 관계로 설정 (1:1)
233
+ * 단일 object 관계로 설정 (1:1)
234
234
  *
235
- * 기본은 배열 (1:N), single() 호출 시 단일 객체
235
+ * Basic은 array (1:N), single() 호출 시 단일 object
236
236
  *
237
- * @returns 새 RelationKeyTargetBuilder 인스턴스 (isSingle=true)
237
+ * @returns 새 RelationKeyTargetBuilder instance (isSingle=true)
238
238
  */
239
239
  single(): RelationKeyTargetBuilder<TTargetTableFn, true>;
240
240
  }
241
241
  /**
242
- * FK 관계 팩토리 타입 (테이블 전용)
242
+ * FK relationship factory type (table 전용)
243
243
  *
244
- * @template TOwner - 소유 테이블 빌더 타입
245
- * @template TColumnKey - 컬럼 타입
244
+ * @template TOwner - 소유 Table builder type
245
+ * @template TColumnKey - Column key type
246
246
  */
247
247
  type RelationFkFactory<TOwner extends TableBuilder<any, any>, TColumnKey extends string> = {
248
- /** N:1 FK 관계 정의 (DB FK 생성) */
248
+ /** N:1 FK relationship definition (DB FK Create) */
249
249
  foreignKey<TTargetFn extends () => TableBuilder<any, any>>(columns: TColumnKey[], targetFn: TTargetFn): ForeignKeyBuilder<TOwner, TTargetFn>;
250
- /** 1:N FK 역참조 정의 */
250
+ /** 1:N FK 역참조 definition */
251
251
  foreignKeyTarget<TTargetTableFn extends () => TableBuilder<any, any>>(targetTableFn: TTargetTableFn, relationName: string): ForeignKeyTargetBuilder<TTargetTableFn, false>;
252
252
  };
253
253
  /**
254
- * 논리적 관계 팩토리 타입 (테이블/뷰 공용)
254
+ * 논리적 relationship factory type (table/View 공용)
255
255
  *
256
- * @template TOwner - 소유 테이블/뷰 빌더 타입
257
- * @template TColumnKey - 컬럼 타입
256
+ * @template TOwner - 소유 Table/View builder type
257
+ * @template TColumnKey - Column key type
258
258
  */
259
259
  type RelationRkFactory<TOwner extends TableBuilder<any, any> | ViewBuilder<any, any, any>, TColumnKey extends string> = {
260
- /** N:1 논리적 관계 정의 (DB FK 미생성) */
260
+ /** N:1 논리적 relationship definition (DB FK 미생성) */
261
261
  relationKey<TTargetFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>>(columns: TColumnKey[], targetFn: TTargetFn): RelationKeyBuilder<TOwner, TTargetFn>;
262
- /** 1:N 논리적 역참조 정의 */
262
+ /** 1:N 논리적 역참조 definition */
263
263
  relationKeyTarget<TTargetTableFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>>(targetTableFn: TTargetTableFn, relationName: string): RelationKeyTargetBuilder<TTargetTableFn, false>;
264
264
  };
265
265
  /**
266
- * 관계 빌더 팩토리 생성
266
+ * relationship builder factory Generate
267
267
  *
268
- * TableBuilder.relations() 및 ViewBuilder.relations()에서 사용
269
- * 테이블은 FK + RelationKey 모두 사용 가능, 뷰는 RelationKey만 사용 가능
268
+ * TableBuilder.relations() 및 ViewBuilder.relations()used in
269
+ * Table은 FK + RelationKey 모두 사용 가능, View는 RelationKey만 사용 가능
270
270
  *
271
- * @template TOwner - 소유 테이블/뷰 빌더 타입
272
- * @template TColumnKey - 컬럼 타입
273
- * @param ownerFn - 소유 테이블/뷰 팩토리 함수
274
- * @returns 관계 빌더 팩토리
271
+ * @template TOwner - 소유 Table/View builder type
272
+ * @template TColumnKey - Column key type
273
+ * @param ownerFn - 소유 Table/View factory function
274
+ * @returns relationship builder factory
275
275
  *
276
276
  * @example
277
277
  * ```typescript
278
- * // 테이블 - FK, RelationKey 모두 사용 가능
278
+ * // Table - FK, RelationKey 모두 사용 가능
279
279
  * const Post = Table("Post")
280
280
  * .columns((c) => ({
281
281
  * id: c.bigint(),
282
282
  * authorId: c.bigint(),
283
283
  * }))
284
284
  * .relations((r) => ({
285
- * author: r.foreignKey(["authorId"], () => User), // FK 생성
285
+ * author: r.foreignKey(["authorId"], () => User), // FK Generate
286
286
  * }));
287
287
  *
288
- * // - RelationKey만 사용 가능
288
+ * // View - RelationKey만 사용 가능
289
289
  * const UserSummary = View("UserSummary")
290
290
  * .query(...)
291
291
  * .relations((r) => ({
@@ -295,34 +295,34 @@ type RelationRkFactory<TOwner extends TableBuilder<any, any> | ViewBuilder<any,
295
295
  */
296
296
  export declare function createRelationFactory<TOwner extends TableBuilder<any, any> | ViewBuilder<any, any, any>, TColumnKey extends string>(ownerFn: () => TOwner): TOwner extends TableBuilder<any, any> ? RelationFkFactory<TOwner, TColumnKey> & RelationRkFactory<TOwner, TColumnKey> : RelationRkFactory<TOwner, TColumnKey>;
297
297
  /**
298
- * 관계 빌더 레코드 타입
298
+ * relationship builder record type
299
299
  *
300
- * TableBuilder.relations() 및 ViewBuilder.relations()의 반환 타입
300
+ * TableBuilder.relations() 및 ViewBuilder.relations()의 return type
301
301
  */
302
302
  export type RelationBuilderRecord = Record<string, ForeignKeyBuilder<any, any> | ForeignKeyTargetBuilder<any, any> | RelationKeyBuilder<any, any> | RelationKeyTargetBuilder<any, any>>;
303
303
  /**
304
- * FK/RelationKey에서 참조 대상 타입 추출 (단일 객체)
304
+ * FK/RelationKey에서 참조 대상 type 추출 (단일 object)
305
305
  *
306
- * N:1 관계의 참조 대상 타입
306
+ * N:1 관계의 참조 대상 type
307
307
  *
308
- * @template T - FK 또는 RelationKey 빌더 타입
308
+ * @template T - FK 또는 RelationKey builder type
309
309
  */
310
310
  export type ExtractRelationTarget<TRelation> = TRelation extends ForeignKeyBuilder<any, infer TTargetFn> | RelationKeyBuilder<any, infer TTargetFn> ? ReturnType<TTargetFn> extends TableBuilder<infer TCols, infer TRels> ? InferColumns<TCols> & InferDeepRelations<TRels> : ReturnType<TTargetFn> extends ViewBuilder<any, infer TData, infer TRels> ? TData & InferDeepRelations<TRels> : never : never;
311
311
  /**
312
- * FKTarget/RelationKeyTarget에서 참조 대상 타입 추출 (배열 또는 단일 객체)
312
+ * FKTarget/RelationKeyTarget에서 참조 대상 type 추출 (array 또는 단일 object)
313
313
  *
314
- * 1:N 관계의 참조 대상 타입 (single() 호출 시 단일 객체)
314
+ * 1:N 관계의 참조 대상 type (single() 호출 시 단일 object)
315
315
  * TTargetTableFn: () => Post 형태로 lazy evaluation하여 순환참조 방지
316
316
  *
317
- * @template T - FKTarget 또는 RelationKeyTarget 빌더 타입
317
+ * @template T - FKTarget 또는 RelationKeyTarget builder type
318
318
  */
319
319
  export type ExtractRelationTargetResult<TRelation> = TRelation extends ForeignKeyTargetBuilder<infer TTargetTableFn, infer TIsSingle> | RelationKeyTargetBuilder<infer TTargetTableFn, infer TIsSingle> ? ReturnType<TTargetTableFn> extends TableBuilder<infer TCols, infer TRels> ? TIsSingle extends true ? InferColumns<TCols> & InferDeepRelations<TRels> : (InferColumns<TCols> & InferDeepRelations<TRels>)[] : ReturnType<TTargetTableFn> extends ViewBuilder<any, infer TData, infer TRels> ? TIsSingle extends true ? TData & InferDeepRelations<TRels> : (TData & InferDeepRelations<TRels>)[] : never : never;
320
320
  /**
321
- * 관계 정의에서 깊은 관계 타입 추론
321
+ * relationship 정의에서 깊은 relationship Type inference
322
322
  *
323
- * 모든 관계를 optional로 만들어 include() 없이 접근 시 undefined 처리
323
+ * 모든 관계를 optional로 만들어 include() 없이 access 시 undefined processing
324
324
  *
325
- * @template TRelations - 관계 빌더 레코드 타입
325
+ * @template TRelations - relationship builder record type
326
326
  *
327
327
  * @example
328
328
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"relation-builder.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\schema\\factory\\relation-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-builder.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\schema\\factory\\relation-builder.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import {} from "./column-builder.js";
2
2
  class ForeignKeyBuilder {
3
3
  /**
4
- * @param meta - FK 메타데이터
5
- * @param meta.ownerFn - 소유 테이블 팩토리
6
- * @param meta.columns - FK 컬럼명 배열
7
- * @param meta.targetFn - 참조 테이블 팩토리
8
- * @param meta.description - 관계 설명
4
+ * @param meta - FK Metadata
5
+ * @param meta.ownerFn - 소유 Table factory
6
+ * @param meta.columns - FK column명 array
7
+ * @param meta.targetFn - 참조 Table factory
8
+ * @param meta.description - relationship description
9
9
  */
10
10
  constructor(meta) {
11
11
  this.meta = meta;
12
12
  }
13
13
  /**
14
- * 관계 설명 설정
14
+ * relationship set description
15
15
  *
16
- * @param desc - 관계 설명
17
- * @returns 새 ForeignKeyBuilder 인스턴스
16
+ * @param desc - relationship description
17
+ * @returns 새 ForeignKeyBuilder instance
18
18
  */
19
19
  description(desc) {
20
20
  return new ForeignKeyBuilder({ ...this.meta, description: desc });
@@ -22,30 +22,30 @@ class ForeignKeyBuilder {
22
22
  }
23
23
  class ForeignKeyTargetBuilder {
24
24
  /**
25
- * @param meta - FK 역참조 메타데이터
26
- * @param meta.targetTableFn - 참조하는 테이블 팩토리
27
- * @param meta.relationName - 참조하는 테이블의 FK 관계명
28
- * @param meta.description - 관계 설명
29
- * @param meta.isSingle - 단일 객체 여부
25
+ * @param meta - FK 역참조 Metadata
26
+ * @param meta.targetTableFn - 참조하는 Table factory
27
+ * @param meta.relationName - 참조하는 Table의 FK 관계명
28
+ * @param meta.description - relationship description
29
+ * @param meta.isSingle - 단일 object 여부
30
30
  */
31
31
  constructor(meta) {
32
32
  this.meta = meta;
33
33
  }
34
34
  /**
35
- * 관계 설명 설정
35
+ * relationship set description
36
36
  *
37
- * @param desc - 관계 설명
38
- * @returns 새 ForeignKeyTargetBuilder 인스턴스
37
+ * @param desc - relationship description
38
+ * @returns 새 ForeignKeyTargetBuilder instance
39
39
  */
40
40
  description(desc) {
41
41
  return new ForeignKeyTargetBuilder({ ...this.meta, description: desc });
42
42
  }
43
43
  /**
44
- * 단일 객체 관계로 설정 (1:1)
44
+ * 단일 object 관계로 설정 (1:1)
45
45
  *
46
- * 기본은 배열 (1:N), single() 호출 시 단일 객체
46
+ * Basic은 array (1:N), single() 호출 시 단일 object
47
47
  *
48
- * @returns 새 ForeignKeyTargetBuilder 인스턴스 (isSingle=true)
48
+ * @returns 새 ForeignKeyTargetBuilder instance (isSingle=true)
49
49
  *
50
50
  * @example
51
51
  * ```typescript
@@ -58,20 +58,20 @@ class ForeignKeyTargetBuilder {
58
58
  }
59
59
  class RelationKeyBuilder {
60
60
  /**
61
- * @param meta - 관계 메타데이터
62
- * @param meta.ownerFn - 소유 테이블/뷰 팩토리
63
- * @param meta.columns - 관계 컬럼명 배열
64
- * @param meta.targetFn - 참조 테이블/뷰 팩토리
65
- * @param meta.description - 관계 설명
61
+ * @param meta - relationship Metadata
62
+ * @param meta.ownerFn - 소유 Table/View factory
63
+ * @param meta.columns - relationship column명 array
64
+ * @param meta.targetFn - 참조 Table/View factory
65
+ * @param meta.description - relationship description
66
66
  */
67
67
  constructor(meta) {
68
68
  this.meta = meta;
69
69
  }
70
70
  /**
71
- * 관계 설명 설정
71
+ * relationship set description
72
72
  *
73
- * @param desc - 관계 설명
74
- * @returns 새 RelationKeyBuilder 인스턴스
73
+ * @param desc - relationship description
74
+ * @returns 새 RelationKeyBuilder instance
75
75
  */
76
76
  description(desc) {
77
77
  return new RelationKeyBuilder({ ...this.meta, description: desc });
@@ -79,30 +79,30 @@ class RelationKeyBuilder {
79
79
  }
80
80
  class RelationKeyTargetBuilder {
81
81
  /**
82
- * @param meta - 관계 역참조 메타데이터
83
- * @param meta.targetTableFn - 참조하는 테이블/뷰 팩토리
84
- * @param meta.relationName - 참조하는 테이블/뷰의 관계명
85
- * @param meta.description - 관계 설명
86
- * @param meta.isSingle - 단일 객체 여부
82
+ * @param meta - relationship 역참조 Metadata
83
+ * @param meta.targetTableFn - 참조하는 Table/View factory
84
+ * @param meta.relationName - 참조하는 Table/View의 관계명
85
+ * @param meta.description - relationship description
86
+ * @param meta.isSingle - 단일 object 여부
87
87
  */
88
88
  constructor(meta) {
89
89
  this.meta = meta;
90
90
  }
91
91
  /**
92
- * 관계 설명 설정
92
+ * relationship set description
93
93
  *
94
- * @param desc - 관계 설명
95
- * @returns 새 RelationKeyTargetBuilder 인스턴스
94
+ * @param desc - relationship description
95
+ * @returns 새 RelationKeyTargetBuilder instance
96
96
  */
97
97
  description(desc) {
98
98
  return new RelationKeyTargetBuilder({ ...this.meta, description: desc });
99
99
  }
100
100
  /**
101
- * 단일 객체 관계로 설정 (1:1)
101
+ * 단일 object 관계로 설정 (1:1)
102
102
  *
103
- * 기본은 배열 (1:N), single() 호출 시 단일 객체
103
+ * Basic은 array (1:N), single() 호출 시 단일 object
104
104
  *
105
- * @returns 새 RelationKeyTargetBuilder 인스턴스 (isSingle=true)
105
+ * @returns 새 RelationKeyTargetBuilder instance (isSingle=true)
106
106
  */
107
107
  single() {
108
108
  return new RelationKeyTargetBuilder({ ...this.meta, isSingle: true });