@simplysm/orm-common 13.0.28 → 13.0.29

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 (87) hide show
  1. package/dist/create-db-context.d.ts.map +1 -1
  2. package/dist/create-db-context.js +7 -2
  3. package/dist/create-db-context.js.map +1 -1
  4. package/dist/ddl/column-ddl.d.ts.map +1 -1
  5. package/dist/ddl/column-ddl.js.map +1 -1
  6. package/dist/ddl/initialize.d.ts.map +1 -1
  7. package/dist/ddl/initialize.js.map +1 -1
  8. package/dist/ddl/relation-ddl.d.ts.map +1 -1
  9. package/dist/ddl/relation-ddl.js.map +1 -1
  10. package/dist/ddl/schema-ddl.d.ts.map +1 -1
  11. package/dist/ddl/schema-ddl.js.map +1 -1
  12. package/dist/ddl/table-ddl.d.ts.map +1 -1
  13. package/dist/ddl/table-ddl.js.map +1 -1
  14. package/dist/define-db-context.d.ts.map +1 -1
  15. package/dist/define-db-context.js.map +1 -1
  16. package/dist/exec/executable.d.ts.map +1 -1
  17. package/dist/exec/executable.js.map +1 -1
  18. package/dist/exec/queryable.d.ts.map +1 -1
  19. package/dist/exec/queryable.js +19 -6
  20. package/dist/exec/queryable.js.map +1 -1
  21. package/dist/exec/search-parser.js.map +1 -1
  22. package/dist/expr/expr.d.ts.map +1 -1
  23. package/dist/expr/expr.js.map +1 -1
  24. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  25. package/dist/query-builder/base/query-builder-base.js +3 -1
  26. package/dist/query-builder/base/query-builder-base.js.map +1 -1
  27. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  28. package/dist/query-builder/mssql/mssql-expr-renderer.js +3 -1
  29. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  30. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  31. package/dist/query-builder/mssql/mssql-query-builder.js +9 -3
  32. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
  33. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  34. package/dist/query-builder/mysql/mysql-expr-renderer.js +3 -1
  35. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
  36. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  37. package/dist/query-builder/mysql/mysql-query-builder.js +12 -4
  38. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  39. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  40. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +3 -1
  41. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
  42. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  43. package/dist/query-builder/postgresql/postgresql-query-builder.js +21 -7
  44. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  45. package/dist/schema/factory/column-builder.d.ts.map +1 -1
  46. package/dist/schema/factory/column-builder.js.map +1 -1
  47. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  48. package/dist/schema/factory/relation-builder.js.map +1 -1
  49. package/dist/schema/procedure-builder.d.ts.map +1 -1
  50. package/dist/schema/procedure-builder.js.map +1 -1
  51. package/dist/schema/table-builder.d.ts.map +1 -1
  52. package/dist/schema/table-builder.js +3 -1
  53. package/dist/schema/table-builder.js.map +1 -1
  54. package/dist/schema/view-builder.d.ts.map +1 -1
  55. package/dist/schema/view-builder.js +3 -1
  56. package/dist/schema/view-builder.js.map +1 -1
  57. package/dist/types/db-context-def.d.ts.map +1 -1
  58. package/dist/types/db.d.ts.map +1 -1
  59. package/dist/utils/result-parser.js +3 -1
  60. package/dist/utils/result-parser.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/create-db-context.ts +53 -15
  63. package/src/ddl/column-ddl.ts +4 -1
  64. package/src/ddl/initialize.ts +13 -3
  65. package/src/ddl/relation-ddl.ts +4 -1
  66. package/src/ddl/schema-ddl.ts +8 -2
  67. package/src/ddl/table-ddl.ts +12 -3
  68. package/src/define-db-context.ts +3 -1
  69. package/src/exec/executable.ts +4 -1
  70. package/src/exec/queryable.ts +91 -26
  71. package/src/exec/search-parser.ts +5 -1
  72. package/src/expr/expr.ts +56 -15
  73. package/src/query-builder/base/query-builder-base.ts +3 -1
  74. package/src/query-builder/mssql/mssql-expr-renderer.ts +6 -2
  75. package/src/query-builder/mssql/mssql-query-builder.ts +15 -5
  76. package/src/query-builder/mysql/mysql-expr-renderer.ts +6 -2
  77. package/src/query-builder/mysql/mysql-query-builder.ts +19 -6
  78. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +6 -2
  79. package/src/query-builder/postgresql/postgresql-query-builder.ts +35 -13
  80. package/src/schema/factory/column-builder.ts +16 -5
  81. package/src/schema/factory/relation-builder.ts +14 -4
  82. package/src/schema/procedure-builder.ts +4 -1
  83. package/src/schema/table-builder.ts +14 -3
  84. package/src/schema/view-builder.ts +5 -1
  85. package/src/types/db-context-def.ts +37 -8
  86. package/src/types/db.ts +9 -2
  87. package/src/utils/result-parser.ts +10 -3
@@ -20,8 +20,13 @@ export interface DbContextBase {
20
20
  readonly schema: string | undefined;
21
21
  getNextAlias(): string;
22
22
  resetAliasCounter(): void;
23
- executeDefs<T = DataRecord>(defs: QueryDef[], resultMetas?: (ResultMeta | undefined)[]): Promise<T[][]>;
24
- getQueryDefObjectName(tableOrView: TableBuilder<any, any> | ViewBuilder<any, any, any>): QueryDefObjectName;
23
+ executeDefs<T = DataRecord>(
24
+ defs: QueryDef[],
25
+ resultMetas?: (ResultMeta | undefined)[],
26
+ ): Promise<T[][]>;
27
+ getQueryDefObjectName(
28
+ tableOrView: TableBuilder<any, any> | ViewBuilder<any, any, any>,
29
+ ): QueryDefObjectName;
25
30
  switchFk(table: QueryDefObjectName, switch_: "on" | "off"): Promise<void>;
26
31
  }
27
32
 
@@ -92,13 +97,25 @@ export interface DbContextDdlMethods {
92
97
  dropView(view: QueryDefObjectName): Promise<void>;
93
98
  createProc(procedure: ProcedureBuilder<any, any>): Promise<void>;
94
99
  dropProc(procedure: QueryDefObjectName): Promise<void>;
95
- addColumn(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): Promise<void>;
100
+ addColumn(
101
+ table: QueryDefObjectName,
102
+ columnName: string,
103
+ column: ColumnBuilder<any, any>,
104
+ ): Promise<void>;
96
105
  dropColumn(table: QueryDefObjectName, column: string): Promise<void>;
97
- modifyColumn(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): Promise<void>;
106
+ modifyColumn(
107
+ table: QueryDefObjectName,
108
+ columnName: string,
109
+ column: ColumnBuilder<any, any>,
110
+ ): Promise<void>;
98
111
  renameColumn(table: QueryDefObjectName, column: string, newName: string): Promise<void>;
99
112
  addPk(table: QueryDefObjectName, columns: string[]): Promise<void>;
100
113
  dropPk(table: QueryDefObjectName): Promise<void>;
101
- addFk(table: QueryDefObjectName, relationName: string, relationDef: ForeignKeyBuilder<any, any>): Promise<void>;
114
+ addFk(
115
+ table: QueryDefObjectName,
116
+ relationName: string,
117
+ relationDef: ForeignKeyBuilder<any, any>,
118
+ ): Promise<void>;
102
119
  addIdx(table: QueryDefObjectName, indexBuilder: IndexBuilder<string[]>): Promise<void>;
103
120
  dropFk(table: QueryDefObjectName, relationName: string): Promise<void>;
104
121
  dropIdx(table: QueryDefObjectName, columns: string[]): Promise<void>;
@@ -117,13 +134,25 @@ export interface DbContextDdlMethods {
117
134
  getRenameTableQueryDef(table: QueryDefObjectName, newName: string): QueryDef;
118
135
  getDropViewQueryDef(view: QueryDefObjectName): QueryDef;
119
136
  getDropProcQueryDef(procedure: QueryDefObjectName): QueryDef;
120
- getAddColumnQueryDef(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): QueryDef;
137
+ getAddColumnQueryDef(
138
+ table: QueryDefObjectName,
139
+ columnName: string,
140
+ column: ColumnBuilder<any, any>,
141
+ ): QueryDef;
121
142
  getDropColumnQueryDef(table: QueryDefObjectName, column: string): QueryDef;
122
- getModifyColumnQueryDef(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): QueryDef;
143
+ getModifyColumnQueryDef(
144
+ table: QueryDefObjectName,
145
+ columnName: string,
146
+ column: ColumnBuilder<any, any>,
147
+ ): QueryDef;
123
148
  getRenameColumnQueryDef(table: QueryDefObjectName, column: string, newName: string): QueryDef;
124
149
  getAddPkQueryDef(table: QueryDefObjectName, columns: string[]): QueryDef;
125
150
  getDropPkQueryDef(table: QueryDefObjectName): QueryDef;
126
- getAddFkQueryDef(table: QueryDefObjectName, relationName: string, relationDef: ForeignKeyBuilder<any, any>): QueryDef;
151
+ getAddFkQueryDef(
152
+ table: QueryDefObjectName,
153
+ relationName: string,
154
+ relationDef: ForeignKeyBuilder<any, any>,
155
+ ): QueryDef;
127
156
  getAddIdxQueryDef(table: QueryDefObjectName, indexBuilder: IndexBuilder<string[]>): QueryDef;
128
157
  getDropFkQueryDef(table: QueryDefObjectName, relationName: string): QueryDef;
129
158
  getDropIdxQueryDef(table: QueryDefObjectName, columns: string[]): QueryDef;
package/src/types/db.ts CHANGED
@@ -56,7 +56,11 @@ export interface QueryBuildResult {
56
56
  * - `REPEATABLE_READ`: 트랜잭션 내 동일 쿼리 동일 결과 보장
57
57
  * - `SERIALIZABLE`: 완전 직렬화 (가장 엄격)
58
58
  */
59
- export type IsolationLevel = "READ_UNCOMMITTED" | "READ_COMMITTED" | "REPEATABLE_READ" | "SERIALIZABLE";
59
+ export type IsolationLevel =
60
+ | "READ_UNCOMMITTED"
61
+ | "READ_COMMITTED"
62
+ | "REPEATABLE_READ"
63
+ | "SERIALIZABLE";
60
64
 
61
65
  // ============================================
62
66
  // DataRecord - 결과 데이터 타입 (재귀적, 중첩 허용)
@@ -144,7 +148,10 @@ export interface DbContextExecutor {
144
148
  * @param resultMetas - 결과 변환을 위한 메타데이터 (선택)
145
149
  * @returns 각 QueryDef별 결과 배열의 배열
146
150
  */
147
- executeDefs<T = DataRecord>(defs: QueryDef[], resultMetas?: (ResultMeta | undefined)[]): Promise<T[][]>;
151
+ executeDefs<T = DataRecord>(
152
+ defs: QueryDef[],
153
+ resultMetas?: (ResultMeta | undefined)[],
154
+ ): Promise<T[][]>;
148
155
  }
149
156
 
150
157
  /**
@@ -273,7 +273,9 @@ function groupRecordsRecursively(
273
273
  return !key.includes(".");
274
274
  } else {
275
275
  // 하위 레벨: 현재 경로 + "." + 키
276
- return key.startsWith(currentPath + ".") && key.slice(currentPath.length + 1).indexOf(".") === -1;
276
+ return (
277
+ key.startsWith(currentPath + ".") && key.slice(currentPath.length + 1).indexOf(".") === -1
278
+ );
277
279
  }
278
280
  });
279
281
 
@@ -375,7 +377,10 @@ function groupRecordsRecursively(
375
377
  /**
376
378
  * 레코드에서 JOIN 키를 제외한 그룹 키 추출
377
379
  */
378
- function extractGroupKey(record: Record<string, unknown>, joinKeys: string[]): Record<string, unknown> {
380
+ function extractGroupKey(
381
+ record: Record<string, unknown>,
382
+ joinKeys: string[],
383
+ ): Record<string, unknown> {
379
384
  const result: Record<string, unknown> = {};
380
385
  for (const [key, value] of Object.entries(record)) {
381
386
  // JOIN 키가 아닌 것만 포함
@@ -433,7 +438,9 @@ function mergeJoinData(
433
438
  }
434
439
  } else {
435
440
  // hashSet이 없으면 폴백 (기존 방식)
436
- const isDuplicate = existingJoinData.some((item) => objEqual(item as Record<string, unknown>, newJoinData));
441
+ const isDuplicate = existingJoinData.some((item) =>
442
+ objEqual(item as Record<string, unknown>, newJoinData),
443
+ );
437
444
  if (!isDuplicate) {
438
445
  existingJoinData.push(newJoinData);
439
446
  }