@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.
- package/README.md +28 -23
- package/dist/connections/mssql-db-conn.d.ts.map +1 -0
- package/dist/connections/mssql-db-conn.js +3 -3
- package/dist/connections/mssql-db-conn.js.map +1 -2
- package/dist/connections/mysql-db-conn.d.ts.map +1 -0
- package/dist/connections/mysql-db-conn.js +3 -3
- package/dist/connections/mysql-db-conn.js.map +1 -2
- package/dist/connections/postgresql-db-conn.d.ts.map +1 -0
- package/dist/connections/postgresql-db-conn.js +3 -3
- package/dist/connections/postgresql-db-conn.js.map +1 -2
- package/dist/create-db-conn.d.ts +12 -0
- package/dist/create-db-conn.d.ts.map +1 -0
- package/dist/create-db-conn.js +75 -0
- package/dist/create-db-conn.js.map +6 -0
- package/dist/{orm-node/src/sd-orm.d.ts → create-orm.d.ts} +37 -37
- package/dist/create-orm.d.ts.map +1 -0
- package/dist/create-orm.js +32 -0
- package/dist/create-orm.js.map +6 -0
- package/dist/{orm-node/src/index.d.ts → index.d.ts} +2 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -8
- package/dist/index.js.map +0 -1
- package/dist/node-db-context-executor.d.ts.map +1 -0
- package/dist/node-db-context-executor.js +3 -3
- package/dist/node-db-context-executor.js.map +1 -2
- package/dist/pooled-db-conn.d.ts.map +1 -0
- package/dist/pooled-db-conn.js +3 -3
- package/dist/pooled-db-conn.js.map +1 -2
- package/dist/types/db-conn.d.ts.map +1 -0
- package/dist/types/db-conn.js.map +0 -1
- package/package.json +12 -8
- package/src/connections/mssql-db-conn.ts +2 -2
- package/src/connections/mysql-db-conn.ts +2 -2
- package/src/connections/postgresql-db-conn.ts +2 -2
- package/src/create-db-conn.ts +111 -0
- package/src/create-orm.ts +118 -0
- package/src/index.ts +2 -2
- package/src/node-db-context-executor.ts +2 -2
- package/src/pooled-db-conn.ts +2 -2
- package/.cache/typecheck-node.tsbuildinfo +0 -1
- package/dist/core-common/src/common.types.d.ts +0 -74
- package/dist/core-common/src/common.types.d.ts.map +0 -1
- package/dist/core-common/src/env.d.ts +0 -6
- package/dist/core-common/src/env.d.ts.map +0 -1
- package/dist/core-common/src/errors/argument-error.d.ts +0 -25
- package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
- package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/sd-error.d.ts +0 -27
- package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
- package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
- package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
- package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
- package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
- package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
- package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
- package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
- package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
- package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
- package/dist/core-common/src/features/event-emitter.d.ts +0 -66
- package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
- package/dist/core-common/src/features/serial-queue.d.ts +0 -47
- package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
- package/dist/core-common/src/index.d.ts +0 -32
- package/dist/core-common/src/index.d.ts.map +0 -1
- package/dist/core-common/src/types/date-only.d.ts +0 -152
- package/dist/core-common/src/types/date-only.d.ts.map +0 -1
- package/dist/core-common/src/types/date-time.d.ts +0 -96
- package/dist/core-common/src/types/date-time.d.ts.map +0 -1
- package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
- package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
- package/dist/core-common/src/types/time.d.ts +0 -68
- package/dist/core-common/src/types/time.d.ts.map +0 -1
- package/dist/core-common/src/types/uuid.d.ts +0 -35
- package/dist/core-common/src/types/uuid.d.ts.map +0 -1
- package/dist/core-common/src/utils/bytes.d.ts +0 -51
- package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
- package/dist/core-common/src/utils/date-format.d.ts +0 -90
- package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
- package/dist/core-common/src/utils/json.d.ts +0 -34
- package/dist/core-common/src/utils/json.d.ts.map +0 -1
- package/dist/core-common/src/utils/num.d.ts +0 -60
- package/dist/core-common/src/utils/num.d.ts.map +0 -1
- package/dist/core-common/src/utils/obj.d.ts +0 -258
- package/dist/core-common/src/utils/obj.d.ts.map +0 -1
- package/dist/core-common/src/utils/path.d.ts +0 -23
- package/dist/core-common/src/utils/path.d.ts.map +0 -1
- package/dist/core-common/src/utils/primitive.d.ts +0 -18
- package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
- package/dist/core-common/src/utils/str.d.ts +0 -103
- package/dist/core-common/src/utils/str.d.ts.map +0 -1
- package/dist/core-common/src/utils/template-strings.d.ts +0 -84
- package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
- package/dist/core-common/src/utils/transferable.d.ts +0 -47
- package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
- package/dist/core-common/src/utils/wait.d.ts +0 -19
- package/dist/core-common/src/utils/wait.d.ts.map +0 -1
- package/dist/core-common/src/utils/xml.d.ts +0 -36
- package/dist/core-common/src/utils/xml.d.ts.map +0 -1
- package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
- package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
- package/dist/db-conn-factory.js +0 -88
- package/dist/db-conn-factory.js.map +0 -7
- package/dist/orm-common/src/db-context.d.ts +0 -669
- package/dist/orm-common/src/db-context.d.ts.map +0 -1
- package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
- package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
- package/dist/orm-common/src/exec/executable.d.ts +0 -79
- package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
- package/dist/orm-common/src/exec/queryable.d.ts +0 -708
- package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
- package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
- package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
- package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
- package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
- package/dist/orm-common/src/expr/expr.d.ts +0 -1369
- package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
- package/dist/orm-common/src/index.d.ts +0 -32
- package/dist/orm-common/src/index.d.ts.map +0 -1
- package/dist/orm-common/src/models/system-migration.d.ts +0 -10
- package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
- package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
- package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
- package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
- package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
- package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
- package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
- package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
- package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
- package/dist/orm-common/src/types/column.d.ts +0 -172
- package/dist/orm-common/src/types/column.d.ts.map +0 -1
- package/dist/orm-common/src/types/db.d.ts +0 -175
- package/dist/orm-common/src/types/db.d.ts.map +0 -1
- package/dist/orm-common/src/types/expr.d.ts +0 -474
- package/dist/orm-common/src/types/expr.d.ts.map +0 -1
- package/dist/orm-common/src/types/query-def.d.ts +0 -351
- package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
- package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
- package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
- package/dist/orm-node/src/connections/mssql-db-conn.d.ts.map +0 -1
- package/dist/orm-node/src/connections/mysql-db-conn.d.ts.map +0 -1
- package/dist/orm-node/src/connections/postgresql-db-conn.d.ts.map +0 -1
- package/dist/orm-node/src/db-conn-factory.d.ts +0 -25
- package/dist/orm-node/src/db-conn-factory.d.ts.map +0 -1
- package/dist/orm-node/src/index.d.ts.map +0 -1
- package/dist/orm-node/src/node-db-context-executor.d.ts.map +0 -1
- package/dist/orm-node/src/pooled-db-conn.d.ts.map +0 -1
- package/dist/orm-node/src/sd-orm.d.ts.map +0 -1
- package/dist/orm-node/src/types/db-conn.d.ts.map +0 -1
- package/dist/sd-orm.js +0 -44
- package/dist/sd-orm.js.map +0 -7
- package/src/db-conn-factory.ts +0 -114
- package/src/sd-orm.ts +0 -102
- /package/dist/{orm-node/src/connections → connections}/mssql-db-conn.d.ts +0 -0
- /package/dist/{orm-node/src/connections → connections}/mysql-db-conn.d.ts +0 -0
- /package/dist/{orm-node/src/connections → connections}/postgresql-db-conn.d.ts +0 -0
- /package/dist/{orm-node/src/node-db-context-executor.d.ts → node-db-context-executor.d.ts} +0 -0
- /package/dist/{orm-node/src/pooled-db-conn.d.ts → pooled-db-conn.d.ts} +0 -0
- /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
|
package/dist/sd-orm.js.map
DELETED
|
@@ -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
|
-
}
|
package/src/db-conn-factory.ts
DELETED
|
@@ -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
|
-
}
|