@simplysm/orm-common 13.0.69 → 13.0.70

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 (204) hide show
  1. package/README.md +54 -1447
  2. package/dist/create-db-context.d.ts +10 -10
  3. package/dist/create-db-context.js +9 -9
  4. package/dist/create-db-context.js.map +1 -1
  5. package/dist/ddl/column-ddl.d.ts +4 -4
  6. package/dist/ddl/initialize.d.ts +17 -17
  7. package/dist/ddl/initialize.js +2 -2
  8. package/dist/ddl/initialize.js.map +1 -1
  9. package/dist/ddl/relation-ddl.d.ts +6 -6
  10. package/dist/ddl/schema-ddl.d.ts +4 -4
  11. package/dist/ddl/table-ddl.d.ts +24 -24
  12. package/dist/ddl/table-ddl.js +4 -4
  13. package/dist/ddl/table-ddl.js.map +1 -1
  14. package/dist/errors/db-transaction-error.d.ts +15 -15
  15. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  16. package/dist/exec/executable.d.ts +23 -23
  17. package/dist/exec/executable.js +3 -3
  18. package/dist/exec/executable.js.map +1 -1
  19. package/dist/exec/queryable.d.ts +160 -160
  20. package/dist/exec/queryable.js +119 -119
  21. package/dist/exec/queryable.js.map +1 -1
  22. package/dist/exec/search-parser.d.ts +37 -37
  23. package/dist/exec/search-parser.d.ts.map +1 -1
  24. package/dist/expr/expr-unit.d.ts +4 -4
  25. package/dist/expr/expr.d.ts +257 -257
  26. package/dist/expr/expr.js +265 -265
  27. package/dist/expr/expr.js.map +1 -1
  28. package/dist/query-builder/base/expr-renderer-base.d.ts +9 -9
  29. package/dist/query-builder/base/expr-renderer-base.js +2 -2
  30. package/dist/query-builder/base/expr-renderer-base.js.map +1 -1
  31. package/dist/query-builder/base/query-builder-base.d.ts +26 -26
  32. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  33. package/dist/query-builder/base/query-builder-base.js +22 -22
  34. package/dist/query-builder/base/query-builder-base.js.map +1 -1
  35. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  36. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  37. package/dist/query-builder/mssql/mssql-expr-renderer.js +18 -18
  38. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  39. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  40. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  41. package/dist/query-builder/mssql/mssql-query-builder.js +11 -11
  42. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
  43. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  44. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  45. package/dist/query-builder/mysql/mysql-expr-renderer.js +17 -17
  46. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
  47. package/dist/query-builder/mysql/mysql-query-builder.d.ts +8 -8
  48. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  49. package/dist/query-builder/mysql/mysql-query-builder.js +5 -5
  50. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  51. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  52. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  53. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +17 -17
  54. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
  55. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +5 -5
  56. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  57. package/dist/query-builder/postgresql/postgresql-query-builder.js +8 -8
  58. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  59. package/dist/query-builder/query-builder.d.ts +1 -1
  60. package/dist/schema/factory/column-builder.d.ts +79 -79
  61. package/dist/schema/factory/column-builder.js +42 -42
  62. package/dist/schema/factory/index-builder.d.ts +39 -39
  63. package/dist/schema/factory/index-builder.js +26 -26
  64. package/dist/schema/factory/relation-builder.d.ts +99 -99
  65. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  66. package/dist/schema/factory/relation-builder.js +38 -38
  67. package/dist/schema/procedure-builder.d.ts +49 -49
  68. package/dist/schema/procedure-builder.d.ts.map +1 -1
  69. package/dist/schema/procedure-builder.js +33 -33
  70. package/dist/schema/table-builder.d.ts +59 -59
  71. package/dist/schema/table-builder.d.ts.map +1 -1
  72. package/dist/schema/table-builder.js +43 -43
  73. package/dist/schema/view-builder.d.ts +49 -49
  74. package/dist/schema/view-builder.d.ts.map +1 -1
  75. package/dist/schema/view-builder.js +32 -32
  76. package/dist/types/column.d.ts +22 -22
  77. package/dist/types/column.js +1 -1
  78. package/dist/types/column.js.map +1 -1
  79. package/dist/types/db.d.ts +40 -40
  80. package/dist/types/expr.d.ts +59 -59
  81. package/dist/types/expr.d.ts.map +1 -1
  82. package/dist/types/query-def.d.ts +44 -44
  83. package/dist/types/query-def.d.ts.map +1 -1
  84. package/dist/utils/result-parser.d.ts +11 -11
  85. package/dist/utils/result-parser.js +3 -3
  86. package/dist/utils/result-parser.js.map +1 -1
  87. package/package.json +5 -5
  88. package/src/create-db-context.ts +20 -20
  89. package/src/ddl/column-ddl.ts +4 -4
  90. package/src/ddl/initialize.ts +259 -259
  91. package/src/ddl/relation-ddl.ts +89 -89
  92. package/src/ddl/schema-ddl.ts +4 -4
  93. package/src/ddl/table-ddl.ts +189 -189
  94. package/src/errors/db-transaction-error.ts +13 -13
  95. package/src/exec/executable.ts +25 -25
  96. package/src/exec/queryable.ts +2033 -2033
  97. package/src/exec/search-parser.ts +57 -57
  98. package/src/expr/expr-unit.ts +4 -4
  99. package/src/expr/expr.ts +2140 -2140
  100. package/src/query-builder/base/expr-renderer-base.ts +237 -237
  101. package/src/query-builder/base/query-builder-base.ts +213 -213
  102. package/src/query-builder/mssql/mssql-expr-renderer.ts +607 -607
  103. package/src/query-builder/mssql/mssql-query-builder.ts +650 -650
  104. package/src/query-builder/mysql/mysql-expr-renderer.ts +613 -613
  105. package/src/query-builder/mysql/mysql-query-builder.ts +759 -759
  106. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +611 -611
  107. package/src/query-builder/postgresql/postgresql-query-builder.ts +686 -686
  108. package/src/query-builder/query-builder.ts +19 -19
  109. package/src/schema/factory/column-builder.ts +423 -423
  110. package/src/schema/factory/index-builder.ts +164 -164
  111. package/src/schema/factory/relation-builder.ts +453 -453
  112. package/src/schema/procedure-builder.ts +232 -232
  113. package/src/schema/table-builder.ts +319 -319
  114. package/src/schema/view-builder.ts +221 -221
  115. package/src/types/column.ts +188 -188
  116. package/src/types/db.ts +208 -208
  117. package/src/types/expr.ts +697 -697
  118. package/src/types/query-def.ts +513 -513
  119. package/src/utils/result-parser.ts +458 -458
  120. package/tests/db-context/create-db-context.spec.ts +224 -0
  121. package/tests/db-context/define-db-context.spec.ts +68 -0
  122. package/tests/ddl/basic.expected.ts +341 -0
  123. package/tests/ddl/basic.spec.ts +714 -0
  124. package/tests/ddl/column-builder.expected.ts +310 -0
  125. package/tests/ddl/column-builder.spec.ts +637 -0
  126. package/tests/ddl/index-builder.expected.ts +38 -0
  127. package/tests/ddl/index-builder.spec.ts +202 -0
  128. package/tests/ddl/procedure-builder.expected.ts +52 -0
  129. package/tests/ddl/procedure-builder.spec.ts +234 -0
  130. package/tests/ddl/relation-builder.expected.ts +36 -0
  131. package/tests/ddl/relation-builder.spec.ts +372 -0
  132. package/tests/ddl/table-builder.expected.ts +113 -0
  133. package/tests/ddl/table-builder.spec.ts +433 -0
  134. package/tests/ddl/view-builder.expected.ts +38 -0
  135. package/tests/ddl/view-builder.spec.ts +176 -0
  136. package/tests/dml/delete.expected.ts +96 -0
  137. package/tests/dml/delete.spec.ts +160 -0
  138. package/tests/dml/insert.expected.ts +192 -0
  139. package/tests/dml/insert.spec.ts +288 -0
  140. package/tests/dml/update.expected.ts +176 -0
  141. package/tests/dml/update.spec.ts +318 -0
  142. package/tests/dml/upsert.expected.ts +215 -0
  143. package/tests/dml/upsert.spec.ts +242 -0
  144. package/tests/errors/queryable-errors.spec.ts +177 -0
  145. package/tests/escape.spec.ts +100 -0
  146. package/tests/examples/pivot.expected.ts +211 -0
  147. package/tests/examples/pivot.spec.ts +533 -0
  148. package/tests/examples/sampling.expected.ts +69 -0
  149. package/tests/examples/sampling.spec.ts +104 -0
  150. package/tests/examples/unpivot.expected.ts +120 -0
  151. package/tests/examples/unpivot.spec.ts +226 -0
  152. package/tests/exec/search-parser.spec.ts +283 -0
  153. package/tests/executable/basic.expected.ts +18 -0
  154. package/tests/executable/basic.spec.ts +54 -0
  155. package/tests/expr/comparison.expected.ts +282 -0
  156. package/tests/expr/comparison.spec.ts +400 -0
  157. package/tests/expr/conditional.expected.ts +134 -0
  158. package/tests/expr/conditional.spec.ts +276 -0
  159. package/tests/expr/date.expected.ts +332 -0
  160. package/tests/expr/date.spec.ts +526 -0
  161. package/tests/expr/math.expected.ts +62 -0
  162. package/tests/expr/math.spec.ts +106 -0
  163. package/tests/expr/string.expected.ts +218 -0
  164. package/tests/expr/string.spec.ts +356 -0
  165. package/tests/expr/utility.expected.ts +147 -0
  166. package/tests/expr/utility.spec.ts +182 -0
  167. package/tests/select/basic.expected.ts +322 -0
  168. package/tests/select/basic.spec.ts +502 -0
  169. package/tests/select/filter.expected.ts +357 -0
  170. package/tests/select/filter.spec.ts +1068 -0
  171. package/tests/select/group.expected.ts +169 -0
  172. package/tests/select/group.spec.ts +244 -0
  173. package/tests/select/join.expected.ts +582 -0
  174. package/tests/select/join.spec.ts +805 -0
  175. package/tests/select/order.expected.ts +150 -0
  176. package/tests/select/order.spec.ts +189 -0
  177. package/tests/select/recursive-cte.expected.ts +244 -0
  178. package/tests/select/recursive-cte.spec.ts +514 -0
  179. package/tests/select/result-meta.spec.ts +270 -0
  180. package/tests/select/subquery.expected.ts +363 -0
  181. package/tests/select/subquery.spec.ts +537 -0
  182. package/tests/select/view.expected.ts +155 -0
  183. package/tests/select/view.spec.ts +235 -0
  184. package/tests/select/window.expected.ts +345 -0
  185. package/tests/select/window.spec.ts +618 -0
  186. package/tests/setup/MockExecutor.ts +18 -0
  187. package/tests/setup/TestDbContext.ts +59 -0
  188. package/tests/setup/models/Company.ts +13 -0
  189. package/tests/setup/models/Employee.ts +10 -0
  190. package/tests/setup/models/MonthlySales.ts +11 -0
  191. package/tests/setup/models/Post.ts +16 -0
  192. package/tests/setup/models/Sales.ts +10 -0
  193. package/tests/setup/models/User.ts +19 -0
  194. package/tests/setup/procedure/GetAllUsers.ts +9 -0
  195. package/tests/setup/procedure/GetUserById.ts +12 -0
  196. package/tests/setup/test-utils.ts +72 -0
  197. package/tests/setup/views/ActiveUsers.ts +8 -0
  198. package/tests/setup/views/UserSummary.ts +11 -0
  199. package/tests/types/nullable-queryable-record.spec.ts +145 -0
  200. package/tests/utils/result-parser-perf.spec.ts +210 -0
  201. package/tests/utils/result-parser.spec.ts +701 -0
  202. package/docs/expressions.md +0 -172
  203. package/docs/queries.md +0 -444
  204. package/docs/schema.md +0 -245
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/exec/queryable.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,72 +1,72 @@
1
1
  /**
2
- * 검색 쿼리 파싱 결과 (LIKE 패턴)
2
+ * Search query parsing result (LIKE pattern)
3
3
  */
4
4
  export interface ParsedSearchQuery {
5
- /** 일반 검색어 (OR 조건) - LIKE 패턴 */
5
+ /** General search terms (OR condition) - LIKE pattern */
6
6
  or: string[];
7
- /** 필수 검색어 (AND 조건, + 접두사 또는 따옴표) - LIKE 패턴 */
7
+ /** Required search terms (AND condition, + prefix or quotes) - LIKE pattern */
8
8
  must: string[];
9
- /** 제외 검색어 (NOT 조건, - 접두사) - LIKE 패턴 */
9
+ /** Excluded search terms (NOT condition, - prefix) - LIKE pattern */
10
10
  not: string[];
11
11
  }
12
12
  /**
13
- * 검색 쿼리 문자열을 파싱하여 SQL LIKE 패턴으로 변환한다.
13
+ * Parse search query string and convert to SQL LIKE pattern.
14
14
  *
15
- * ## 검색 문법
15
+ * ## Search Syntax
16
16
  *
17
- * | 문법 | 의미 | 예시 |
18
- * |------|------|------|
19
- * | `term1 term2` | OR ( 하나 포함) | `사과 바나나` |
20
- * | `+term` | 필수 포함 (AND) | `+사과 +바나나` |
21
- * | `-term` | 제외 (NOT) | `사과 -바나나` |
22
- * | `"exact phrase"` | 정확히 일치 (필수) | `"맛있는 과일"` |
23
- * | `*` | 와일드카드 | `app*` → `app%` |
17
+ * | Syntax | Meaning | Example |
18
+ * |--------|---------|---------|
19
+ * | `term1 term2` | OR (one of them) | `apple banana` |
20
+ * | `+term` | Required (AND) | `+apple +banana` |
21
+ * | `-term` | Excluded (NOT) | `apple -banana` |
22
+ * | `"exact phrase"` | Exact match (required) | `"delicious fruit"` |
23
+ * | `*` | Wildcard | `app*` → `app%` |
24
24
  *
25
- * ## 이스케이프
25
+ * ## Escape Sequences
26
26
  *
27
- * | 입력 | 의미 |
28
- * |------|------|
29
- * | `\\` | 리터럴 `\` |
30
- * | `\*` | 리터럴 `*` |
31
- * | `\%` | 리터럴 `%` |
32
- * | `\"` | 리터럴 `"` |
33
- * | `\+` | 리터럴 `+` |
34
- * | `\-` | 리터럴 `-` |
27
+ * | Input | Meaning |
28
+ * |-------|---------|
29
+ * | `\\` | Literal `\` |
30
+ * | `\*` | Literal `*` |
31
+ * | `\%` | Literal `%` |
32
+ * | `\"` | Literal `"` |
33
+ * | `\+` | Literal `+` |
34
+ * | `\-` | Literal `-` |
35
35
  *
36
- * ## 특수 케이스
36
+ * ## Special Cases
37
37
  *
38
- * - 닫히지 않은 따옴표(`"text`) 따옴표를 포함한 일반 텍스트로 처리된다.
38
+ * - Unclosed quotes (`"text`) are treated as regular text including the quote character.
39
39
  *
40
- * ## 예시
40
+ * ## Examples
41
41
  *
42
42
  * ```typescript
43
- * parseSearchQuery('사과 "맛있는 과일" -바나나 +딸기')
44
- * // 결과:
43
+ * parseSearchQuery('apple "delicious fruit" -banana +strawberry')
44
+ * // Result:
45
45
  * // {
46
- * // or: ["%사과%"],
47
- * // must: ["%맛있는 과일%", "%딸기%"],
48
- * // not: ["%바나나%"]
46
+ * // or: ["%apple%"],
47
+ * // must: ["%delicious fruit%", "%strawberry%"],
48
+ * // not: ["%banana%"]
49
49
  * // }
50
50
  *
51
51
  * parseSearchQuery('app* test')
52
- * // 결과:
52
+ * // Result:
53
53
  * // {
54
- * // or: ["app%", "%test%"], // app*는 "app으로 시작", test 포함검색
54
+ * // or: ["app%", "%test%"], // app* starts with "app", test is substring match
55
55
  * // must: [],
56
56
  * // not: []
57
57
  * // }
58
58
  *
59
- * parseSearchQuery('app\\*test') // 이스케이프된 *
60
- * // 결과:
59
+ * parseSearchQuery('app\\*test') // escaped *
60
+ * // Result:
61
61
  * // {
62
- * // or: ["%app*test%"], // 리터럴 *
62
+ * // or: ["%app*test%"], // literal *
63
63
  * // must: [],
64
64
  * // not: []
65
65
  * // }
66
66
  * ```
67
67
  *
68
- * @param searchText 검색 쿼리 문자열
69
- * @returns 파싱된 검색 쿼리 객체 (LIKE 패턴)
68
+ * @param searchText Search query string
69
+ * @returns Parsed search query object (LIKE pattern)
70
70
  */
71
71
  export declare function parseSearchQuery(searchText: string): ParsedSearchQuery;
72
72
  //# sourceMappingURL=search-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["..\\..\\src\\exec\\search-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAkEtE"}
1
+ {"version":3,"file":"search-parser.d.ts","sourceRoot":"","sources":["..\\..\\src\\exec\\search-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,+EAA+E;IAC/E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qEAAqE;IACrE,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAkEtE"}
@@ -1,8 +1,8 @@
1
1
  import type { ColumnPrimitive, ColumnPrimitiveStr } from "../types/column";
2
2
  import type { Expr, WhereExpr } from "../types/expr";
3
3
  /**
4
- * 타입 안전한 표현식 래퍼
5
- * TypeScript 제네릭으로 표현식의 반환 타입을 추적
4
+ * Type-safe expression wrapper
5
+ * Tracks expression return type using TypeScript generics
6
6
  */
7
7
  export declare class ExprUnit<TPrimitive extends ColumnPrimitive> {
8
8
  readonly dataType: ColumnPrimitiveStr;
@@ -12,14 +12,14 @@ export declare class ExprUnit<TPrimitive extends ColumnPrimitive> {
12
12
  constructor(dataType: ColumnPrimitiveStr, expr: Expr);
13
13
  }
14
14
  /**
15
- * WHERE 절용 표현식 래퍼
15
+ * Expression wrapper for WHERE clause
16
16
  */
17
17
  export declare class WhereExprUnit {
18
18
  readonly expr: WhereExpr;
19
19
  constructor(expr: WhereExpr);
20
20
  }
21
21
  /**
22
- * ExprUnit 또는 리터럴 값을 받을 있는 입력 타입
22
+ * Input type that accepts ExprUnit or literal values
23
23
  */
24
24
  export type ExprInput<TPrimitive extends ColumnPrimitive> = ExprUnit<TPrimitive> | TPrimitive;
25
25
  //# sourceMappingURL=expr-unit.d.ts.map