@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
@@ -1,94 +1,153 @@
1
- class IndexBuilder {
2
- /**
3
- * @param meta - Index Metadata
4
- * @param meta.columns - Index column array
5
- * @param meta.name - Index name (optional)
6
- * @param meta.unique - Whether it is a unique index
7
- * @param meta.orderBy - Sort order per column
8
- * @param meta.description - Index description
9
- */
10
- constructor(meta) {
11
- this.meta = meta;
12
- }
13
- /**
14
- * Index set name
15
- *
16
- * @param name - Index name
17
- * @returns new IndexBuilder instance
18
- *
19
- * @example
20
- * ```typescript
21
- * i.index("email").name("IX_User_Email")
22
- * ```
23
- */
24
- name(name) {
25
- return new IndexBuilder({ ...this.meta, name });
26
- }
27
- /**
28
- * Unique index configuration
29
- *
30
- * @returns new IndexBuilder instance
31
- *
32
- * @example
33
- * ```typescript
34
- * i.index("email").unique()
35
- * ```
36
- */
37
- unique() {
38
- return new IndexBuilder({ ...this.meta, unique: true });
39
- }
40
- /**
41
- * Sort order configuration
42
- *
43
- * Specify ASC or DESC for each column
44
- *
45
- * @param orderBy - Sort order per column (must match the number of columns)
46
- * @returns new IndexBuilder instance
47
- *
48
- * @example
49
- * ```typescript
50
- * // Single column
51
- * i.index("createdAt").orderBy("DESC")
52
- *
53
- * // Composite column
54
- * i.index("status", "createdAt").orderBy("ASC", "DESC")
55
- * ```
56
- */
57
- orderBy(...orderBy) {
58
- return new IndexBuilder({ ...this.meta, orderBy });
59
- }
60
- /**
61
- * Index set description
62
- *
63
- * @param description - Index description (used as DDL Comment)
64
- * @returns new IndexBuilder instance
65
- */
66
- description(description) {
67
- return new IndexBuilder({ ...this.meta, description });
68
- }
69
- }
70
- function createIndexFactory() {
71
- return {
1
+ // ============================================
2
+ // IndexBuilder
3
+ // ============================================
4
+ /**
5
+ * Index 정의 builder
6
+ *
7
+ * Fluent API로 index column, 유니크 여부, 정렬 순서를 정의
8
+ * TableBuilder.indexes()에서 사용
9
+ *
10
+ * @template TKeys - Index column key 배열 타입
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * Table("User")
15
+ * .columns((c) => ({
16
+ * id: c.bigint(),
17
+ * email: c.varchar(200),
18
+ * name: c.varchar(100),
19
+ * createdAt: c.datetime(),
20
+ * }))
21
+ * .indexes((i) => [
22
+ * // 유니크 index
23
+ * i.index("email").unique(),
24
+ *
25
+ * // 복합 index + 정렬 순서
26
+ * i.index("name", "createdAt").orderBy("ASC", "DESC"),
27
+ *
28
+ * // 커스텀 이름
29
+ * i.index("createdAt").name("IX_User_CreatedAt"),
30
+ * ]);
31
+ * ```
32
+ *
33
+ * @see {@link createIndexFactory} Index factory
34
+ * @see {@link TableBuilder} Table builder
35
+ */
36
+ export class IndexBuilder {
37
+ meta;
38
+ /**
39
+ * @param meta - Index 메타데이터
40
+ * @param meta.columns - Index column 배열
41
+ * @param meta.name - Index 이름 (선택)
42
+ * @param meta.unique - 유니크 index 여부
43
+ * @param meta.orderBy - column별 정렬 순서
44
+ * @param meta.description - Index 설명
45
+ */
46
+ constructor(meta) {
47
+ this.meta = meta;
48
+ }
49
+ /**
50
+ * Index 이름 설정
51
+ *
52
+ * @param name - Index 이름
53
+ * @returns IndexBuilder 인스턴스
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * i.index("email").name("IX_User_Email")
58
+ * ```
59
+ */
60
+ name(name) {
61
+ return new IndexBuilder({ ...this.meta, name });
62
+ }
72
63
  /**
73
- * Index Generate
64
+ * 유니크 index 설정
74
65
  *
75
- * @template TKeys - Index column key array type
76
- * @param columns - Index column names
77
- * @returns IndexBuilder instance
66
+ * @returns IndexBuilder 인스턴스
78
67
  *
79
68
  * @example
80
69
  * ```typescript
81
- * i.index("email") // Single column
82
- * i.index("name", "email") // Composite column
70
+ * i.index("email").unique()
83
71
  * ```
84
72
  */
85
- index(...columns) {
86
- return new IndexBuilder({ columns });
73
+ unique() {
74
+ return new IndexBuilder({ ...this.meta, unique: true });
87
75
  }
88
- };
76
+ /**
77
+ * 정렬 순서 설정
78
+ *
79
+ * 각 column에 ASC 또는 DESC를 지정
80
+ *
81
+ * @param orderBy - column별 정렬 순서 (column 수와 일치해야 함)
82
+ * @returns 새 IndexBuilder 인스턴스
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * // 단일 column
87
+ * i.index("createdAt").orderBy("DESC")
88
+ *
89
+ * // 복합 column
90
+ * i.index("status", "createdAt").orderBy("ASC", "DESC")
91
+ * ```
92
+ */
93
+ orderBy(...orderBy) {
94
+ return new IndexBuilder({ ...this.meta, orderBy });
95
+ }
96
+ /**
97
+ * Index 설명 설정
98
+ *
99
+ * @param description - Index 설명 (DDL Comment로 사용됨)
100
+ * @returns 새 IndexBuilder 인스턴스
101
+ */
102
+ description(description) {
103
+ return new IndexBuilder({ ...this.meta, description });
104
+ }
105
+ }
106
+ // ============================================
107
+ // IndexFactory
108
+ // ============================================
109
+ /**
110
+ * Index builder factory 생성
111
+ *
112
+ * TableBuilder.indexes()에서 사용하는 index factory
113
+ *
114
+ * @template TColumnKey - Table column key 타입
115
+ * @returns Index 생성 메서드를 포함하는 객체
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * Table("User")
120
+ * .columns((c) => ({
121
+ * id: c.bigint(),
122
+ * email: c.varchar(200),
123
+ * name: c.varchar(100),
124
+ * }))
125
+ * .indexes((i) => [
126
+ * i.index("email").unique(),
127
+ * i.index("name"),
128
+ * ]);
129
+ * ```
130
+ *
131
+ * @see {@link IndexBuilder} Index builder 클래스
132
+ */
133
+ export function createIndexFactory() {
134
+ return {
135
+ /**
136
+ * Index 생성
137
+ *
138
+ * @template TKeys - Index column key 배열 타입
139
+ * @param columns - Index column 이름들
140
+ * @returns IndexBuilder 인스턴스
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * i.index("email") // 단일 column
145
+ * i.index("name", "email") // 복합 column
146
+ * ```
147
+ */
148
+ index(...columns) {
149
+ return new IndexBuilder({ columns });
150
+ },
151
+ };
89
152
  }
90
- export {
91
- IndexBuilder,
92
- createIndexFactory
93
- };
94
- //# sourceMappingURL=index-builder.js.map
153
+ //# sourceMappingURL=index-builder.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/schema/factory/index-builder.ts"],
4
- "mappings": "AAoCO,MAAM,aAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShD,YACW,MAOT;AAPS;AAAA,EAOR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaH,KAAK,MAAmC;AACtC,WAAO,IAAI,aAAa,EAAE,GAAG,KAAK,MAAM,KAAK,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,SAA8B;AAC5B,WAAO,IAAI,aAAa,EAAE,GAAG,KAAK,MAAM,QAAQ,KAAK,CAAC;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,WAAW,SAAsE;AAC/E,WAAO,IAAI,aAAa,EAAE,GAAG,KAAK,MAAM,QAAQ,CAAC;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,aAA0C;AACpD,WAAO,IAAI,aAAa,EAAE,GAAG,KAAK,MAAM,YAAY,CAAC;AAAA,EACvD;AACF;AA8BO,SAAS,qBAAgD;AAC9D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcL,SAAqC,SAA0C;AAC7E,aAAO,IAAI,aAAa,EAAE,QAAQ,CAAC;AAAA,IACrC;AAAA,EACF;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"index-builder.js","sourceRoot":"","sources":["..\\..\\..\\src\\schema\\factory\\index-builder.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,YAAY;IAUZ;IATX;;;;;;;OAOG;IACH,YACW,IAMR;QANQ,SAAI,GAAJ,IAAI,CAMZ;IACA,CAAC;IAEJ;;;;;;;;;;OAUG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM;QACJ,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,GAAG,OAA+C;QACxD,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,WAAmB;QAC7B,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL;;;;;;;;;;;;WAYG;QACH,KAAK,CAA6B,GAAG,OAAmB;YACtD,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -2,13 +2,13 @@ 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 relation builder (N:1)
5
+ * Foreign Key 관계 builder (N:1)
6
6
  *
7
- * Define FK relation from current Table to target Table
8
- * Creates actual FK constraint in the DB
7
+ * 현재 Table에서 대상 Table로의 FK 관계를 정의
8
+ * DB에 실제 FK 제약조건을 생성
9
9
  *
10
- * @template TOwner - Owner Table builder type
11
- * @template TTargetFn - Target Table builder factory type
10
+ * @template TOwner - 소유 Table builder 타입
11
+ * @template TTargetFn - 대상 Table builder factory 타입
12
12
  *
13
13
  * @example
14
14
  * ```typescript
@@ -24,8 +24,8 @@ import type { ViewBuilder } from "../view-builder";
24
24
  * }));
25
25
  * ```
26
26
  *
27
- * @see {@link ForeignKeyTargetBuilder} Reverse-reference builder
28
- * @see {@link RelationKeyBuilder} Relation without DB FK
27
+ * @see {@link ForeignKeyTargetBuilder} 역참조 builder
28
+ * @see {@link RelationKeyBuilder} DB FK 없는 관계
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 Metadata
39
- * @param meta.ownerFn - Owner Table factory
40
- * @param meta.columns - FK column name array
41
- * @param meta.targetFn - Target Table factory
42
- * @param meta.description - Relation description
38
+ * @param meta - FK 메타데이터
39
+ * @param meta.ownerFn - 소유 Table factory
40
+ * @param meta.columns - FK column 이름 배열
41
+ * @param meta.targetFn - 대상 Table factory
42
+ * @param meta.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
- * Set relation description
51
+ * 관계 설명 설정
52
52
  *
53
- * @param desc - Relation description
54
- * @returns New ForeignKeyBuilder instance
53
+ * @param desc - 관계 설명
54
+ * @returns ForeignKeyBuilder 인스턴스
55
55
  */
56
56
  description(desc: string): ForeignKeyBuilder<TOwner, TTargetFn>;
57
57
  }
58
58
  /**
59
- * Foreign Key reverse-reference builder (1:N)
59
+ * Foreign Key 역참조 builder (1:N)
60
60
  *
61
- * Define reverse-reference for FK from another Table referencing current Table
62
- * Loaded as array on include() (single object when single() is called)
61
+ * 다른 Table이 현재 Table을 참조하는 FK의 역참조를 정의
62
+ * include() 배열로 로드됨 (single() 호출 시 단일 객체)
63
63
  *
64
- * @template TTargetTableFn - Referencing Table builder factory type
65
- * @template TIsSingle - Whether it is a single object
64
+ * @template TTargetTableFn - 참조하는 Table builder factory 타입
65
+ * @template TIsSingle - 단일 객체 여부
66
66
  *
67
67
  * @example
68
68
  * ```typescript
@@ -91,11 +91,11 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
91
91
  isSingle?: TIsSingle;
92
92
  };
93
93
  /**
94
- * @param meta - FK reverse-reference Metadata
95
- * @param meta.targetTableFn - Referencing Table factory
96
- * @param meta.relationName - FK relation name of the referencing Table
97
- * @param meta.description - Relation description
98
- * @param meta.isSingle - Whether it is a single object
94
+ * @param meta - FK 역참조 메타데이터
95
+ * @param meta.targetTableFn - 참조하는 Table factory
96
+ * @param meta.relationName - 참조하는 Table의 FK 관계 이름
97
+ * @param meta.description - 관계 설명
98
+ * @param meta.isSingle - 단일 객체 여부
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
- * Set relation description
107
+ * 관계 설명 설정
108
108
  *
109
- * @param desc - Relation description
110
- * @returns New ForeignKeyTargetBuilder instance
109
+ * @param desc - 관계 설명
110
+ * @returns ForeignKeyTargetBuilder 인스턴스
111
111
  */
112
112
  description(desc: string): ForeignKeyTargetBuilder<TTargetTableFn, TIsSingle>;
113
113
  /**
114
- * Set as single object relation (1:1)
114
+ * 단일 객체 관계로 설정 (1:1)
115
115
  *
116
- * Default is array (1:N), single object when single() is called
116
+ * 기본값은 배열(1:N), single() 호출 단일 객체
117
117
  *
118
- * @returns New ForeignKeyTargetBuilder instance (isSingle=true)
118
+ * @returns ForeignKeyTargetBuilder 인스턴스 (isSingle=true)
119
119
  *
120
120
  * @example
121
121
  * ```typescript
@@ -125,13 +125,13 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
125
125
  single(): ForeignKeyTargetBuilder<TTargetTableFn, true>;
126
126
  }
127
127
  /**
128
- * Logical relation builder (N:1) - No DB FK creation
128
+ * 논리적 관계 builder (N:1) - DB FK 미생성
129
129
  *
130
- * Same as ForeignKeyBuilder but does not create FK constraints in the DB
131
- * Can also be used in Views
130
+ * ForeignKeyBuilder 동일하지만 DB에 FK 제약조건을 생성하지 않음
131
+ * View에서도 사용 가능
132
132
  *
133
- * @template TOwner - Owner Table/View builder type
134
- * @template TTargetFn - Target Table/View builder factory type
133
+ * @template TOwner - 소유 Table/View builder 타입
134
+ * @template TTargetFn - 대상 Table/View builder factory 타입
135
135
  *
136
136
  * @example
137
137
  * ```typescript
@@ -151,7 +151,7 @@ export declare class ForeignKeyTargetBuilder<TTargetTableFn extends () => TableB
151
151
  * }));
152
152
  * ```
153
153
  *
154
- * @see {@link ForeignKeyBuilder} DB FK creation version
154
+ * @see {@link ForeignKeyBuilder} DB FK 생성 버전
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 - Relation Metadata
165
- * @param meta.ownerFn - Owner Table/View factory
166
- * @param meta.columns - Relation column name array
167
- * @param meta.targetFn - Target Table/View factory
168
- * @param meta.description - Relation description
164
+ * @param meta - 관계 메타데이터
165
+ * @param meta.ownerFn - 소유 Table/View factory
166
+ * @param meta.columns - 관계 column 이름 배열
167
+ * @param meta.targetFn - 대상 Table/View factory
168
+ * @param meta.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
- * Set relation description
177
+ * 관계 설명 설정
178
178
  *
179
- * @param desc - Relation description
180
- * @returns New RelationKeyBuilder instance
179
+ * @param desc - 관계 설명
180
+ * @returns RelationKeyBuilder 인스턴스
181
181
  */
182
182
  description(desc: string): RelationKeyBuilder<TOwner, TTargetFn>;
183
183
  }
184
184
  /**
185
- * Logical relation reverse-reference builder (1:N) - No DB FK creation
185
+ * 논리적 관계 역참조 builder (1:N) - DB FK 미생성
186
186
  *
187
- * Same as ForeignKeyTargetBuilder but does not create FK constraints in the DB
188
- * Can also be used in Views
187
+ * ForeignKeyTargetBuilder 동일하지만 DB에 FK 제약조건을 생성하지 않음
188
+ * View에서도 사용 가능
189
189
  *
190
- * @template TTargetTableFn - Referencing Table/View builder factory type
191
- * @template TIsSingle - Whether it is a single object
190
+ * @template TTargetTableFn - 참조하는 Table/View builder factory 타입
191
+ * @template TIsSingle - 단일 객체 여부
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 creation version
203
+ * @see {@link ForeignKeyTargetBuilder} DB FK 생성 버전
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 - Relation reverse-reference Metadata
214
- * @param meta.targetTableFn - Referencing Table/View factory
215
- * @param meta.relationName - Relation name of the referencing Table/View
216
- * @param meta.description - Relation description
217
- * @param meta.isSingle - Whether it is a single object
213
+ * @param meta - 관계 역참조 메타데이터
214
+ * @param meta.targetTableFn - 참조하는 Table/View factory
215
+ * @param meta.relationName - 참조하는 Table/View의 관계 이름
216
+ * @param meta.description - 관계 설명
217
+ * @param meta.isSingle - 단일 객체 여부
218
218
  */
219
219
  constructor(meta: {
220
220
  targetTableFn: TTargetTableFn;
@@ -223,55 +223,55 @@ export declare class RelationKeyTargetBuilder<TTargetTableFn extends () => Table
223
223
  isSingle?: TIsSingle;
224
224
  });
225
225
  /**
226
- * Set relation description
226
+ * 관계 설명 설정
227
227
  *
228
- * @param desc - Relation description
229
- * @returns New RelationKeyTargetBuilder instance
228
+ * @param desc - 관계 설명
229
+ * @returns RelationKeyTargetBuilder 인스턴스
230
230
  */
231
231
  description(desc: string): RelationKeyTargetBuilder<TTargetTableFn, TIsSingle>;
232
232
  /**
233
- * Set as single object relation (1:1)
233
+ * 단일 객체 관계로 설정 (1:1)
234
234
  *
235
- * Default is array (1:N), single object when single() is called
235
+ * 기본값은 배열(1:N), single() 호출 단일 객체
236
236
  *
237
- * @returns New RelationKeyTargetBuilder instance (isSingle=true)
237
+ * @returns RelationKeyTargetBuilder 인스턴스 (isSingle=true)
238
238
  */
239
239
  single(): RelationKeyTargetBuilder<TTargetTableFn, true>;
240
240
  }
241
241
  /**
242
- * FK relation factory type (table only)
242
+ * FK 관계 factory 타입 (table 전용)
243
243
  *
244
- * @template TOwner - Owner Table builder type
245
- * @template TColumnKey - Column key type
244
+ * @template TOwner - 소유 Table builder 타입
245
+ * @template TColumnKey - Column key 타입
246
246
  */
247
247
  type RelationFkFactory<TOwner extends TableBuilder<any, any>, TColumnKey extends string> = {
248
- /** N:1 FK relationship definition (DB FK Create) */
248
+ /** N:1 FK 관계 정의 (DB FK 생성) */
249
249
  foreignKey<TTargetFn extends () => TableBuilder<any, any>>(columns: TColumnKey[], targetFn: TTargetFn): ForeignKeyBuilder<TOwner, TTargetFn>;
250
- /** 1:N FK reverse-reference definition */
250
+ /** 1:N FK 역참조 정의 */
251
251
  foreignKeyTarget<TTargetTableFn extends () => TableBuilder<any, any>>(targetTableFn: TTargetTableFn, relationName: string): ForeignKeyTargetBuilder<TTargetTableFn, false>;
252
252
  };
253
253
  /**
254
- * Logical relation factory type (shared for table/View)
254
+ * 논리적 관계 factory 타입 (table/View 공용)
255
255
  *
256
- * @template TOwner - Owner Table/View builder type
257
- * @template TColumnKey - Column key type
256
+ * @template TOwner - 소유 Table/View builder 타입
257
+ * @template TColumnKey - Column key 타입
258
258
  */
259
259
  type RelationRkFactory<TOwner extends TableBuilder<any, any> | ViewBuilder<any, any, any>, TColumnKey extends string> = {
260
- /** N:1 logical relation definition (no DB FK creation) */
260
+ /** N:1 논리적 관계 정의 (DB FK 미생성) */
261
261
  relationKey<TTargetFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>>(columns: TColumnKey[], targetFn: TTargetFn): RelationKeyBuilder<TOwner, TTargetFn>;
262
- /** 1:N logical reverse-reference definition */
262
+ /** 1:N 논리적 역참조 정의 */
263
263
  relationKeyTarget<TTargetTableFn extends () => TableBuilder<any, any> | ViewBuilder<any, any, any>>(targetTableFn: TTargetTableFn, relationName: string): RelationKeyTargetBuilder<TTargetTableFn, false>;
264
264
  };
265
265
  /**
266
- * Relation builder factory creation
266
+ * 관계 builder factory 생성
267
267
  *
268
- * Used in TableBuilder.relations() and ViewBuilder.relations()
269
- * Table can use both FK + RelationKey, View can only use RelationKey
268
+ * TableBuilder.relations() ViewBuilder.relations()에서 사용
269
+ * Table FK + RelationKey 모두 사용 가능, View는 RelationKey만 사용 가능
270
270
  *
271
- * @template TOwner - Owner Table/View builder type
272
- * @template TColumnKey - Column key type
273
- * @param ownerFn - Owner Table/View factory function
274
- * @returns Relation builder factory
271
+ * @template TOwner - 소유 Table/View builder 타입
272
+ * @template TColumnKey - Column key 타입
273
+ * @param ownerFn - 소유 Table/View factory 함수
274
+ * @returns 관계 builder factory
275
275
  *
276
276
  * @example
277
277
  * ```typescript
@@ -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
- * relationship builder record type
298
+ * 관계 builder 레코드 타입
299
299
  *
300
- * Return type of TableBuilder.relations() and ViewBuilder.relations()
300
+ * TableBuilder.relations() ViewBuilder.relations()의 반환 타입
301
301
  */
302
302
  export type RelationBuilderRecord = Record<string, ForeignKeyBuilder<any, any> | ForeignKeyTargetBuilder<any, any> | RelationKeyBuilder<any, any> | RelationKeyTargetBuilder<any, any>>;
303
303
  /**
304
- * Extract target type from FK/RelationKey (single object)
304
+ * FK/RelationKey에서 대상 타입 추출 (단일 객체)
305
305
  *
306
- * Target type of N:1 relation
306
+ * N:1 관계의 대상 타입
307
307
  *
308
- * @template T - FK or RelationKey builder type
308
+ * @template T - FK 또는 RelationKey builder 타입
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
- * Extract target type from FKTarget/RelationKeyTarget (array or single object)
312
+ * FKTarget/RelationKeyTarget에서 대상 타입 추출 (배열 또는 단일 객체)
313
313
  *
314
- * Target type of 1:N relation (single object when single() is called)
315
- * TTargetTableFn: () => Post form for lazy evaluation to prevent circular references
314
+ * 1:N 관계의 대상 타입 (single() 호출 시 단일 객체)
315
+ * TTargetTableFn: 순환 참조 방지를 위한 지연 평가용 () => Post 형태
316
316
  *
317
- * @template T - FKTarget or RelationKeyTarget builder type
317
+ * @template T - FKTarget 또는 RelationKeyTarget builder 타입
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
- * Deep relation Type inference from relation definitions
321
+ * 관계 정의에서 심층 관계 타입 추론
322
322
  *
323
- * Makes all relations optional so accessing without include() results in undefined
323
+ * include() 없이 접근 undefined가 되도록 모든 관계를 optional로 설정
324
324
  *
325
- * @template TRelations - Relation builder record type
325
+ * @template TRelations - 관계 builder 레코드 타입
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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"}