@simplysm/orm-common 13.0.82 → 13.0.84

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 (80) hide show
  1. package/README.md +106 -0
  2. package/dist/ddl/initialize.d.ts +2 -2
  3. package/dist/ddl/initialize.js +1 -1
  4. package/dist/ddl/initialize.js.map +1 -1
  5. package/dist/ddl/table-ddl.d.ts +1 -1
  6. package/dist/exec/queryable.d.ts +115 -115
  7. package/dist/exec/queryable.js +68 -68
  8. package/dist/exec/queryable.js.map +1 -1
  9. package/dist/expr/expr.d.ts +248 -248
  10. package/dist/expr/expr.js +250 -250
  11. package/dist/query-builder/base/expr-renderer-base.d.ts +7 -7
  12. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +3 -3
  13. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  14. package/dist/query-builder/mssql/mssql-expr-renderer.js +5 -5
  15. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  16. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  17. package/dist/query-builder/mssql/mssql-query-builder.js +7 -7
  18. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +2 -2
  19. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  20. package/dist/query-builder/mysql/mysql-expr-renderer.js +4 -4
  21. package/dist/query-builder/mysql/mysql-query-builder.d.ts +10 -10
  22. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  23. package/dist/query-builder/mysql/mysql-query-builder.js +4 -4
  24. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +2 -2
  25. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  26. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +4 -4
  27. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +8 -8
  28. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  29. package/dist/query-builder/postgresql/postgresql-query-builder.js +7 -7
  30. package/dist/query-builder/query-builder.d.ts +1 -1
  31. package/dist/schema/factory/column-builder.d.ts +46 -46
  32. package/dist/schema/factory/column-builder.js +25 -25
  33. package/dist/schema/factory/index-builder.d.ts +22 -22
  34. package/dist/schema/factory/index-builder.js +14 -14
  35. package/dist/schema/factory/relation-builder.d.ts +93 -93
  36. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  37. package/dist/schema/factory/relation-builder.js +37 -37
  38. package/dist/schema/procedure-builder.d.ts +38 -38
  39. package/dist/schema/procedure-builder.d.ts.map +1 -1
  40. package/dist/schema/procedure-builder.js +26 -26
  41. package/dist/schema/table-builder.d.ts +38 -38
  42. package/dist/schema/table-builder.d.ts.map +1 -1
  43. package/dist/schema/table-builder.js +29 -29
  44. package/dist/schema/view-builder.d.ts +26 -26
  45. package/dist/schema/view-builder.d.ts.map +1 -1
  46. package/dist/schema/view-builder.js +18 -18
  47. package/dist/types/db.d.ts +40 -40
  48. package/dist/types/expr.d.ts +75 -75
  49. package/dist/types/expr.d.ts.map +1 -1
  50. package/dist/types/query-def.d.ts +32 -32
  51. package/dist/types/query-def.d.ts.map +1 -1
  52. package/docs/db-context.md +238 -0
  53. package/docs/expressions.md +413 -0
  54. package/docs/query-builder.md +198 -0
  55. package/docs/queryable.md +420 -0
  56. package/docs/schema-builders.md +216 -0
  57. package/docs/types-and-utilities.md +353 -0
  58. package/package.json +4 -3
  59. package/src/ddl/initialize.ts +16 -16
  60. package/src/ddl/table-ddl.ts +1 -1
  61. package/src/exec/queryable.ts +163 -163
  62. package/src/expr/expr.ts +257 -257
  63. package/src/query-builder/base/expr-renderer-base.ts +8 -8
  64. package/src/query-builder/mssql/mssql-expr-renderer.ts +20 -20
  65. package/src/query-builder/mssql/mssql-query-builder.ts +28 -28
  66. package/src/query-builder/mysql/mysql-expr-renderer.ts +22 -22
  67. package/src/query-builder/mysql/mysql-query-builder.ts +65 -65
  68. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +15 -15
  69. package/src/query-builder/postgresql/postgresql-query-builder.ts +43 -43
  70. package/src/query-builder/query-builder.ts +1 -1
  71. package/src/schema/factory/column-builder.ts +48 -48
  72. package/src/schema/factory/index-builder.ts +22 -22
  73. package/src/schema/factory/relation-builder.ts +95 -95
  74. package/src/schema/procedure-builder.ts +38 -38
  75. package/src/schema/table-builder.ts +38 -38
  76. package/src/schema/view-builder.ts +28 -28
  77. package/src/types/db.ts +41 -41
  78. package/src/types/expr.ts +79 -79
  79. package/src/types/query-def.ts +37 -37
  80. package/tests/ddl/basic.expected.ts +8 -8
package/src/types/db.ts CHANGED
@@ -7,7 +7,7 @@ import type { DbContextBase, DbContextDdlMethods } from "./db-context-def";
7
7
  // ============================================
8
8
 
9
9
  /**
10
- * 지원하는 Database 방언
10
+ * Supported Database dialects
11
11
  *
12
12
  * - `mysql`: MySQL 8.0.14+
13
13
  * - `mssql`: Microsoft SQL Server 2012+
@@ -16,9 +16,9 @@ import type { DbContextBase, DbContextDdlMethods } from "./db-context-def";
16
16
  export type Dialect = "mysql" | "mssql" | "postgresql";
17
17
 
18
18
  /**
19
- * 지원하는 모든 Database 방언 목록
19
+ * List of all supported Database dialects
20
20
  *
21
- * testing에서 dialect Validation 사용
21
+ * Used for per-dialect validation in testing
22
22
  *
23
23
  * @example
24
24
  * ```typescript
@@ -33,14 +33,14 @@ export const dialects: Dialect[] = ["mysql", "mssql", "postgresql"];
33
33
  /**
34
34
  * QueryBuilder.build() return type
35
35
  *
36
- * 빌드된 SQL 문자열과 다중 결과셋 processing를 위한 Metadata
36
+ * Built SQL string and metadata for multiple result set processing
37
37
  *
38
- * @property sql - 빌드된 SQL 문자열
39
- * @property resultSetIndex - Result 가져올 결과셋 Index (Basic: 0)
40
- * - MySQL INSERT with OUTPUT: 1 (INSERT + SELECT 중 SELECT)
41
- * @property resultSetStride - 다중 결과에서 N번째마다 결과셋 추출
42
- * - 예: index=1, stride=2 1, 3, 5, 7... 의 결과셋 return
43
- * - MySQL 다중 INSERT: INSERT;SELECT; × N 1, 3, 5...
38
+ * @property sql - Built SQL string
39
+ * @property resultSetIndex - Result set index to fetch results from (default: 0)
40
+ * - MySQL INSERT with OUTPUT: 1 (SELECT from INSERT + SELECT)
41
+ * @property resultSetStride - Extract every Nth result set from multiple results
42
+ * - Example: index=1, stride=2 -> returns result sets 1, 3, 5, 7...
43
+ * - MySQL multiple INSERT: INSERT;SELECT; x N -> 1, 3, 5...
44
44
  */
45
45
  export interface QueryBuildResult {
46
46
  sql: string;
@@ -51,10 +51,10 @@ export interface QueryBuildResult {
51
51
  /**
52
52
  * Transaction isolation level
53
53
  *
54
- * - `READ_UNCOMMITTED`: commit되지 않은 data read 가능 (Dirty Read)
55
- * - `READ_COMMITTED`: commit된 data read (default)
56
- * - `REPEATABLE_READ`: Transaction 동일 query 동일 result 보장
57
- * - `SERIALIZABLE`: 완전 serialize (가장 엄격)
54
+ * - `READ_UNCOMMITTED`: Can read uncommitted data (Dirty Read)
55
+ * - `READ_COMMITTED`: Read only committed data (default)
56
+ * - `REPEATABLE_READ`: Guarantees same query returns same result within transaction
57
+ * - `SERIALIZABLE`: Full serialization (most strict)
58
58
  */
59
59
  export type IsolationLevel =
60
60
  | "READ_UNCOMMITTED"
@@ -63,20 +63,20 @@ export type IsolationLevel =
63
63
  | "SERIALIZABLE";
64
64
 
65
65
  // ============================================
66
- // DataRecord - Result data type (재귀적, 중첩 allow)
66
+ // DataRecord - Result data type (recursive, nesting allowed)
67
67
  // ============================================
68
68
 
69
69
  /**
70
70
  * Query result data record type
71
71
  *
72
- * 재귀적 structure로 중첩 관계(include) result 표현
72
+ * Represents nested relation (include) results with recursive structure
73
73
  *
74
74
  * @example
75
75
  * ```typescript
76
- * // 단순 레코드
76
+ * // Simple record
77
77
  * type User = { id: number; name: string; }
78
78
  *
79
- * // 중첩 relationship include
79
+ * // Nested relation include
80
80
  * type UserWithPosts = {
81
81
  * id: number;
82
82
  * name: string;
@@ -94,14 +94,14 @@ export type DataRecord = {
94
94
  // ============================================
95
95
 
96
96
  /**
97
- * DbContext 실행기 interface
97
+ * DbContext executor interface
98
98
  *
99
- * 실제 DB 연결과 Execute query 담당
100
- * NodeDbContextExecutor (서버) 또는 SdOrmServiceClientDbContextExecutor (클라이언트) 구현
99
+ * Responsible for actual DB connection and query execution
100
+ * Implemented by NodeDbContextExecutor (server) or SdOrmServiceClientDbContextExecutor (client)
101
101
  *
102
102
  * @example
103
103
  * ```typescript
104
- * // 서버 구현 예시
104
+ * // Server-side implementation example
105
105
  * class NodeDbContextExecutor implements IDbContextExecutor {
106
106
  * async connect(): Promise<void> {
107
107
  * await this.connection.connect();
@@ -110,43 +110,43 @@ export type DataRecord = {
110
110
  * }
111
111
  * ```
112
112
  *
113
- * @see {@link DbContext} DbContextused in
113
+ * @see {@link DbContext} Used in DbContext
114
114
  */
115
115
  export interface DbContextExecutor {
116
116
  /**
117
- * DB 연결 수립
117
+ * Establish DB connection
118
118
  */
119
119
  connect(): Promise<void>;
120
120
 
121
121
  /**
122
- * DB 연결 end
122
+ * Close DB connection
123
123
  */
124
124
  close(): Promise<void>;
125
125
 
126
126
  /**
127
- * Transaction start
127
+ * Begin transaction
128
128
  *
129
- * @param isolationLevel - isolation level (Select)
129
+ * @param isolationLevel - Isolation level (optional)
130
130
  */
131
131
  beginTransaction(isolationLevel?: IsolationLevel): Promise<void>;
132
132
 
133
133
  /**
134
- * Transaction commit
134
+ * Commit transaction
135
135
  */
136
136
  commitTransaction(): Promise<void>;
137
137
 
138
138
  /**
139
- * Transaction rollback
139
+ * Rollback transaction
140
140
  */
141
141
  rollbackTransaction(): Promise<void>;
142
142
 
143
143
  /**
144
- * QueryDef array 실행
144
+ * Execute QueryDef array
145
145
  *
146
146
  * @template T - Result record type
147
- * @param defs - Execute할 QueryDef array
148
- * @param resultMetas - Result Transform을 위한 Metadata (Select)
149
- * @returns QueryDef별 result 배열의 array
147
+ * @param defs - QueryDef array to execute
148
+ * @param resultMetas - Metadata for result transformation (optional)
149
+ * @returns Array of result arrays per QueryDef
150
150
  */
151
151
  executeDefs<T = DataRecord>(
152
152
  defs: QueryDef[],
@@ -155,12 +155,12 @@ export interface DbContextExecutor {
155
155
  }
156
156
 
157
157
  /**
158
- * Query result Transform을 위한 Metadata
158
+ * Metadata for query result transformation
159
159
  *
160
- * SELECT 결과를 TypeScript 객체로 Transform 사용
160
+ * Used when transforming SELECT results into TypeScript objects
161
161
  *
162
- * @property columns - Column ColumnPrimitiveStr Mapping
163
- * @property joins - JOIN 별칭 단일/array 여부
162
+ * @property columns - Column name -> ColumnPrimitiveStr mapping
163
+ * @property joins - JOIN alias -> single/array indicator
164
164
  */
165
165
  export interface ResultMeta {
166
166
  columns: Record<string, ColumnPrimitiveStr>;
@@ -174,10 +174,10 @@ export interface ResultMeta {
174
174
  /**
175
175
  * Database migration definition
176
176
  *
177
- * schema 변경을 version control
177
+ * Version-control schema changes
178
178
  *
179
- * @property name - Migration 고유 이름 (타임스탬프 권장)
180
- * @property up - Migration 실행 function
179
+ * @property name - Unique Migration name (timestamp recommended)
180
+ * @property up - Migration execution function
181
181
  *
182
182
  * @example
183
183
  * ```typescript
@@ -200,7 +200,7 @@ export interface ResultMeta {
200
200
  * ];
201
201
  * ```
202
202
  *
203
- * @see {@link DbContext.initialize} migration 실행
203
+ * @see {@link DbContext.initialize} migration execution
204
204
  */
205
205
  export interface Migration {
206
206
  name: string;