@simplysm/orm-node 13.0.0-beta.6 → 13.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 (186) hide show
  1. package/README.md +28 -23
  2. package/dist/connections/mssql-db-conn.d.ts.map +1 -0
  3. package/dist/connections/mssql-db-conn.js +3 -3
  4. package/dist/connections/mssql-db-conn.js.map +1 -2
  5. package/dist/connections/mysql-db-conn.d.ts.map +1 -0
  6. package/dist/connections/mysql-db-conn.js +3 -3
  7. package/dist/connections/mysql-db-conn.js.map +1 -2
  8. package/dist/connections/postgresql-db-conn.d.ts.map +1 -0
  9. package/dist/connections/postgresql-db-conn.js +3 -3
  10. package/dist/connections/postgresql-db-conn.js.map +1 -2
  11. package/dist/create-db-conn.d.ts +12 -0
  12. package/dist/create-db-conn.d.ts.map +1 -0
  13. package/dist/create-db-conn.js +75 -0
  14. package/dist/create-db-conn.js.map +6 -0
  15. package/dist/{orm-node/src/sd-orm.d.ts → create-orm.d.ts} +37 -37
  16. package/dist/create-orm.d.ts.map +1 -0
  17. package/dist/create-orm.js +32 -0
  18. package/dist/create-orm.js.map +6 -0
  19. package/dist/{orm-node/src/index.d.ts → index.d.ts} +2 -2
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +8 -8
  22. package/dist/index.js.map +0 -1
  23. package/dist/node-db-context-executor.d.ts.map +1 -0
  24. package/dist/node-db-context-executor.js +3 -3
  25. package/dist/node-db-context-executor.js.map +1 -2
  26. package/dist/pooled-db-conn.d.ts.map +1 -0
  27. package/dist/pooled-db-conn.js +3 -3
  28. package/dist/pooled-db-conn.js.map +1 -2
  29. package/dist/types/db-conn.d.ts.map +1 -0
  30. package/dist/types/db-conn.js.map +0 -1
  31. package/package.json +12 -8
  32. package/src/connections/mssql-db-conn.ts +2 -2
  33. package/src/connections/mysql-db-conn.ts +2 -2
  34. package/src/connections/postgresql-db-conn.ts +2 -2
  35. package/src/create-db-conn.ts +111 -0
  36. package/src/create-orm.ts +118 -0
  37. package/src/index.ts +2 -2
  38. package/src/node-db-context-executor.ts +2 -2
  39. package/src/pooled-db-conn.ts +2 -2
  40. package/.cache/typecheck-node.tsbuildinfo +0 -1
  41. package/dist/core-common/src/common.types.d.ts +0 -74
  42. package/dist/core-common/src/common.types.d.ts.map +0 -1
  43. package/dist/core-common/src/env.d.ts +0 -6
  44. package/dist/core-common/src/env.d.ts.map +0 -1
  45. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  46. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  47. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  48. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  49. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  50. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  51. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  52. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  53. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  54. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  55. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  56. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  57. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  58. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  59. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  60. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  61. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  62. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  63. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  64. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  65. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  66. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  67. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  68. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  69. package/dist/core-common/src/index.d.ts +0 -32
  70. package/dist/core-common/src/index.d.ts.map +0 -1
  71. package/dist/core-common/src/types/date-only.d.ts +0 -152
  72. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  73. package/dist/core-common/src/types/date-time.d.ts +0 -96
  74. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  75. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  76. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  77. package/dist/core-common/src/types/time.d.ts +0 -68
  78. package/dist/core-common/src/types/time.d.ts.map +0 -1
  79. package/dist/core-common/src/types/uuid.d.ts +0 -35
  80. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  81. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  82. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  83. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  84. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  85. package/dist/core-common/src/utils/json.d.ts +0 -34
  86. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  87. package/dist/core-common/src/utils/num.d.ts +0 -60
  88. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  89. package/dist/core-common/src/utils/obj.d.ts +0 -258
  90. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  91. package/dist/core-common/src/utils/path.d.ts +0 -23
  92. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  93. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  94. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  95. package/dist/core-common/src/utils/str.d.ts +0 -103
  96. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  97. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  98. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  99. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  100. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  101. package/dist/core-common/src/utils/wait.d.ts +0 -19
  102. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  103. package/dist/core-common/src/utils/xml.d.ts +0 -36
  104. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  105. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  106. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  107. package/dist/db-conn-factory.js +0 -88
  108. package/dist/db-conn-factory.js.map +0 -7
  109. package/dist/orm-common/src/db-context.d.ts +0 -669
  110. package/dist/orm-common/src/db-context.d.ts.map +0 -1
  111. package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
  112. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
  113. package/dist/orm-common/src/exec/executable.d.ts +0 -79
  114. package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
  115. package/dist/orm-common/src/exec/queryable.d.ts +0 -708
  116. package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
  117. package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
  118. package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
  119. package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
  120. package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
  121. package/dist/orm-common/src/expr/expr.d.ts +0 -1369
  122. package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
  123. package/dist/orm-common/src/index.d.ts +0 -32
  124. package/dist/orm-common/src/index.d.ts.map +0 -1
  125. package/dist/orm-common/src/models/system-migration.d.ts +0 -10
  126. package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
  127. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
  128. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
  129. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
  130. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
  131. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
  132. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
  133. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
  134. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
  135. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
  136. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
  137. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
  138. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
  139. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
  140. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
  141. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
  142. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
  143. package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
  144. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
  145. package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
  146. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
  147. package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
  148. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
  149. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
  150. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
  151. package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
  152. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
  153. package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
  154. package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
  155. package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
  156. package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
  157. package/dist/orm-common/src/types/column.d.ts +0 -172
  158. package/dist/orm-common/src/types/column.d.ts.map +0 -1
  159. package/dist/orm-common/src/types/db.d.ts +0 -175
  160. package/dist/orm-common/src/types/db.d.ts.map +0 -1
  161. package/dist/orm-common/src/types/expr.d.ts +0 -474
  162. package/dist/orm-common/src/types/expr.d.ts.map +0 -1
  163. package/dist/orm-common/src/types/query-def.d.ts +0 -351
  164. package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
  165. package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
  166. package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
  167. package/dist/orm-node/src/connections/mssql-db-conn.d.ts.map +0 -1
  168. package/dist/orm-node/src/connections/mysql-db-conn.d.ts.map +0 -1
  169. package/dist/orm-node/src/connections/postgresql-db-conn.d.ts.map +0 -1
  170. package/dist/orm-node/src/db-conn-factory.d.ts +0 -25
  171. package/dist/orm-node/src/db-conn-factory.d.ts.map +0 -1
  172. package/dist/orm-node/src/index.d.ts.map +0 -1
  173. package/dist/orm-node/src/node-db-context-executor.d.ts.map +0 -1
  174. package/dist/orm-node/src/pooled-db-conn.d.ts.map +0 -1
  175. package/dist/orm-node/src/sd-orm.d.ts.map +0 -1
  176. package/dist/orm-node/src/types/db-conn.d.ts.map +0 -1
  177. package/dist/sd-orm.js +0 -44
  178. package/dist/sd-orm.js.map +0 -7
  179. package/src/db-conn-factory.ts +0 -114
  180. package/src/sd-orm.ts +0 -102
  181. /package/dist/{orm-node/src/connections → connections}/mssql-db-conn.d.ts +0 -0
  182. /package/dist/{orm-node/src/connections → connections}/mysql-db-conn.d.ts +0 -0
  183. /package/dist/{orm-node/src/connections → connections}/postgresql-db-conn.d.ts +0 -0
  184. /package/dist/{orm-node/src/node-db-context-executor.d.ts → node-db-context-executor.d.ts} +0 -0
  185. /package/dist/{orm-node/src/pooled-db-conn.d.ts → pooled-db-conn.d.ts} +0 -0
  186. /package/dist/{orm-node/src/types → types}/db-conn.d.ts +0 -0
@@ -1,351 +0,0 @@
1
- import type { ColumnPrimitive, DataType } from "./column";
2
- import type { Expr, WhereExpr } from "./expr";
3
- /**
4
- * DB 객체 이름 (테이블, 뷰, 프로시저 등)
5
- *
6
- * DBMS별 네임스페이스:
7
- * - MySQL: `database.name` (schema 무시)
8
- * - MSSQL: `database.schema.name` (schema 기본값: dbo)
9
- * - PostgreSQL: `schema.name` (database는 connection용)
10
- */
11
- export interface QueryDefObjectName {
12
- database?: string;
13
- schema?: string;
14
- name: string;
15
- }
16
- /**
17
- * CUD 쿼리의 OUTPUT 절 정의
18
- *
19
- * INSERT/UPDATE/DELETE 후 반환값 정의
20
- */
21
- export interface CudOutputDef {
22
- columns: string[];
23
- pkColNames: string[];
24
- aiColName?: string;
25
- }
26
- /**
27
- * SELECT 쿼리 정의
28
- *
29
- * @property type - 쿼리 타입 ("select")
30
- * @property from - FROM 절 (테이블/서브쿼리)
31
- * @property as - 테이블 별칭
32
- * @property select - SELECT 절 컬럼 매핑
33
- * @property distinct - DISTINCT 여부
34
- * @property top - TOP N (MSSQL)
35
- * @property lock - 락 여부
36
- * @property where - WHERE 조건 배열
37
- * @property joins - JOIN 정의 배열
38
- * @property orderBy - ORDER BY [컬럼, 방향] 배열
39
- * @property limit - LIMIT [offset, count]
40
- * @property groupBy - GROUP BY 표현식 배열
41
- * @property having - HAVING 조건 배열
42
- * @property with - 재귀 CTE 정의
43
- */
44
- export interface SelectQueryDef {
45
- type: "select";
46
- from?: QueryDefObjectName | SelectQueryDef | SelectQueryDef[] | string;
47
- as: string;
48
- select?: Record<string, Expr>;
49
- distinct?: boolean;
50
- top?: number;
51
- lock?: boolean;
52
- where?: WhereExpr[];
53
- joins?: SelectQueryDefJoin[];
54
- orderBy?: [Expr, ("ASC" | "DESC")?][];
55
- limit?: [number, number];
56
- groupBy?: Expr[];
57
- having?: WhereExpr[];
58
- with?: {
59
- name: string;
60
- base: SelectQueryDef;
61
- recursive: SelectQueryDef;
62
- };
63
- }
64
- /**
65
- * JOIN 쿼리 정의
66
- *
67
- * SelectQueryDef 확장 + isSingle 플래그
68
- */
69
- export interface SelectQueryDefJoin extends SelectQueryDef {
70
- /** 단일 결과 여부 (1:1 관계) */
71
- isSingle?: boolean;
72
- }
73
- /**
74
- * INSERT 쿼리 정의
75
- *
76
- * @property records - 삽입할 레코드 배열
77
- * @property overrideIdentity - IDENTITY_INSERT 활성화 여부
78
- * @property output - OUTPUT 절 정의
79
- */
80
- export interface InsertQueryDef {
81
- type: "insert";
82
- table: QueryDefObjectName;
83
- records: Record<string, ColumnPrimitive>[];
84
- overrideIdentity?: boolean;
85
- output?: CudOutputDef;
86
- }
87
- /**
88
- * 조건부 INSERT 쿼리 정의
89
- *
90
- * 존재하지 않는 경우에만 삽입
91
- */
92
- export interface InsertIfNotExistsQueryDef {
93
- type: "insertIfNotExists";
94
- table: QueryDefObjectName;
95
- record: Record<string, ColumnPrimitive>;
96
- existsSelectQuery: SelectQueryDef;
97
- overrideIdentity?: boolean;
98
- output?: CudOutputDef;
99
- }
100
- /**
101
- * INSERT INTO SELECT 쿼리 정의
102
- *
103
- * 서브쿼리 결과를 삽입
104
- */
105
- export interface InsertIntoQueryDef {
106
- type: "insertInto";
107
- table: QueryDefObjectName;
108
- recordsSelectQuery: SelectQueryDef;
109
- overrideIdentity?: boolean;
110
- output?: CudOutputDef;
111
- }
112
- /**
113
- * UPDATE 쿼리 정의
114
- *
115
- * @property record - 업데이트할 컬럼/값 매핑
116
- * @property joins - UPDATE JOIN (지원 시)
117
- */
118
- export interface UpdateQueryDef {
119
- type: "update";
120
- table: QueryDefObjectName;
121
- as: string;
122
- record: Record<string, Expr>;
123
- top?: number;
124
- where?: WhereExpr[];
125
- joins?: SelectQueryDefJoin[];
126
- limit?: [number, number];
127
- output?: CudOutputDef;
128
- }
129
- /**
130
- * DELETE 쿼리 정의
131
- */
132
- export interface DeleteQueryDef {
133
- type: "delete";
134
- table: QueryDefObjectName;
135
- as: string;
136
- top?: number;
137
- where?: WhereExpr[];
138
- joins?: SelectQueryDefJoin[];
139
- limit?: [number, number];
140
- output?: CudOutputDef;
141
- }
142
- /**
143
- * UPSERT 쿼리 정의
144
- *
145
- * INSERT or UPDATE (MERGE 패턴)
146
- */
147
- export interface UpsertQueryDef {
148
- type: "upsert";
149
- table: QueryDefObjectName;
150
- existsSelectQuery: SelectQueryDef;
151
- insertRecord: Record<string, Expr>;
152
- updateRecord: Record<string, Expr>;
153
- overrideIdentity?: boolean;
154
- output?: CudOutputDef;
155
- }
156
- /** FK 제약조건 활성화/비활성화 */
157
- export interface SwitchFkQueryDef {
158
- type: "switchFk";
159
- table: QueryDefObjectName;
160
- switch: "on" | "off";
161
- }
162
- /** 스키마 초기화 (모든 객체 삭제) */
163
- export interface ClearSchemaQueryDef {
164
- type: "clearSchema";
165
- database: string;
166
- schema?: string;
167
- }
168
- /** CREATE TABLE */
169
- export interface CreateTableQueryDef {
170
- type: "createTable";
171
- table: QueryDefObjectName;
172
- columns: {
173
- name: string;
174
- dataType: DataType;
175
- autoIncrement?: boolean;
176
- nullable?: boolean;
177
- default?: ColumnPrimitive;
178
- }[];
179
- primaryKey?: string[];
180
- }
181
- /** DROP TABLE */
182
- export interface DropTableQueryDef {
183
- type: "dropTable";
184
- table: QueryDefObjectName;
185
- }
186
- /** RENAME TABLE */
187
- export interface RenameTableQueryDef {
188
- type: "renameTable";
189
- table: QueryDefObjectName;
190
- newName: string;
191
- }
192
- /** TRUNCATE TABLE */
193
- export interface TruncateQueryDef {
194
- type: "truncate";
195
- table: QueryDefObjectName;
196
- }
197
- /** ADD COLUMN */
198
- export interface AddColumnQueryDef {
199
- type: "addColumn";
200
- table: QueryDefObjectName;
201
- column: {
202
- name: string;
203
- dataType: DataType;
204
- autoIncrement?: boolean;
205
- nullable?: boolean;
206
- default?: ColumnPrimitive;
207
- };
208
- }
209
- /** DROP COLUMN */
210
- export interface DropColumnQueryDef {
211
- type: "dropColumn";
212
- table: QueryDefObjectName;
213
- column: string;
214
- }
215
- /** MODIFY COLUMN (타입/속성 변경) */
216
- export interface ModifyColumnQueryDef {
217
- type: "modifyColumn";
218
- table: QueryDefObjectName;
219
- column: {
220
- name: string;
221
- dataType: DataType;
222
- autoIncrement?: boolean;
223
- nullable?: boolean;
224
- default?: ColumnPrimitive;
225
- };
226
- }
227
- /** RENAME COLUMN */
228
- export interface RenameColumnQueryDef {
229
- type: "renameColumn";
230
- table: QueryDefObjectName;
231
- column: string;
232
- newName: string;
233
- }
234
- /** DROP PRIMARY KEY */
235
- export interface DropPkQueryDef {
236
- type: "dropPk";
237
- table: QueryDefObjectName;
238
- }
239
- /** ADD PRIMARY KEY */
240
- export interface AddPkQueryDef {
241
- type: "addPk";
242
- table: QueryDefObjectName;
243
- columns: string[];
244
- }
245
- /** ADD FOREIGN KEY */
246
- export interface AddFkQueryDef {
247
- type: "addFk";
248
- table: QueryDefObjectName;
249
- foreignKey: {
250
- name: string;
251
- fkColumns: string[];
252
- targetTable: QueryDefObjectName;
253
- targetPkColumns: string[];
254
- };
255
- }
256
- /** DROP FOREIGN KEY */
257
- export interface DropFkQueryDef {
258
- type: "dropFk";
259
- table: QueryDefObjectName;
260
- foreignKey: string;
261
- }
262
- /** CREATE INDEX */
263
- export interface AddIdxQueryDef {
264
- type: "addIdx";
265
- table: QueryDefObjectName;
266
- index: {
267
- name: string;
268
- columns: {
269
- name: string;
270
- orderBy: "ASC" | "DESC";
271
- }[];
272
- unique?: boolean;
273
- };
274
- }
275
- /** DROP INDEX */
276
- export interface DropIdxQueryDef {
277
- type: "dropIdx";
278
- table: QueryDefObjectName;
279
- index: string;
280
- }
281
- /** CREATE VIEW */
282
- export interface CreateViewQueryDef {
283
- type: "createView";
284
- view: QueryDefObjectName;
285
- queryDef: SelectQueryDef;
286
- }
287
- /** DROP VIEW */
288
- export interface DropViewQueryDef {
289
- type: "dropView";
290
- view: QueryDefObjectName;
291
- }
292
- /** CREATE PROCEDURE */
293
- export interface CreateProcQueryDef {
294
- type: "createProc";
295
- procedure: QueryDefObjectName;
296
- params?: Array<{
297
- name: string;
298
- dataType: DataType;
299
- nullable?: boolean;
300
- default?: unknown;
301
- }>;
302
- returns?: Array<{
303
- name: string;
304
- dataType: DataType;
305
- nullable?: boolean;
306
- }>;
307
- query: string;
308
- }
309
- /** DROP PROCEDURE */
310
- export interface DropProcQueryDef {
311
- type: "dropProc";
312
- procedure: QueryDefObjectName;
313
- }
314
- /** EXECUTE PROCEDURE */
315
- export interface ExecProcQueryDef {
316
- type: "execProc";
317
- procedure: QueryDefObjectName;
318
- params: Record<string, Expr> | undefined;
319
- }
320
- /** 스키마 존재 여부 확인 */
321
- export interface SchemaExistsQueryDef {
322
- type: "schemaExists";
323
- database: string;
324
- schema?: string;
325
- }
326
- /**
327
- * DDL (Data Definition Language) 타입 상수
328
- *
329
- * 트랜잭션 내 DDL 차단 및 DDL 타입 검증에 사용
330
- * satisfies 키워드로 DdlQueryDef와의 동기화를 컴파일 타임에 검증
331
- *
332
- * @remarks
333
- * switchFk는 DDL이 아니므로 제외 (트랜잭션 내 사용 가능)
334
- */
335
- export declare const DDL_TYPES: readonly ["clearSchema", "createTable", "dropTable", "renameTable", "truncate", "addColumn", "dropColumn", "modifyColumn", "renameColumn", "dropPk", "addPk", "addFk", "dropFk", "addIdx", "dropIdx", "createView", "dropView", "createProc", "dropProc"];
336
- /** DDL 타입 유니언 */
337
- export type DdlType = (typeof DDL_TYPES)[number];
338
- /**
339
- * 모든 쿼리 정의 유니언 타입
340
- *
341
- * DML (SELECT/INSERT/UPDATE/DELETE/UPSERT) +
342
- * DDL (Table/Column/PK/FK/Index/View/Procedure) +
343
- * Utils (SwitchFk) + Meta (SchemaExists)
344
- *
345
- * @see {@link SelectQueryDef} SELECT 쿼리
346
- * @see {@link InsertQueryDef} INSERT 쿼리
347
- * @see {@link UpdateQueryDef} UPDATE 쿼리
348
- * @see {@link DeleteQueryDef} DELETE 쿼리
349
- */
350
- export type QueryDef = SelectQueryDef | InsertQueryDef | InsertIfNotExistsQueryDef | InsertIntoQueryDef | UpdateQueryDef | DeleteQueryDef | UpsertQueryDef | ClearSchemaQueryDef | CreateTableQueryDef | DropTableQueryDef | RenameTableQueryDef | TruncateQueryDef | AddColumnQueryDef | DropColumnQueryDef | ModifyColumnQueryDef | RenameColumnQueryDef | DropPkQueryDef | AddPkQueryDef | AddFkQueryDef | DropFkQueryDef | AddIdxQueryDef | DropIdxQueryDef | CreateViewQueryDef | DropViewQueryDef | CreateProcQueryDef | DropProcQueryDef | ExecProcQueryDef | SwitchFkQueryDef | SchemaExistsQueryDef;
351
- //# sourceMappingURL=query-def.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-def.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/types/query-def.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import type { ResultMeta } from "../types/db";
2
- /**
3
- * DB 쿼리 결과를 ResultMeta를 통해 TypeScript 객체로 변환
4
- *
5
- * @param rawResults - DB에서 받은 raw 결과 배열
6
- * @param meta - 타입 변환 및 JOIN 구조 정보 (필수)
7
- * @returns 타입 변환 및 중첩화된 결과 배열. 입력이 비거나 유효한 결과가 없으면 undefined
8
- * @throws 타입 파싱 실패 시 Error
9
- *
10
- * @remarks
11
- * - meta 필수: meta가 없으면 이 함수를 호출할 필요 없음 (입력 = 출력)
12
- * - async only: 대용량 처리 시 외부 인터럽트를 위해 동기 버전 미제공
13
- * - browser/node 모두 지원: setTimeout(resolve, 0)으로 yield
14
- * - 빈 결과 처리: 입력 배열이 비거나, 파싱 후 모든 레코드가 빈 객체인 경우 undefined 반환
15
- *
16
- * @example
17
- * ```typescript
18
- * // 1. 단순 타입 파싱
19
- * const raw = [{ id: "1", createdAt: "2026-01-07T10:00:00.000Z" }];
20
- * const meta = { columns: { id: "number", createdAt: "DateTime" }, joins: {} };
21
- * const result = await parseQueryResult(raw, meta);
22
- * // [{ id: 1, createdAt: DateTime(...) }]
23
- *
24
- * // 2. JOIN 결과 중첩화
25
- * const raw = [
26
- * { id: 1, name: "User1", "posts.id": 10, "posts.title": "Post1" },
27
- * { id: 1, name: "User1", "posts.id": 11, "posts.title": "Post2" },
28
- * ];
29
- * const meta = {
30
- * columns: { id: "number", name: "string", "posts.id": "number", "posts.title": "string" },
31
- * joins: { posts: { isSingle: false } }
32
- * };
33
- * const result = await parseQueryResult(raw, meta);
34
- * // [{ id: 1, name: "User1", posts: [{ id: 10, title: "Post1" }, { id: 11, title: "Post2" }] }]
35
- * ```
36
- */
37
- export declare function parseQueryResult<T>(rawResults: Record<string, unknown>[], meta: ResultMeta): Promise<T[] | undefined>;
38
- //# sourceMappingURL=result-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-parser.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/utils/result-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoH9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACrC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAe1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mssql-db-conn.d.ts","sourceRoot":"","sources":["../../../../src/connections/mssql-db-conn.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,YAAY,EAKb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAA2C,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMhH;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAE,YAAW,MAAM;IAW5E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IAXpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,OAAO,CAAC,KAAK,CAAC,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,SAAS,CAA6B;IAE9C,WAAW,UAAS;IACpB,eAAe,UAAS;gBAGL,QAAQ,EAAE,cAAc,SAAS,CAAC,EAC1C,MAAM,EAAE,iBAAiB;IAK9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBpC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAUhD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IA6F5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAoDhB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,wCAAwC;IAqBhD,OAAO,CAAC,uCAAuC;IA4C/C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAmB1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mysql-db-conn.d.ts","sourceRoot":"","sources":["../../../../src/connections/mysql-db-conn.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,YAAY,EAIb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAA2C,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIhH;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAE,YAAW,MAAM;IAW5E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IAXpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAgC;IAErD,WAAW,UAAS;IACpB,eAAe,UAAS;gBAGL,OAAO,EAAE,cAAc,gBAAgB,CAAC,EAChD,MAAM,EAAE,iBAAiB;IAK9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAShD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAsC5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAuDhB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4CrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;CAQtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgresql-db-conn.d.ts","sourceRoot":"","sources":["../../../../src/connections/postgresql-db-conn.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,YAAY,EAIb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAA2C,KAAK,MAAM,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAErH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,YAAY,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAE,YAAW,MAAM;IAUjF,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IAXzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,YAAY,CAAC,CAAgC;IAErD,WAAW,UAAS;IACpB,eAAe,UAAS;gBAGL,GAAG,EAAE,cAAc,IAAI,CAAC,EACxB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,EAC3D,MAAM,EAAE,sBAAsB;IAKnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAShD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAmB5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACH,OAAO,CAAC,aAAa;IA+CrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;CAQtB"}
@@ -1,25 +0,0 @@
1
- import type { DbConn, DbConnConfig } from "./types/db-conn";
2
- /**
3
- * DB 연결 팩토리
4
- *
5
- * 데이터베이스 연결 인스턴스를 생성하고 풀링을 관리한다.
6
- * MSSQL, MySQL, PostgreSQL을 지원한다.
7
- */
8
- export declare class DbConnFactory {
9
- private static readonly _poolMap;
10
- /**
11
- * DB 연결 생성
12
- *
13
- * 커넥션 풀에서 연결을 획득하여 반환한다.
14
- * 풀이 없는 경우 새로 생성한다.
15
- *
16
- * @param config - 데이터베이스 연결 설정
17
- * @returns 풀링된 DB 연결 객체
18
- */
19
- static create(config: DbConnConfig): Promise<DbConn>;
20
- private static _getOrCreatePool;
21
- private static _createRawConnection;
22
- private static readonly _modules;
23
- private static _ensureModule;
24
- }
25
- //# sourceMappingURL=db-conn-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db-conn-factory.d.ts","sourceRoot":"","sources":["../../../src/db-conn-factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM5D;;;;;GAKG;AACH,qBAAa,aAAa;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAEnE;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpD,OAAO,CAAC,MAAM,CAAC,gBAAgB;mBAuCV,oBAAoB;IAgBzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAKzB;mBAEc,aAAa;CAgBnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAGhC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-db-context-executor.d.ts","sourceRoot":"","sources":["../../../src/node-db-context-executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,UAAU,EAEV,UAAU,EACV,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAIjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEN,OAAO,EAAE,YAAY;IAIlD;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;OAKG;IACG,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAKlF;;;;;;;OAOG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlH;;;;;;;;;OASG;IACG,WAAW,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAqC7G,OAAO,CAAC,YAAY;CAMrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pooled-db-conn.d.ts","sourceRoot":"","sources":["../../../src/pooled-db-conn.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAkB,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIjF;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAE,YAAW,MAAM;IAK7E,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAGP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EACnB,cAAc,EAAE,YAAY;IAM/C,IAAI,MAAM,IAAI,YAAY,CAEzB;IAGD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAGD,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAIF;;;;;OAKG;IACG,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAKtD;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAKlF;;;;;;;OAOG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAKhB,OAAO,CAAC,eAAe;CAMxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sd-orm.d.ts","sourceRoot":"","sources":["../../../src/sd-orm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,KAAK,CAAC,CAAC,SAAS,SAAS;IAElC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY;gBAFtB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,YAAY,YAAA;IAGjC;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhG;;;;;OAKG;IACG,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKjF;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAYzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"db-conn.d.ts","sourceRoot":"","sources":["../../../../src/types/db-conn.ts"],"names":[],"mappings":"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"}
package/dist/sd-orm.js DELETED
@@ -1,44 +0,0 @@
1
- import { NodeDbContextExecutor } from "./node-db-context-executor";
2
- class SdOrm {
3
- constructor(dbContextType, config, options) {
4
- this.dbContextType = dbContextType;
5
- this.config = config;
6
- this.options = options;
7
- }
8
- /**
9
- * 트랜잭션 내에서 콜백 실행
10
- *
11
- * @param callback - DB 연결 후 실행할 콜백
12
- * @param isolationLevel - 트랜잭션 격리 수준
13
- * @returns 콜백 결과
14
- */
15
- async connect(callback, isolationLevel) {
16
- const db = this._createDbContext();
17
- return db.connect(async () => callback(db), isolationLevel);
18
- }
19
- /**
20
- * 트랜잭션 없이 콜백 실행
21
- *
22
- * @param callback - DB 연결 후 실행할 콜백
23
- * @returns 콜백 결과
24
- */
25
- async connectWithoutTransaction(callback) {
26
- const db = this._createDbContext();
27
- return db.connectWithoutTransaction(async () => callback(db));
28
- }
29
- /**
30
- * DbContext 인스턴스 생성
31
- */
32
- _createDbContext() {
33
- const database = this.options?.database ?? ("database" in this.config ? this.config.database : void 0);
34
- const schema = this.options?.schema ?? ("schema" in this.config ? this.config.schema : void 0);
35
- return new this.dbContextType(new NodeDbContextExecutor(this.config), {
36
- database,
37
- schema
38
- });
39
- }
40
- }
41
- export {
42
- SdOrm
43
- };
44
- //# sourceMappingURL=sd-orm.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/sd-orm.ts"],
4
- "sourcesContent": ["import type { DbContext, IsolationLevel } from \"@simplysm/orm-common\";\nimport type { Type } from \"@simplysm/core-common\";\nimport type { DbConnConfig } from \"./types/db-conn\";\nimport { NodeDbContextExecutor } from \"./node-db-context-executor\";\n\n/**\n * SdOrm \uC635\uC158\n *\n * DbConnConfig\uBCF4\uB2E4 \uC6B0\uC120 \uC801\uC6A9\uB418\uB294 DbContext \uC635\uC158\n */\nexport interface SdOrmOptions {\n /**\n * \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984 (DbConnConfig\uC758 database \uB300\uC2E0 \uC0AC\uC6A9)\n */\n database?: string;\n\n /**\n * \uC2A4\uD0A4\uB9C8 \uC774\uB984 (MSSQL: dbo, PostgreSQL: public)\n */\n schema?: string;\n}\n\n/**\n * Node.js ORM \uD074\uB798\uC2A4\n *\n * DbContext\uC640 DB \uC5F0\uACB0\uC744 \uAD00\uB9AC\uD558\uB294 \uCD5C\uC0C1\uC704 \uD074\uB798\uC2A4\uC785\uB2C8\uB2E4.\n * DbContext \uD0C0\uC785\uACFC \uC5F0\uACB0 \uC124\uC815\uC744 \uBC1B\uC544 \uD2B8\uB79C\uC7AD\uC158\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4.\n *\n * @example\n * ```typescript\n * class MyDb extends DbContext {\n * readonly user = queryable(this, User);\n * }\n *\n * const orm = new SdOrm(MyDb, {\n * dialect: \"mysql\",\n * host: \"localhost\",\n * port: 3306,\n * username: \"root\",\n * password: \"password\",\n * database: \"mydb\",\n * });\n *\n * // \uD2B8\uB79C\uC7AD\uC158 \uB0B4\uC5D0\uC11C \uC2E4\uD589\n * await orm.connect(async (db) => {\n * const users = await db.user().result();\n * return users;\n * });\n *\n * // \uD2B8\uB79C\uC7AD\uC158 \uC5C6\uC774 \uC2E4\uD589\n * await orm.connectWithoutTransaction(async (db) => {\n * const users = await db.user().result();\n * return users;\n * });\n * ```\n */\nexport class SdOrm<T extends DbContext> {\n constructor(\n readonly dbContextType: Type<T>,\n readonly config: DbConnConfig,\n readonly options?: SdOrmOptions,\n ) {}\n\n /**\n * \uD2B8\uB79C\uC7AD\uC158 \uB0B4\uC5D0\uC11C \uCF5C\uBC31 \uC2E4\uD589\n *\n * @param callback - DB \uC5F0\uACB0 \uD6C4 \uC2E4\uD589\uD560 \uCF5C\uBC31\n * @param isolationLevel - \uD2B8\uB79C\uC7AD\uC158 \uACA9\uB9AC \uC218\uC900\n * @returns \uCF5C\uBC31 \uACB0\uACFC\n */\n async connect<R>(callback: (conn: T) => Promise<R>, isolationLevel?: IsolationLevel): Promise<R> {\n const db = this._createDbContext();\n return db.connect(async () => callback(db), isolationLevel);\n }\n\n /**\n * \uD2B8\uB79C\uC7AD\uC158 \uC5C6\uC774 \uCF5C\uBC31 \uC2E4\uD589\n *\n * @param callback - DB \uC5F0\uACB0 \uD6C4 \uC2E4\uD589\uD560 \uCF5C\uBC31\n * @returns \uCF5C\uBC31 \uACB0\uACFC\n */\n async connectWithoutTransaction<R>(callback: (conn: T) => Promise<R>): Promise<R> {\n const db = this._createDbContext();\n return db.connectWithoutTransaction(async () => callback(db));\n }\n\n /**\n * DbContext \uC778\uC2A4\uD134\uC2A4 \uC0DD\uC131\n */\n private _createDbContext(): T {\n // database\uB294 options\uC5D0\uC11C \uC6B0\uC120, \uC5C6\uC73C\uBA74 config\uC5D0\uC11C\n const database = this.options?.database ?? (\"database\" in this.config ? this.config.database : undefined);\n\n // schema\uB294 options\uC5D0\uC11C \uC6B0\uC120, \uC5C6\uC73C\uBA74 config\uC5D0\uC11C\n const schema = this.options?.schema ?? (\"schema\" in this.config ? this.config.schema : undefined);\n\n return new this.dbContextType(new NodeDbContextExecutor(this.config), {\n database,\n schema,\n });\n }\n}\n"],
5
- "mappings": "AAGA,SAAS,6BAA6B;AAqD/B,MAAM,MAA2B;AAAA,EACtC,YACW,eACA,QACA,SACT;AAHS;AACA;AACA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASH,MAAM,QAAW,UAAmC,gBAA6C;AAC/F,UAAM,KAAK,KAAK,iBAAiB;AACjC,WAAO,GAAG,QAAQ,YAAY,SAAS,EAAE,GAAG,cAAc;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,0BAA6B,UAA+C;AAChF,UAAM,KAAK,KAAK,iBAAiB;AACjC,WAAO,GAAG,0BAA0B,YAAY,SAAS,EAAE,CAAC;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKQ,mBAAsB;AAE5B,UAAM,WAAW,KAAK,SAAS,aAAa,cAAc,KAAK,SAAS,KAAK,OAAO,WAAW;AAG/F,UAAM,SAAS,KAAK,SAAS,WAAW,YAAY,KAAK,SAAS,KAAK,OAAO,SAAS;AAEvF,WAAO,IAAI,KAAK,cAAc,IAAI,sBAAsB,KAAK,MAAM,GAAG;AAAA,MACpE;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
- "names": []
7
- }
@@ -1,114 +0,0 @@
1
- import type { Pool } from "generic-pool";
2
- import { createPool } from "generic-pool";
3
- import type { DbConn, DbConnConfig } from "./types/db-conn";
4
- import { PooledDbConn } from "./pooled-db-conn";
5
- import { MysqlDbConn } from "./connections/mysql-db-conn";
6
- import { MssqlDbConn } from "./connections/mssql-db-conn";
7
- import { PostgresqlDbConn } from "./connections/postgresql-db-conn";
8
-
9
- /**
10
- * DB 연결 팩토리
11
- *
12
- * 데이터베이스 연결 인스턴스를 생성하고 풀링을 관리한다.
13
- * MSSQL, MySQL, PostgreSQL을 지원한다.
14
- */
15
- export class DbConnFactory {
16
- // 설정별 커넥션 풀 캐싱
17
- private static readonly _poolMap = new Map<string, Pool<DbConn>>();
18
-
19
- /**
20
- * DB 연결 생성
21
- *
22
- * 커넥션 풀에서 연결을 획득하여 반환한다.
23
- * 풀이 없는 경우 새로 생성한다.
24
- *
25
- * @param config - 데이터베이스 연결 설정
26
- * @returns 풀링된 DB 연결 객체
27
- */
28
- static create(config: DbConnConfig): Promise<DbConn> {
29
- // 1. 풀 가져오기 (없으면 생성)
30
- const pool = this._getOrCreatePool(config);
31
-
32
- // 2. 래퍼 객체 반환
33
- return Promise.resolve(new PooledDbConn(pool, config));
34
- }
35
-
36
- private static _getOrCreatePool(config: DbConnConfig): Pool<DbConn> {
37
- // 객체를 키로 쓰기 위해 문자열 변환 (중첩 객체도 정렬하여 동일 설정의 일관된 키 보장)
38
- const configKey = JSON.stringify(config, (_, value: unknown) =>
39
- value != null && typeof value === "object" && !Array.isArray(value)
40
- ? Object.fromEntries(Object.entries(value).sort(([a], [b]) => a.localeCompare(b)))
41
- : value,
42
- );
43
-
44
- if (!this._poolMap.has(configKey)) {
45
- const pool = createPool<DbConn>(
46
- {
47
- create: async () => {
48
- const conn = await this._createRawConnection(config);
49
- await conn.connect();
50
- return conn;
51
- },
52
- destroy: async (conn) => {
53
- await conn.close(); // 풀에서 제거될 때 실제 연결 종료
54
- },
55
- validate: (conn) => {
56
- // 획득 시 연결 상태 확인 (끊겨있으면 Pool이 폐기하고 새로 만듦)
57
- return Promise.resolve(conn.isConnected);
58
- },
59
- },
60
- {
61
- min: config.pool?.min ?? 1,
62
- max: config.pool?.max ?? 10,
63
- acquireTimeoutMillis: config.pool?.acquireTimeoutMillis ?? 30000,
64
- idleTimeoutMillis: config.pool?.idleTimeoutMillis ?? 30000,
65
- testOnBorrow: true, // [중요] 빌려줄 때 validate 실행 여부
66
- },
67
- );
68
-
69
- this._poolMap.set(configKey, pool);
70
- }
71
-
72
- return this._poolMap.get(configKey)!;
73
- }
74
-
75
- private static async _createRawConnection(config: DbConnConfig): Promise<DbConn> {
76
- if (config.dialect === "mysql") {
77
- const mysql = await this._ensureModule("mysql");
78
- return new MysqlDbConn(mysql, config);
79
- } else if (config.dialect === "postgresql") {
80
- const pg = await this._ensureModule("pg");
81
- const pgCopyStreams = await this._ensureModule("pgCopyStreams");
82
- return new PostgresqlDbConn(pg, pgCopyStreams.from, config);
83
- } else {
84
- // mssql, mssql-azure
85
- const tedious = await this._ensureModule("tedious");
86
- return new MssqlDbConn(tedious, config);
87
- }
88
- }
89
-
90
- // 지연 로딩 모듈 캐시
91
- private static readonly _modules: {
92
- tedious?: typeof import("tedious");
93
- mysql?: typeof import("mysql2/promise");
94
- pg?: typeof import("pg");
95
- pgCopyStreams?: typeof import("pg-copy-streams");
96
- } = {};
97
-
98
- private static async _ensureModule<K extends keyof typeof this._modules>(
99
- name: K,
100
- ): Promise<NonNullable<(typeof this._modules)[K]>> {
101
- if (this._modules[name] == null) {
102
- if (name === "mysql") {
103
- this._modules.mysql = await import("mysql2/promise");
104
- } else if (name === "pg") {
105
- this._modules.pg = await import("pg");
106
- } else if (name === "pgCopyStreams") {
107
- this._modules.pgCopyStreams = await import("pg-copy-streams");
108
- } else {
109
- this._modules.tedious = await import("tedious");
110
- }
111
- }
112
- return this._modules[name]!;
113
- }
114
- }