@simplysm/service-client 13.0.0-beta.11

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 (194) hide show
  1. package/README.md +397 -0
  2. package/dist/core-common/src/common.types.d.ts +74 -0
  3. package/dist/core-common/src/common.types.d.ts.map +1 -0
  4. package/dist/core-common/src/env.d.ts +6 -0
  5. package/dist/core-common/src/env.d.ts.map +1 -0
  6. package/dist/core-common/src/errors/argument-error.d.ts +25 -0
  7. package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
  8. package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
  9. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
  10. package/dist/core-common/src/errors/sd-error.d.ts +27 -0
  11. package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
  12. package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
  13. package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
  14. package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
  15. package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
  16. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
  17. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
  18. package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
  19. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
  20. package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
  21. package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
  22. package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
  23. package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
  24. package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
  25. package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
  26. package/dist/core-common/src/features/event-emitter.d.ts +66 -0
  27. package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
  28. package/dist/core-common/src/features/serial-queue.d.ts +47 -0
  29. package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
  30. package/dist/core-common/src/index.d.ts +32 -0
  31. package/dist/core-common/src/index.d.ts.map +1 -0
  32. package/dist/core-common/src/types/date-only.d.ts +152 -0
  33. package/dist/core-common/src/types/date-only.d.ts.map +1 -0
  34. package/dist/core-common/src/types/date-time.d.ts +96 -0
  35. package/dist/core-common/src/types/date-time.d.ts.map +1 -0
  36. package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
  37. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
  38. package/dist/core-common/src/types/time.d.ts +68 -0
  39. package/dist/core-common/src/types/time.d.ts.map +1 -0
  40. package/dist/core-common/src/types/uuid.d.ts +35 -0
  41. package/dist/core-common/src/types/uuid.d.ts.map +1 -0
  42. package/dist/core-common/src/utils/bytes.d.ts +51 -0
  43. package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
  44. package/dist/core-common/src/utils/date-format.d.ts +90 -0
  45. package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
  46. package/dist/core-common/src/utils/json.d.ts +34 -0
  47. package/dist/core-common/src/utils/json.d.ts.map +1 -0
  48. package/dist/core-common/src/utils/num.d.ts +60 -0
  49. package/dist/core-common/src/utils/num.d.ts.map +1 -0
  50. package/dist/core-common/src/utils/obj.d.ts +258 -0
  51. package/dist/core-common/src/utils/obj.d.ts.map +1 -0
  52. package/dist/core-common/src/utils/path.d.ts +23 -0
  53. package/dist/core-common/src/utils/path.d.ts.map +1 -0
  54. package/dist/core-common/src/utils/primitive.d.ts +18 -0
  55. package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
  56. package/dist/core-common/src/utils/str.d.ts +103 -0
  57. package/dist/core-common/src/utils/str.d.ts.map +1 -0
  58. package/dist/core-common/src/utils/template-strings.d.ts +84 -0
  59. package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
  60. package/dist/core-common/src/utils/transferable.d.ts +47 -0
  61. package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
  62. package/dist/core-common/src/utils/wait.d.ts +19 -0
  63. package/dist/core-common/src/utils/wait.d.ts.map +1 -0
  64. package/dist/core-common/src/utils/xml.d.ts +36 -0
  65. package/dist/core-common/src/utils/xml.d.ts.map +1 -0
  66. package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
  67. package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
  68. package/dist/features/event-client.js +74 -0
  69. package/dist/features/event-client.js.map +7 -0
  70. package/dist/features/file-client.js +42 -0
  71. package/dist/features/file-client.js.map +7 -0
  72. package/dist/features/orm/orm-client-connector.js +41 -0
  73. package/dist/features/orm/orm-client-connector.js.map +7 -0
  74. package/dist/features/orm/orm-client-db-context-executor.js +61 -0
  75. package/dist/features/orm/orm-client-db-context-executor.js.map +7 -0
  76. package/dist/features/orm/orm-connect-config.js +1 -0
  77. package/dist/features/orm/orm-connect-config.js.map +7 -0
  78. package/dist/index.js +12 -0
  79. package/dist/index.js.map +7 -0
  80. package/dist/orm-common/src/db-context.d.ts +669 -0
  81. package/dist/orm-common/src/db-context.d.ts.map +1 -0
  82. package/dist/orm-common/src/errors/db-transaction-error.d.ts +51 -0
  83. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +1 -0
  84. package/dist/orm-common/src/exec/executable.d.ts +79 -0
  85. package/dist/orm-common/src/exec/executable.d.ts.map +1 -0
  86. package/dist/orm-common/src/exec/queryable.d.ts +708 -0
  87. package/dist/orm-common/src/exec/queryable.d.ts.map +1 -0
  88. package/dist/orm-common/src/exec/search-parser.d.ts +72 -0
  89. package/dist/orm-common/src/exec/search-parser.d.ts.map +1 -0
  90. package/dist/orm-common/src/expr/expr-unit.d.ts +25 -0
  91. package/dist/orm-common/src/expr/expr-unit.d.ts.map +1 -0
  92. package/dist/orm-common/src/expr/expr.d.ts +1369 -0
  93. package/dist/orm-common/src/expr/expr.d.ts.map +1 -0
  94. package/dist/orm-common/src/index.d.ts +32 -0
  95. package/dist/orm-common/src/index.d.ts.map +1 -0
  96. package/dist/orm-common/src/models/system-migration.d.ts +10 -0
  97. package/dist/orm-common/src/models/system-migration.d.ts.map +1 -0
  98. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +95 -0
  99. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +1 -0
  100. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +66 -0
  101. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +1 -0
  102. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +84 -0
  103. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -0
  104. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +45 -0
  105. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +1 -0
  106. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +84 -0
  107. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -0
  108. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +54 -0
  109. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +1 -0
  110. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +84 -0
  111. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -0
  112. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +52 -0
  113. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -0
  114. package/dist/orm-common/src/query-builder/query-builder.d.ts +7 -0
  115. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +1 -0
  116. package/dist/orm-common/src/schema/factory/column-builder.d.ts +394 -0
  117. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +1 -0
  118. package/dist/orm-common/src/schema/factory/index-builder.d.ts +151 -0
  119. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +1 -0
  120. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +337 -0
  121. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +1 -0
  122. package/dist/orm-common/src/schema/procedure-builder.d.ts +202 -0
  123. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +1 -0
  124. package/dist/orm-common/src/schema/table-builder.d.ts +259 -0
  125. package/dist/orm-common/src/schema/table-builder.d.ts.map +1 -0
  126. package/dist/orm-common/src/schema/view-builder.d.ts +183 -0
  127. package/dist/orm-common/src/schema/view-builder.d.ts.map +1 -0
  128. package/dist/orm-common/src/types/column.d.ts +172 -0
  129. package/dist/orm-common/src/types/column.d.ts.map +1 -0
  130. package/dist/orm-common/src/types/db.d.ts +175 -0
  131. package/dist/orm-common/src/types/db.d.ts.map +1 -0
  132. package/dist/orm-common/src/types/expr.d.ts +474 -0
  133. package/dist/orm-common/src/types/expr.d.ts.map +1 -0
  134. package/dist/orm-common/src/types/query-def.d.ts +351 -0
  135. package/dist/orm-common/src/types/query-def.d.ts.map +1 -0
  136. package/dist/orm-common/src/utils/result-parser.d.ts +38 -0
  137. package/dist/orm-common/src/utils/result-parser.d.ts.map +1 -0
  138. package/dist/protocol/client-protocol-wrapper.js +92 -0
  139. package/dist/protocol/client-protocol-wrapper.js.map +7 -0
  140. package/dist/service-client/src/features/event-client.d.ts +14 -0
  141. package/dist/service-client/src/features/event-client.d.ts.map +1 -0
  142. package/dist/service-client/src/features/file-client.d.ts +13 -0
  143. package/dist/service-client/src/features/file-client.d.ts.map +1 -0
  144. package/dist/service-client/src/features/orm/orm-client-connector.d.ts +10 -0
  145. package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +1 -0
  146. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +26 -0
  147. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +1 -0
  148. package/dist/service-client/src/features/orm/orm-connect-config.d.ts +13 -0
  149. package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +1 -0
  150. package/dist/service-client/src/index.d.ts +12 -0
  151. package/dist/service-client/src/index.d.ts.map +1 -0
  152. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +23 -0
  153. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +1 -0
  154. package/dist/service-client/src/service-client.d.ts +41 -0
  155. package/dist/service-client/src/service-client.d.ts.map +1 -0
  156. package/dist/service-client/src/transport/service-transport.d.ts +24 -0
  157. package/dist/service-client/src/transport/service-transport.d.ts.map +1 -0
  158. package/dist/service-client/src/transport/socket-provider.d.ts +31 -0
  159. package/dist/service-client/src/transport/socket-provider.d.ts.map +1 -0
  160. package/dist/service-client/src/types/connection-config.d.ts +8 -0
  161. package/dist/service-client/src/types/connection-config.d.ts.map +1 -0
  162. package/dist/service-client/src/types/progress.types.d.ts +10 -0
  163. package/dist/service-client/src/types/progress.types.d.ts.map +1 -0
  164. package/dist/service-client/src/workers/client-protocol.worker.d.ts +2 -0
  165. package/dist/service-client/src/workers/client-protocol.worker.d.ts.map +1 -0
  166. package/dist/service-client.js +114 -0
  167. package/dist/service-client.js.map +7 -0
  168. package/dist/service-common/src/index.d.ts +8 -0
  169. package/dist/service-common/src/index.d.ts.map +1 -0
  170. package/dist/service-common/src/protocol/protocol.types.d.ts +100 -0
  171. package/dist/service-common/src/protocol/protocol.types.d.ts.map +1 -0
  172. package/dist/service-common/src/protocol/service-protocol.d.ts +63 -0
  173. package/dist/service-common/src/protocol/service-protocol.d.ts.map +1 -0
  174. package/dist/service-common/src/service-types/auto-update-service.types.d.ts +17 -0
  175. package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +1 -0
  176. package/dist/service-common/src/service-types/crypto-service.types.d.ts +22 -0
  177. package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +1 -0
  178. package/dist/service-common/src/service-types/orm-service.types.d.ts +30 -0
  179. package/dist/service-common/src/service-types/orm-service.types.d.ts.map +1 -0
  180. package/dist/service-common/src/service-types/smtp-service.types.d.ts +55 -0
  181. package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +1 -0
  182. package/dist/service-common/src/types.d.ts +43 -0
  183. package/dist/service-common/src/types.d.ts.map +1 -0
  184. package/dist/transport/service-transport.js +112 -0
  185. package/dist/transport/service-transport.js.map +7 -0
  186. package/dist/transport/socket-provider.js +170 -0
  187. package/dist/transport/socket-provider.js.map +7 -0
  188. package/dist/types/connection-config.js +1 -0
  189. package/dist/types/connection-config.js.map +7 -0
  190. package/dist/types/progress.types.js +1 -0
  191. package/dist/types/progress.types.js.map +7 -0
  192. package/dist/workers/client-protocol.worker.js +30 -0
  193. package/dist/workers/client-protocol.worker.js.map +7 -0
  194. package/package.json +29 -0
@@ -0,0 +1,351 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-def.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/types/query-def.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,92 @@
1
+ import { LazyGcMap, transferableDecode, Uuid } from "@simplysm/core-common";
2
+ import { ServiceProtocol } from "@simplysm/service-common";
3
+ class ClientProtocolWrapper {
4
+ // 기준값: 30KB
5
+ _SIZE_THRESHOLD = 30 * 1024;
6
+ // 메인 스레드용 프로토콜 (가벼운 작업용)
7
+ _protocol = new ServiceProtocol();
8
+ // 워커 스레드 (무거운 작업용)
9
+ static _worker;
10
+ // 워커 요청 대기열 (Key: UUID)
11
+ static _workerResolvers = new LazyGcMap({
12
+ gcInterval: 5 * 1e3,
13
+ // 5초마다 만료 검사
14
+ expireTime: 60 * 1e3,
15
+ // 60초가 지나면 만료 (타임아웃)
16
+ onExpire: (key, item) => {
17
+ item.reject(new Error(`Worker task timed out (uuid: ${key})`));
18
+ }
19
+ });
20
+ // Worker 사용 가능 여부 (브라우저 환경에서만 true)
21
+ static _workerAvailable;
22
+ static get workerAvailable() {
23
+ if (this._workerAvailable === void 0) {
24
+ this._workerAvailable = typeof Worker !== "undefined";
25
+ }
26
+ return this._workerAvailable;
27
+ }
28
+ static get worker() {
29
+ if (!this.workerAvailable) {
30
+ return void 0;
31
+ }
32
+ if (!this._worker) {
33
+ this._worker = new Worker(new URL("../workers/client-protocol.worker.ts", import.meta.url), {
34
+ type: "module"
35
+ });
36
+ this._worker.onmessage = (event) => {
37
+ const { id, type, result, error } = event.data;
38
+ const resolver = this._workerResolvers.get(id);
39
+ if (resolver != null) {
40
+ if (type === "success") {
41
+ resolver.resolve(result);
42
+ } else {
43
+ const err = new Error((error == null ? void 0 : error.message) ?? "Unknown worker error");
44
+ err.stack = error == null ? void 0 : error.stack;
45
+ resolver.reject(err);
46
+ }
47
+ this._workerResolvers.delete(id);
48
+ }
49
+ };
50
+ }
51
+ return this._worker;
52
+ }
53
+ /**
54
+ * Worker에 작업 위임 및 결과 대기
55
+ * 주의: workerAvailable이 true일 때만 호출해야 함
56
+ */
57
+ async _runWorker(type, data, transfer = []) {
58
+ return new Promise((resolve, reject) => {
59
+ const id = Uuid.new().toString();
60
+ ClientProtocolWrapper._workerResolvers.set(id, { resolve, reject });
61
+ ClientProtocolWrapper.worker.postMessage({ id, type, data }, { transfer });
62
+ });
63
+ }
64
+ async encode(uuid, message) {
65
+ if (!ClientProtocolWrapper.workerAvailable || !this._shouldUseWorkerForEncode(message)) {
66
+ return this._protocol.encode(uuid, message);
67
+ }
68
+ return await this._runWorker("encode", { uuid, message });
69
+ }
70
+ async decode(bytes) {
71
+ const totalSize = bytes.length;
72
+ if (!ClientProtocolWrapper.workerAvailable || totalSize <= this._SIZE_THRESHOLD) {
73
+ return this._protocol.decode(bytes);
74
+ }
75
+ const rawResult = await this._runWorker("decode", bytes, [bytes.buffer]);
76
+ return transferableDecode(rawResult);
77
+ }
78
+ _shouldUseWorkerForEncode(msg) {
79
+ if (!("body" in msg)) return false;
80
+ const body = msg.body;
81
+ if (body instanceof Uint8Array) return true;
82
+ if (typeof body === "string" && body.length > this._SIZE_THRESHOLD) return true;
83
+ if (Array.isArray(body)) {
84
+ return body.length > 100 || body.length > 0 && body[0] instanceof Uint8Array;
85
+ }
86
+ return false;
87
+ }
88
+ }
89
+ export {
90
+ ClientProtocolWrapper
91
+ };
92
+ //# sourceMappingURL=client-protocol-wrapper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/protocol/client-protocol-wrapper.ts"],
4
+ "sourcesContent": ["import type { Bytes } from \"@simplysm/core-common\";\nimport { LazyGcMap, transferableDecode, Uuid } from \"@simplysm/core-common\";\nimport type { ServiceMessageDecodeResult, ServiceMessage } from \"@simplysm/service-common\";\nimport { ServiceProtocol } from \"@simplysm/service-common\";\n\nexport class ClientProtocolWrapper {\n // \uAE30\uC900\uAC12: 30KB\n private readonly _SIZE_THRESHOLD = 30 * 1024;\n\n // \uBA54\uC778 \uC2A4\uB808\uB4DC\uC6A9 \uD504\uB85C\uD1A0\uCF5C (\uAC00\uBCBC\uC6B4 \uC791\uC5C5\uC6A9)\n private readonly _protocol = new ServiceProtocol();\n\n // \uC6CC\uCEE4 \uC2A4\uB808\uB4DC (\uBB34\uAC70\uC6B4 \uC791\uC5C5\uC6A9)\n private static _worker?: Worker;\n // \uC6CC\uCEE4 \uC694\uCCAD \uB300\uAE30\uC5F4 (Key: UUID)\n private static readonly _workerResolvers = new LazyGcMap<\n string,\n { resolve: (res: unknown) => void; reject: (err: Error) => void }\n >({\n gcInterval: 5 * 1000, // 5\uCD08\uB9C8\uB2E4 \uB9CC\uB8CC \uAC80\uC0AC\n expireTime: 60 * 1000, // 60\uCD08\uAC00 \uC9C0\uB098\uBA74 \uB9CC\uB8CC (\uD0C0\uC784\uC544\uC6C3)\n onExpire: (key, item) => {\n // \uB9CC\uB8CC \uC2DC reject \uD638\uCD9C (\uBA54\uBAA8\uB9AC \uB9AD \uBC29\uC9C0 \uD575\uC2EC)\n item.reject(new Error(`Worker task timed out (uuid: ${key})`));\n },\n });\n\n // Worker \uC0AC\uC6A9 \uAC00\uB2A5 \uC5EC\uBD80 (\uBE0C\uB77C\uC6B0\uC800 \uD658\uACBD\uC5D0\uC11C\uB9CC true)\n private static _workerAvailable: boolean | undefined;\n\n private static get workerAvailable(): boolean {\n if (this._workerAvailable === undefined) {\n this._workerAvailable = typeof Worker !== \"undefined\";\n }\n return this._workerAvailable;\n }\n\n private static get worker(): Worker | undefined {\n if (!this.workerAvailable) {\n return undefined;\n }\n\n if (!this._worker) {\n // Vite/Esbuild/Webpack \uB4F1 \uBAA8\uB358 \uBC88\uB4E4\uB7EC\uB294 \uC774 \uBB38\uBC95\uC744 \uD1B5\uD574 Worker\uB97C \uBCC4\uB3C4 \uD30C\uC77C\uB85C \uBD84\uB9AC/\uB85C\uB4DC\uD568\n // \uC8FC\uC758: import.meta.resolve \uB300\uC2E0 \uC0C1\uB300\uACBD\uB85C \uC0AC\uC6A9 (Vite \uD638\uD658)\n this._worker = new Worker(new URL(\"../workers/client-protocol.worker.ts\", import.meta.url), {\n type: \"module\",\n });\n\n this._worker.onmessage = (event: MessageEvent) => {\n const { id, type, result, error } = event.data as {\n id: string;\n type: \"success\" | \"error\";\n result?: unknown;\n error?: { message: string; stack?: string };\n };\n\n const resolver = this._workerResolvers.get(id);\n if (resolver != null) {\n if (type === \"success\") {\n resolver.resolve(result);\n } else {\n const err = new Error(error?.message ?? \"Unknown worker error\");\n err.stack = error?.stack;\n resolver.reject(err);\n }\n this._workerResolvers.delete(id);\n }\n };\n }\n return this._worker;\n }\n\n /**\n * Worker\uC5D0 \uC791\uC5C5 \uC704\uC784 \uBC0F \uACB0\uACFC \uB300\uAE30\n * \uC8FC\uC758: workerAvailable\uC774 true\uC77C \uB54C\uB9CC \uD638\uCD9C\uD574\uC57C \uD568\n */\n private async _runWorker(type: \"encode\" | \"decode\", data: unknown, transfer: Transferable[] = []): Promise<unknown> {\n return new Promise((resolve, reject) => {\n const id = Uuid.new().toString();\n\n ClientProtocolWrapper._workerResolvers.set(id, { resolve, reject });\n // workerAvailable \uCCB4\uD06C \uD6C4 \uD638\uCD9C\uB418\uBBC0\uB85C worker\uB294 \uD56D\uC0C1 \uC874\uC7AC\n ClientProtocolWrapper.worker!.postMessage({ id, type, data }, { transfer });\n });\n }\n\n async encode(uuid: string, message: ServiceMessage): Promise<{ chunks: Bytes[]; totalSize: number }> {\n // Worker\uAC00 \uC5C6\uAC70\uB098 \uC791\uC740 \uB370\uC774\uD130\uB294 \uBA54\uC778 \uC2A4\uB808\uB4DC\uC5D0\uC11C \uCC98\uB9AC\n if (!ClientProtocolWrapper.workerAvailable || !this._shouldUseWorkerForEncode(message)) {\n return this._protocol.encode(uuid, message);\n }\n\n // [Worker]\n // Encode\uB294 \uAC1D\uCCB4\uB97C \uBCF4\uB0B4\uC57C \uD558\uBBC0\uB85C Structured Clone\uC774 \uBC1C\uC0DD\uD568.\n // \uD558\uC9C0\uB9CC JSON.stringify \uBE44\uC6A9\uC744 \uBA54\uC778 \uC2A4\uB808\uB4DC\uC5D0\uC11C \uC81C\uAC70\uD558\uB294 \uC774\uB4DD\uC774 \uB354 \uD07C.\n return (await this._runWorker(\"encode\", { uuid, message })) as {\n chunks: Bytes[];\n totalSize: number;\n };\n }\n\n async decode(bytes: Bytes): Promise<ServiceMessageDecodeResult<ServiceMessage>> {\n const totalSize = bytes.length;\n\n // Worker\uAC00 \uC5C6\uAC70\uB098 \uC791\uC740 \uB370\uC774\uD130\uB294 \uBA54\uC778 \uC2A4\uB808\uB4DC\uC5D0\uC11C \uCC98\uB9AC\n if (!ClientProtocolWrapper.workerAvailable || totalSize <= this._SIZE_THRESHOLD) {\n return this._protocol.decode(bytes);\n }\n\n // [Worker]\n // Zero-Copy \uC804\uC1A1 (buffer\uC758 \uC18C\uC720\uAD8C\uC774 Worker\uB85C \uB118\uC5B4\uAC10)\n const rawResult = await this._runWorker(\"decode\", bytes, [bytes.buffer]);\n\n // Worker\uC5D0\uC11C \uC628 \uACB0\uACFC(Plain Object)\uB97C \uD074\uB798\uC2A4 \uC778\uC2A4\uD134\uC2A4(DateTime \uB4F1)\uB85C \uBCF5\uC6D0\n return transferableDecode(rawResult) as ServiceMessageDecodeResult<ServiceMessage>;\n }\n\n private _shouldUseWorkerForEncode(msg: ServiceMessage): boolean {\n if (!(\"body\" in msg)) return false;\n const body = msg.body;\n\n // Uint8Array\uAC00 \uC788\uAC70\uB098, \uBC30\uC5F4 \uAE38\uC774\uAC00 \uAE38\uBA74 \uC6CC\uCEE4 \uC0AC\uC6A9\n if (body instanceof Uint8Array) return true;\n if (typeof body === \"string\" && body.length > this._SIZE_THRESHOLD) return true;\n if (Array.isArray(body)) {\n return body.length > 100 || (body.length > 0 && body[0] instanceof Uint8Array);\n }\n\n return false;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { Type } from "@simplysm/core-common";
2
+ import type { ServiceEventListener } from "@simplysm/service-common";
3
+ import type { ServiceTransport } from "../transport/service-transport";
4
+ export declare class EventClient {
5
+ private readonly _transport;
6
+ private readonly _listenerMap;
7
+ constructor(_transport: ServiceTransport);
8
+ addListener<T extends ServiceEventListener<unknown, unknown>>(eventListenerType: Type<T>, info: T["$info"], cb: (data: T["$data"]) => PromiseLike<void>): Promise<string>;
9
+ removeListener(key: string): Promise<void>;
10
+ emitToServer<T extends ServiceEventListener<unknown, unknown>>(eventType: Type<T>, infoSelector: (item: T["$info"]) => boolean, data: T["$data"]): Promise<void>;
11
+ reRegisterAll(): Promise<void>;
12
+ private _executeByKey;
13
+ }
14
+ //# sourceMappingURL=event-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-client.d.ts","sourceRoot":"","sources":["../../../../src/features/event-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,qBAAa,WAAW;IAMV,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;gBAEyB,UAAU,EAAE,gBAAgB;IAMnD,WAAW,CAAC,CAAC,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAChE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,EAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAChB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC;IAqBZ,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,YAAY,CAAC,CAAC,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EACjE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAClB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,EAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GACf,OAAO,CAAC,IAAI,CAAC;IAqBV,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YActB,aAAa;CAY5B"}
@@ -0,0 +1,13 @@
1
+ import type { Bytes } from "@simplysm/core-common";
2
+ import type { ServiceUploadResult } from "@simplysm/service-common";
3
+ export declare class FileClient {
4
+ private readonly _hostUrl;
5
+ private readonly _clientName;
6
+ constructor(_hostUrl: string, _clientName: string);
7
+ download(relPath: string): Promise<Bytes>;
8
+ upload(files: File[] | FileList | {
9
+ name: string;
10
+ data: BlobPart;
11
+ }[], authToken: string): Promise<ServiceUploadResult[]>;
12
+ }
13
+ //# sourceMappingURL=file-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-client.d.ts","sourceRoot":"","sources":["../../../../src/features/file-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IAGhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAazC,MAAM,CACV,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAAE,EAC7D,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,EAAE,CAAC;CA8BlC"}
@@ -0,0 +1,10 @@
1
+ import type { OrmConnectConfig } from "./orm-connect-config";
2
+ import type { DbContext } from "@simplysm/orm-common";
3
+ import type { ServiceClient } from "../../service-client";
4
+ export declare class OrmClientConnector {
5
+ private readonly _serviceClient;
6
+ constructor(_serviceClient: ServiceClient);
7
+ connect<T extends DbContext, R>(config: OrmConnectConfig<T>, callback: (conn: T) => Promise<R> | R): Promise<R>;
8
+ connectWithoutTransaction<T extends DbContext, R>(config: OrmConnectConfig<T>, callback: (conn: T) => Promise<R> | R): Promise<R>;
9
+ }
10
+ //# sourceMappingURL=orm-client-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-client-connector.d.ts","sourceRoot":"","sources":["../../../../../src/features/orm/orm-client-connector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,aAAa;IAEpD,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EAClC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC;IAyBP,yBAAyB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACpD,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC;CAUd"}
@@ -0,0 +1,26 @@
1
+ import type { DbContextExecutor, ColumnMeta, ResultMeta, IsolationLevel, Dialect, QueryDef } from "@simplysm/orm-common";
2
+ import type { DbConnOptions } from "@simplysm/service-common";
3
+ import type { ServiceClient } from "../../service-client";
4
+ export declare class OrmClientDbContextExecutor implements DbContextExecutor {
5
+ private readonly _client;
6
+ private readonly _opt;
7
+ private _connId?;
8
+ private readonly _ormService;
9
+ constructor(_client: ServiceClient, _opt: DbConnOptions & {
10
+ configName: string;
11
+ });
12
+ getInfo(): Promise<{
13
+ dialect: Dialect;
14
+ database?: string;
15
+ schema?: string;
16
+ }>;
17
+ connect(): Promise<void>;
18
+ beginTransaction(isolationLevel?: IsolationLevel): Promise<void>;
19
+ commitTransaction(): Promise<void>;
20
+ rollbackTransaction(): Promise<void>;
21
+ close(): Promise<void>;
22
+ executeDefs<T = Record<string, unknown>>(defs: QueryDef[], options?: (ResultMeta | undefined)[]): Promise<T[][]>;
23
+ executeParametrized(query: string, params?: unknown[]): Promise<unknown[][]>;
24
+ bulkInsert(tableName: string, columnDefs: Record<string, ColumnMeta>, records: Record<string, unknown>[]): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=orm-client-db-context-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-client-db-context-executor.d.ts","sourceRoot":"","sources":["../../../../../src/features/orm/orm-client-db-context-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,0BAA2B,YAAW,iBAAiB;IAKhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAGtB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAMzD,OAAO,IAAI,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAII,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GACnC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAQX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAQ5E,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;CAOjB"}
@@ -0,0 +1,13 @@
1
+ import type { Type } from "@simplysm/core-common";
2
+ import type { DbConnOptions } from "@simplysm/service-common";
3
+ export interface OrmConnectConfig<T> {
4
+ dbContextType: Type<T>;
5
+ connOpt: DbConnOptions & {
6
+ configName: string;
7
+ };
8
+ dbContextOpt?: {
9
+ database: string;
10
+ schema: string;
11
+ };
12
+ }
13
+ //# sourceMappingURL=orm-connect-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-connect-config.d.ts","sourceRoot":"","sources":["../../../../../src/features/orm/orm-connect-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,YAAY,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -0,0 +1,12 @@
1
+ export * from "./types/connection-config";
2
+ export * from "./types/progress.types";
3
+ export * from "./transport/socket-provider";
4
+ export * from "./transport/service-transport";
5
+ export * from "./protocol/client-protocol-wrapper";
6
+ export * from "./features/event-client";
7
+ export * from "./features/file-client";
8
+ export * from "./features/orm/orm-connect-config";
9
+ export * from "./features/orm/orm-client-connector";
10
+ export * from "./features/orm/orm-client-db-context-executor";
11
+ export * from "./service-client";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,oCAAoC,CAAC;AAGnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAG9D,cAAc,kBAAkB,CAAC"}