@simplysm/orm-common 13.0.99 → 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,134 +1,208 @@
1
1
  import { createColumnFactory } from "./factory/column-builder.js";
2
- class ProcedureBuilder {
3
- /**
4
- * @param meta - Procedure Metadata
5
- * @param meta.name - Procedure name
6
- * @param meta.description - Procedure description (comment)
7
- * @param meta.database - Database name
8
- * @param meta.schema - Schema name (MSSQL/PostgreSQL)
9
- * @param meta.params - Parameter definition
10
- * @param meta.returns - Return type definition
11
- * @param meta.query - Procedure body SQL
12
- */
13
- constructor(meta) {
14
- this.meta = meta;
15
- }
16
- /** Parameter definition (type for inference) */
17
- $params;
18
- /** return type definition (type for inference) */
19
- $returns;
20
- /**
21
- * Procedure set description
22
- *
23
- * @param desc - Procedure description (used as DDL Comment)
24
- * @returns new ProcedureBuilder instance
25
- */
26
- description(desc) {
27
- return new ProcedureBuilder({ ...this.meta, description: desc });
28
- }
29
- /**
30
- * Database set name
31
- *
32
- * @param db - Database name
33
- * @returns new ProcedureBuilder instance
34
- *
35
- * @example
36
- * ```typescript
37
- * const GetUser = Procedure("GetUser").database("mydb");
38
- * ```
39
- */
40
- database(db) {
41
- return new ProcedureBuilder({ ...this.meta, database: db });
42
- }
43
- /**
44
- * schema set name
45
- *
46
- * MSSQL, PostgreSQLused in
47
- *
48
- * @param schema - Schema name (MSSQL: dbo, PostgreSQL: public)
49
- * @returns new ProcedureBuilder instance
50
- */
51
- schema(schema) {
52
- return new ProcedureBuilder({ ...this.meta, schema });
53
- }
54
- /**
55
- * Parameter definition
56
- *
57
- * Define Procedure input parameters
58
- * Note DBMS-specific parameter syntax differences (MSSQL: @param, MySQL/PostgreSQL: param)
59
- *
60
- * @template T - New parameter definition type
61
- * @param fn - Function that receives a Column factory and returns parameter definitions
62
- * @returns new ProcedureBuilder instance
63
- *
64
- * @example
65
- * ```typescript
66
- * const GetUserById = Procedure("GetUserById")
67
- * .params((c) => ({
68
- * userId: c.bigint(),
69
- * includeDeleted: c.boolean().default(false),
70
- * }));
71
- * ```
72
- */
73
- params(fn) {
74
- return new ProcedureBuilder({ ...this.meta, params: fn(createColumnFactory()) });
75
- }
76
- /**
77
- * Return type definition
78
- *
79
- * Define Procedure return result columns
80
- *
81
- * @template T - New return type definition
82
- * @param fn - Function that receives a Column factory and returns Column definitions
83
- * @returns new ProcedureBuilder instance
84
- *
85
- * @example
86
- * ```typescript
87
- * const GetUserById = Procedure("GetUserById")
88
- * .params((c) => ({ userId: c.bigint() }))
89
- * .returns((c) => ({
90
- * id: c.bigint(),
91
- * name: c.varchar(100),
92
- * email: c.varchar(200).nullable(),
93
- * }));
94
- * ```
95
- */
96
- returns(fn) {
97
- return new ProcedureBuilder({ ...this.meta, returns: fn(createColumnFactory()) });
98
- }
99
- /**
100
- * Set Procedure body SQL
101
- *
102
- * Note DBMS-specific SQL syntax differences:
103
- * - MySQL: parameter name as-is (userId)
104
- * - MSSQL: @ prefix (@userId)
105
- * - PostgreSQL: RETURN QUERY required
106
- *
107
- * @param sql - Procedure body SQL
108
- * @returns new ProcedureBuilder instance
109
- *
110
- * @example
111
- * ```typescript
112
- * // MySQL/PostgreSQL
113
- * const GetUser = Procedure("GetUser")
114
- * .params((c) => ({ userId: c.bigint() }))
115
- * .body("SELECT * FROM User WHERE id = userId");
116
- *
117
- * // MSSQL
118
- * const GetUser = Procedure("GetUser")
119
- * .params((c) => ({ userId: c.bigint() }))
120
- * .body("SELECT * FROM [User] WHERE id = @userId");
121
- * ```
122
- */
123
- body(sql) {
124
- return new ProcedureBuilder({ ...this.meta, query: sql });
125
- }
2
+ // ============================================
3
+ // ProcedureBuilder
4
+ // ============================================
5
+ /**
6
+ * Stored Procedure 정의 builder
7
+ *
8
+ * Fluent API로 Procedure 파라미터, 반환 타입, 본문을 정의
9
+ * DbContext의 executable()과 함께 사용하여 타입 안전한 Procedure 호출
10
+ *
11
+ * @template TParams - 파라미터 Column 정의 타입
12
+ * @template TReturns - 반환 Column 정의 타입
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Procedure definition
17
+ * const GetUserById = Procedure("GetUserById")
18
+ * .database("mydb")
19
+ * .params((c) => ({
20
+ * userId: c.bigint(),
21
+ * }))
22
+ * .returns((c) => ({
23
+ * id: c.bigint(),
24
+ * name: c.varchar(100),
25
+ * email: c.varchar(200),
26
+ * }))
27
+ * .body("SELECT id, name, email FROM User WHERE id = userId");
28
+ *
29
+ * // Used in DbContext
30
+ * class MyDb extends DbContext {
31
+ * readonly getUserById = executable(this, GetUserById);
32
+ * }
33
+ *
34
+ * // Invocation
35
+ * const users = await db.getUserById({ userId: 1n }).execute();
36
+ * ```
37
+ *
38
+ * @see {@link Procedure} factory 함수
39
+ * @see {@link executable} Executable 생성
40
+ */
41
+ export class ProcedureBuilder {
42
+ meta;
43
+ /** 파라미터 정의 (타입 추론용) */
44
+ $params;
45
+ /** 반환 타입 정의 (타입 추론용) */
46
+ $returns;
47
+ /**
48
+ * @param meta - Procedure 메타데이터
49
+ * @param meta.name - Procedure 이름
50
+ * @param meta.description - Procedure 설명 (comment)
51
+ * @param meta.database - Database 이름
52
+ * @param meta.schema - Schema 이름 (MSSQL/PostgreSQL)
53
+ * @param meta.params - 파라미터 정의
54
+ * @param meta.returns - 반환 타입 정의
55
+ * @param meta.query - Procedure 본문 SQL
56
+ */
57
+ constructor(meta) {
58
+ this.meta = meta;
59
+ }
60
+ /**
61
+ * Procedure 설명 설정
62
+ *
63
+ * @param desc - Procedure 설명 (DDL Comment로 사용됨)
64
+ * @returns 새 ProcedureBuilder 인스턴스
65
+ */
66
+ description(desc) {
67
+ return new ProcedureBuilder({ ...this.meta, description: desc });
68
+ }
69
+ /**
70
+ * Database 이름 설정
71
+ *
72
+ * @param db - Database 이름
73
+ * @returns 새 ProcedureBuilder 인스턴스
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const GetUser = Procedure("GetUser").database("mydb");
78
+ * ```
79
+ */
80
+ database(db) {
81
+ return new ProcedureBuilder({ ...this.meta, database: db });
82
+ }
83
+ /**
84
+ * Schema 이름 설정
85
+ *
86
+ * MSSQL, PostgreSQL에서 사용
87
+ *
88
+ * @param schema - Schema 이름 (MSSQL: dbo, PostgreSQL: public)
89
+ * @returns ProcedureBuilder 인스턴스
90
+ */
91
+ schema(schema) {
92
+ return new ProcedureBuilder({ ...this.meta, schema });
93
+ }
94
+ /**
95
+ * 파라미터 정의
96
+ *
97
+ * Procedure 입력 파라미터를 정의
98
+ * DBMS별 파라미터 구문 차이에 주의 (MSSQL: @param, MySQL/PostgreSQL: param)
99
+ *
100
+ * @template T - 새 파라미터 정의 타입
101
+ * @param fn - Column factory를 받아 파라미터 정의를 반환하는 함수
102
+ * @returns ProcedureBuilder 인스턴스
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const GetUserById = Procedure("GetUserById")
107
+ * .params((c) => ({
108
+ * userId: c.bigint(),
109
+ * includeDeleted: c.boolean().default(false),
110
+ * }));
111
+ * ```
112
+ */
113
+ params(fn) {
114
+ return new ProcedureBuilder({ ...this.meta, params: fn(createColumnFactory()) });
115
+ }
116
+ /**
117
+ * 반환 타입 정의
118
+ *
119
+ * Procedure 반환 결과 column을 정의
120
+ *
121
+ * @template T - 새 반환 타입 정의
122
+ * @param fn - Column factory를 받아 column 정의를 반환하는 함수
123
+ * @returns 새 ProcedureBuilder 인스턴스
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const GetUserById = Procedure("GetUserById")
128
+ * .params((c) => ({ userId: c.bigint() }))
129
+ * .returns((c) => ({
130
+ * id: c.bigint(),
131
+ * name: c.varchar(100),
132
+ * email: c.varchar(200).nullable(),
133
+ * }));
134
+ * ```
135
+ */
136
+ returns(fn) {
137
+ return new ProcedureBuilder({ ...this.meta, returns: fn(createColumnFactory()) });
138
+ }
139
+ /**
140
+ * Procedure 본문 SQL 설정
141
+ *
142
+ * DBMS별 SQL 구문 차이에 주의:
143
+ * - MySQL: 파라미터 이름 그대로 (userId)
144
+ * - MSSQL: @ 접두사 (@userId)
145
+ * - PostgreSQL: RETURN QUERY 필요
146
+ *
147
+ * @param sql - Procedure 본문 SQL
148
+ * @returns 새 ProcedureBuilder 인스턴스
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // MySQL/PostgreSQL
153
+ * const GetUser = Procedure("GetUser")
154
+ * .params((c) => ({ userId: c.bigint() }))
155
+ * .body("SELECT * FROM User WHERE id = userId");
156
+ *
157
+ * // MSSQL
158
+ * const GetUser = Procedure("GetUser")
159
+ * .params((c) => ({ userId: c.bigint() }))
160
+ * .body("SELECT * FROM [User] WHERE id = @userId");
161
+ * ```
162
+ */
163
+ body(sql) {
164
+ return new ProcedureBuilder({ ...this.meta, query: sql });
165
+ }
126
166
  }
127
- function Procedure(name) {
128
- return new ProcedureBuilder({ name });
167
+ // ============================================
168
+ // Procedure 함수
169
+ // ============================================
170
+ /**
171
+ * Procedure builder factory 함수
172
+ *
173
+ * Fluent API로 stored Procedure schema를 정의하기 위한 ProcedureBuilder를 생성
174
+ *
175
+ * @param name - Procedure 이름
176
+ * @returns ProcedureBuilder 인스턴스
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * // Basic usage
181
+ * const GetUserById = Procedure("GetUserById")
182
+ * .database("mydb")
183
+ * .params((c) => ({
184
+ * userId: c.bigint(),
185
+ * }))
186
+ * .returns((c) => ({
187
+ * id: c.bigint(),
188
+ * name: c.varchar(100),
189
+ * email: c.varchar(200),
190
+ * }))
191
+ * .body("SELECT id, name, email FROM User WHERE id = userId");
192
+ *
193
+ * // 파라미터 없는 Procedure
194
+ * const GetAllActiveUsers = Procedure("GetAllActiveUsers")
195
+ * .database("mydb")
196
+ * .returns((c) => ({
197
+ * id: c.bigint(),
198
+ * name: c.varchar(100),
199
+ * }))
200
+ * .body("SELECT id, name FROM User WHERE status = 'active'");
201
+ * ```
202
+ *
203
+ * @see {@link ProcedureBuilder} builder 클래스
204
+ */
205
+ export function Procedure(name) {
206
+ return new ProcedureBuilder({ name });
129
207
  }
130
- export {
131
- Procedure,
132
- ProcedureBuilder
133
- };
134
- //# sourceMappingURL=procedure-builder.js.map
208
+ //# sourceMappingURL=procedure-builder.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/schema/procedure-builder.ts"],
4
- "mappings": "AAAA,SAAmC,2BAA2B;AA0CvD,MAAM,iBAGX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,YACW,MAST;AATS;AAAA,EASR;AAAA;AAAA,EAxBM;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BT,YAAY,MAAmD;AAC7D,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,aAAa,KAAK,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,SAAS,IAAiD;AACxD,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,UAAU,GAAG,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAO,QAAqD;AAC1D,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,OACE,IAC+B;AAC/B,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,CAAC;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,QACE,IAC8B;AAC9B,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,SAAS,GAAG,oBAAoB,CAAC,EAAE,CAAC;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BA,KAAK,KAAkD;AACrD,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,MAAM,OAAO,IAAI,CAAC;AAAA,EAC1D;AACF;AAyCO,SAAS,UAAU,MAA8C;AACtE,SAAO,IAAI,iBAAiB,EAAE,KAAK,CAAC;AACtC;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"procedure-builder.js","sourceRoot":"","sources":["..\\..\\src\\schema\\procedure-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,gBAAgB;IAoBhB;IAhBX,uBAAuB;IACd,OAAO,CAAW;IAC3B,wBAAwB;IACf,QAAQ,CAAY;IAE7B;;;;;;;;;OASG;IACH,YACW,IAQR;QARQ,SAAI,GAAJ,IAAI,CAQZ;IACA,CAAC;IAEJ;;;;;OAKG;IACH,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CACJ,EAAoD;QAEpD,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CACL,EAAoD;QAEpD,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,GAAW;QACd,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF;AAED,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -2,13 +2,13 @@ import { type ColumnBuilderRecord, createColumnFactory, type InferColumns, type
2
2
  import { createIndexFactory, type IndexBuilder } from "./factory/index-builder";
3
3
  import { createRelationFactory, type InferDeepRelations, type RelationBuilderRecord } from "./factory/relation-builder";
4
4
  /**
5
- * Database Table definition builder
5
+ * Database Table 정의 builder
6
6
  *
7
- * Define Table columns, PK, indexes, and relations via Fluent API
8
- * Use with DbContext's queryable() for type-safe query composition
7
+ * Fluent API로 Table column, PK, index, 관계를 정의
8
+ * DbContext queryable() 함께 사용하여 타입 안전한 query 구성
9
9
  *
10
- * @template TColumns - Column definition record type
11
- * @template TRelations - Relation definition record type
10
+ * @template TColumns - Column 정의 레코드 타입
11
+ * @template TRelations - 관계 정의 레코드 타입
12
12
  *
13
13
  * @example
14
14
  * ```typescript
@@ -30,8 +30,8 @@ import { createRelationFactory, type InferDeepRelations, type RelationBuilderRec
30
30
  * }
31
31
  * ```
32
32
  *
33
- * @see {@link Table} factory function
34
- * @see {@link queryable} Queryable Generate
33
+ * @see {@link Table} factory 함수
34
+ * @see {@link queryable} Queryable 생성
35
35
  */
36
36
  export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelations extends RelationBuilderRecord> {
37
37
  readonly meta: {
@@ -44,28 +44,28 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
44
44
  relations?: TRelations;
45
45
  indexes?: IndexBuilder<(keyof TColumns & string)[]>[];
46
46
  };
47
- /** Column definition (type for inference) */
47
+ /** Column 정의 (타입 추론용) */
48
48
  readonly $columns: TColumns;
49
- /** Relation definition (type for inference) */
49
+ /** 관계 정의 (타입 추론용) */
50
50
  readonly $relations: TRelations;
51
- /** Full Type inference (column + relation) */
51
+ /** 전체 타입 추론 (column + 관계) */
52
52
  readonly $inferSelect: InferColumns<TColumns> & InferDeepRelations<TRelations>;
53
- /** Column-only Type inference */
53
+ /** Column 전용 타입 추론 */
54
54
  readonly $inferColumns: InferColumns<TColumns>;
55
- /** INSERT Type inference (autoIncrement excluded, nullable/default are optional) */
55
+ /** INSERT 타입 추론 (autoIncrement 제외, nullable/default optional) */
56
56
  readonly $inferInsert: InferInsertColumns<TColumns>;
57
- /** UPDATE Type inference (all fields optional) */
57
+ /** UPDATE 타입 추론 (모든 필드 optional) */
58
58
  readonly $inferUpdate: InferUpdateColumns<TColumns>;
59
59
  /**
60
- * @param meta - Table Metadata
61
- * @param meta.name - Table name
62
- * @param meta.description - Table description (comment)
63
- * @param meta.database - Database name
64
- * @param meta.schema - Schema name (MSSQL/PostgreSQL)
65
- * @param meta.columns - Column definition
66
- * @param meta.primaryKey - PK column array
67
- * @param meta.relations - Relation definition
68
- * @param meta.indexes - Index definition
60
+ * @param meta - Table 메타데이터
61
+ * @param meta.name - Table 이름
62
+ * @param meta.description - Table 설명 (comment)
63
+ * @param meta.database - Database 이름
64
+ * @param meta.schema - Schema 이름 (MSSQL/PostgreSQL)
65
+ * @param meta.columns - Column 정의
66
+ * @param meta.primaryKey - PK column 배열
67
+ * @param meta.relations - 관계 정의
68
+ * @param meta.indexes - Index 정의
69
69
  */
70
70
  constructor(meta: {
71
71
  name: string;
@@ -78,17 +78,17 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
78
78
  indexes?: IndexBuilder<(keyof TColumns & string)[]>[];
79
79
  });
80
80
  /**
81
- * Table set description
81
+ * Table 설명 설정
82
82
  *
83
- * @param desc - Table description (used as DDL Comment)
84
- * @returns new TableBuilder instance
83
+ * @param desc - Table 설명 (DDL Comment로 사용됨)
84
+ * @returns TableBuilder 인스턴스
85
85
  */
86
86
  description(desc: string): TableBuilder<TColumns, TRelations>;
87
87
  /**
88
- * Database set name
88
+ * Database 이름 설정
89
89
  *
90
- * @param db - Database name
91
- * @returns new TableBuilder instance
90
+ * @param db - Database 이름
91
+ * @returns TableBuilder 인스턴스
92
92
  *
93
93
  * @example
94
94
  * ```typescript
@@ -97,12 +97,12 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
97
97
  */
98
98
  database(db: string): TableBuilder<TColumns, TRelations>;
99
99
  /**
100
- * schema set name
100
+ * Schema 이름 설정
101
101
  *
102
- * Used in MSSQL, PostgreSQL
102
+ * MSSQL, PostgreSQL에서 사용
103
103
  *
104
- * @param schema - Schema name (MSSQL: dbo, PostgreSQL: public)
105
- * @returns new TableBuilder instance
104
+ * @param schema - Schema 이름 (MSSQL: dbo, PostgreSQL: public)
105
+ * @returns TableBuilder 인스턴스
106
106
  *
107
107
  * @example
108
108
  * ```typescript
@@ -113,13 +113,13 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
113
113
  */
114
114
  schema(schema: string): TableBuilder<TColumns, TRelations>;
115
115
  /**
116
- * Column definition
116
+ * Column 정의
117
117
  *
118
- * Type-safe Column definition through column factory
118
+ * Column factory를 통한 타입 안전한 column 정의
119
119
  *
120
- * @template TNewColumnDefs - New Column definition type
121
- * @param fn - Function that receives a Column factory and returns Column definitions
122
- * @returns new TableBuilder instance
120
+ * @template TNewColumnDefs - Column 정의 타입
121
+ * @param fn - Column factory 받아 column 정의를 반환하는 함수
122
+ * @returns TableBuilder 인스턴스
123
123
  *
124
124
  * @example
125
125
  * ```typescript
@@ -134,19 +134,19 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
134
134
  */
135
135
  columns<TNewColumnDefs extends ColumnBuilderRecord>(fn: (c: ReturnType<typeof createColumnFactory>) => TNewColumnDefs): TableBuilder<TNewColumnDefs, TRelations>;
136
136
  /**
137
- * Primary Key configuration
137
+ * Primary Key 설정
138
138
  *
139
- * @param columns - Column names composing the PK (composite PK supported)
140
- * @returns new TableBuilder instance
139
+ * @param columns - PK를 구성하는 column 이름 (복합 PK 지원)
140
+ * @returns TableBuilder 인스턴스
141
141
  *
142
142
  * @example
143
143
  * ```typescript
144
- * // Single PK
144
+ * // 단일 PK
145
145
  * const User = Table("User")
146
146
  * .columns((c) => ({ id: c.bigint() }))
147
147
  * .primaryKey("id");
148
148
  *
149
- * // Composite PK
149
+ * // 복합 PK
150
150
  * const UserRole = Table("UserRole")
151
151
  * .columns((c) => ({
152
152
  * userId: c.bigint(),
@@ -157,10 +157,10 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
157
157
  */
158
158
  primaryKey(...columns: (keyof TColumns & string)[]): TableBuilder<TColumns, TRelations>;
159
159
  /**
160
- * Index definition
160
+ * Index 정의
161
161
  *
162
- * @param fn - Function that receives an Index factory and returns an Index array
163
- * @returns new TableBuilder instance
162
+ * @param fn - Index factory 받아 index 배열을 반환하는 함수
163
+ * @returns TableBuilder 인스턴스
164
164
  *
165
165
  * @example
166
166
  * ```typescript
@@ -178,13 +178,13 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
178
178
  */
179
179
  indexes(fn: (i: ReturnType<typeof createIndexFactory<keyof TColumns & string>>) => IndexBuilder<string[]>[]): TableBuilder<TColumns, TRelations>;
180
180
  /**
181
- * Relation definition
181
+ * 관계 정의
182
182
  *
183
- * Set up FK, reverse-references, and other inter-Table relations
183
+ * FK, 역참조 Table 간 관계를 설정
184
184
  *
185
- * @template T - Relation definition type
186
- * @param fn - Function that receives a relation factory and returns relation definitions
187
- * @returns new TableBuilder instance
185
+ * @template T - 관계 정의 타입
186
+ * @param fn - 관계 factory를 받아 관계 정의를 반환하는 함수
187
+ * @returns TableBuilder 인스턴스
188
188
  *
189
189
  * @example
190
190
  * ```typescript
@@ -218,12 +218,12 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
218
218
  relations<T extends RelationBuilderRecord>(fn: (r: ReturnType<typeof createRelationFactory<this, keyof TColumns & string>>) => T): TableBuilder<TColumns, T>;
219
219
  }
220
220
  /**
221
- * Table builder factory function
221
+ * Table builder factory 함수
222
222
  *
223
- * Creates a TableBuilder for defining Table schema via Fluent API
223
+ * Fluent API로 Table schema 정의하기 위한 TableBuilder를 생성
224
224
  *
225
- * @param name - Table name
226
- * @returns TableBuilder instance
225
+ * @param name - Table 이름
226
+ * @returns TableBuilder 인스턴스
227
227
  *
228
228
  * @example
229
229
  * ```typescript
@@ -253,7 +253,7 @@ export declare class TableBuilder<TColumns extends ColumnBuilderRecord, TRelatio
253
253
  * }));
254
254
  * ```
255
255
  *
256
- * @see {@link TableBuilder} builder class
256
+ * @see {@link TableBuilder} builder 클래스
257
257
  */
258
258
  export declare function Table(name: string): TableBuilder<ColumnBuilderRecord, RelationBuilderRecord>;
259
259
  //# sourceMappingURL=table-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["..\\..\\src\\schema\\table-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["..\\..\\src\\schema\\table-builder.ts"],"names":[],"mappings":"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"}