@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
@@ -1,15 +1,15 @@
1
1
  import type { ColumnPrimitive, DataType } from "./column";
2
2
  import type { Expr, WhereExpr } from "./expr";
3
3
 
4
- //#region ========== 공통 ==========
4
+ //#region ========== Common ==========
5
5
 
6
6
  /**
7
- * DB object 이름 (table, View, Procedure )
7
+ * DB object name (table, View, Procedure, etc.)
8
8
  *
9
- * DBMS 네임스페이스:
10
- * - MySQL: `database.name` (schema 무시)
11
- * - MSSQL: `database.schema.name` (schema Default value: dbo)
12
- * - PostgreSQL: `schema.name` (database connection)
9
+ * DBMS-specific namespaces:
10
+ * - MySQL: `database.name` (schema ignored)
11
+ * - MSSQL: `database.schema.name` (schema defaults to dbo)
12
+ * - PostgreSQL: `schema.name` (database is for connection only)
13
13
  */
14
14
  export interface QueryDefObjectName {
15
15
  database?: string;
@@ -22,9 +22,9 @@ export interface QueryDefObjectName {
22
22
  //#region ========== DML ==========
23
23
 
24
24
  /**
25
- * CUD query OUTPUT definition
25
+ * CUD query OUTPUT clause definition
26
26
  *
27
- * INSERT/UPDATE/DELETE 후 반환값 definition
27
+ * Define return values after INSERT/UPDATE/DELETE
28
28
  */
29
29
  export interface CudOutputDef {
30
30
  columns: string[];
@@ -36,19 +36,19 @@ export interface CudOutputDef {
36
36
  * SELECT Query definition
37
37
  *
38
38
  * @property type - Query type ("select")
39
- * @property from - FROM (table/Subquery)
40
- * @property as - Table 별칭
41
- * @property select - SELECT column Mapping
42
- * @property distinct - DISTINCT 여부
39
+ * @property from - FROM clause (table/Subquery)
40
+ * @property as - Table alias
41
+ * @property select - SELECT clause column mapping
42
+ * @property distinct - Whether DISTINCT
43
43
  * @property top - TOP N (MSSQL)
44
- * @property lock - 여부
44
+ * @property lock - Whether to lock
45
45
  * @property where - WHERE condition array
46
46
  * @property joins - JOIN definition array
47
- * @property orderBy - ORDER BY [column, 방향] array
47
+ * @property orderBy - ORDER BY [column, direction] array
48
48
  * @property limit - LIMIT [offset, count]
49
49
  * @property groupBy - GROUP BY expression array
50
50
  * @property having - HAVING condition array
51
- * @property with - recursive CTE definition
51
+ * @property with - Recursive CTE definition
52
52
  */
53
53
  export interface SelectQueryDef {
54
54
  type: "select";
@@ -70,19 +70,19 @@ export interface SelectQueryDef {
70
70
  /**
71
71
  * JOIN Query definition
72
72
  *
73
- * SelectQueryDef 확장 + isSingle flag
73
+ * SelectQueryDef extension + isSingle flag
74
74
  */
75
75
  export interface SelectQueryDefJoin extends SelectQueryDef {
76
- /** 단일 result 여부 (1:1 relationship) */
76
+ /** Whether single result (1:1 relation) */
77
77
  isSingle?: boolean;
78
78
  }
79
79
 
80
80
  /**
81
81
  * INSERT Query definition
82
82
  *
83
- * @property records - Insert할 레코드 array
84
- * @property overrideIdentity - IDENTITY_INSERT Enable 여부
85
- * @property output - OUTPUT definition
83
+ * @property records - Record array to insert
84
+ * @property overrideIdentity - Whether to enable IDENTITY_INSERT
85
+ * @property output - OUTPUT clause definition
86
86
  */
87
87
  export interface InsertQueryDef {
88
88
  type: "insert";
@@ -93,9 +93,9 @@ export interface InsertQueryDef {
93
93
  }
94
94
 
95
95
  /**
96
- * 조건부 INSERT Query definition
96
+ * Conditional INSERT Query definition
97
97
  *
98
- * 존재하지 않는 경우에만 삽입
98
+ * Insert only if not exists
99
99
  */
100
100
  export interface InsertIfNotExistsQueryDef {
101
101
  type: "insertIfNotExists";
@@ -109,7 +109,7 @@ export interface InsertIfNotExistsQueryDef {
109
109
  /**
110
110
  * INSERT INTO SELECT Query definition
111
111
  *
112
- * Subquery 결과를 삽입
112
+ * Insert subquery results
113
113
  */
114
114
  export interface InsertIntoQueryDef {
115
115
  type: "insertInto";
@@ -122,8 +122,8 @@ export interface InsertIntoQueryDef {
122
122
  /**
123
123
  * UPDATE Query definition
124
124
  *
125
- * @property record - Update할 column/value Mapping
126
- * @property joins - UPDATE JOIN (지원 )
125
+ * @property record - Column/value mapping to update
126
+ * @property joins - UPDATE JOIN (when supported)
127
127
  */
128
128
  export interface UpdateQueryDef {
129
129
  type: "update";
@@ -170,7 +170,7 @@ export interface UpsertQueryDef {
170
170
 
171
171
  //#region ========== Utils ==========
172
172
 
173
- /** FK constraint Enable/Disable */
173
+ /** FK constraint enable/disable */
174
174
  export interface SwitchFkQueryDef {
175
175
  type: "switchFk";
176
176
  table: QueryDefObjectName;
@@ -181,7 +181,7 @@ export interface SwitchFkQueryDef {
181
181
 
182
182
  //#region ========== DDL - Schema ==========
183
183
 
184
- /** Clear schema (모든 object Delete) */
184
+ /** Clear schema (delete all objects) */
185
185
  export interface ClearSchemaQueryDef {
186
186
  type: "clearSchema";
187
187
  database: string;
@@ -249,7 +249,7 @@ export interface DropColumnQueryDef {
249
249
  column: string;
250
250
  }
251
251
 
252
- /** MODIFY COLUMN (type/property Change) */
252
+ /** MODIFY COLUMN (type/property change) */
253
253
  export interface ModifyColumnQueryDef {
254
254
  type: "modifyColumn";
255
255
  table: QueryDefObjectName;
@@ -385,13 +385,13 @@ export interface SchemaExistsQueryDef {
385
385
 
386
386
  //#endregion
387
387
 
388
- //#region ========== DDL type 상수 ==========
388
+ //#region ========== DDL type constants ==========
389
389
 
390
390
  /**
391
- * DDL QueryDef union (컴파일 타임 Validation용)
391
+ * DDL QueryDef union (for compile-time validation)
392
392
  *
393
393
  * @remarks
394
- * switchFk DDL이 아니므로 exclude (transaction 사용 가능)
394
+ * switchFk is excluded because it is not DDL (can be used within transactions)
395
395
  */
396
396
  type DdlQueryDef =
397
397
  | ClearSchemaQueryDef
@@ -415,13 +415,13 @@ type DdlQueryDef =
415
415
  | DropProcQueryDef;
416
416
 
417
417
  /**
418
- * DDL (Data Definition Language) type 상수
418
+ * DDL (Data Definition Language) type constants
419
419
  *
420
- * Transaction DDL 차단 DDL type Validation에 사용
421
- * satisfies 키워드로 DdlQueryDef와의 synchronous화를 컴파일 타임에 Validation
420
+ * Used for blocking DDL within transactions and DDL type validation
421
+ * Uses satisfies keyword for compile-time synchronization with DdlQueryDef
422
422
  *
423
423
  * @remarks
424
- * switchFk DDL이 아니므로 exclude (transaction 사용 가능)
424
+ * switchFk is excluded because it is not DDL (can be used within transactions)
425
425
  */
426
426
  export const DDL_TYPES = [
427
427
  "clearSchema",
@@ -450,10 +450,10 @@ export type DdlType = (typeof DDL_TYPES)[number];
450
450
 
451
451
  //#endregion
452
452
 
453
- //#region ========== 통합 Union Type ==========
453
+ //#region ========== Combined Union Type ==========
454
454
 
455
455
  /**
456
- * 모든 Query definition union type
456
+ * All Query definition union type
457
457
  *
458
458
  * DML (SELECT/INSERT/UPDATE/DELETE/UPSERT) +
459
459
  * DDL (Table/Column/PK/FK/Index/View/Procedure) +
@@ -18,22 +18,22 @@ SET FOREIGN_KEY_CHECKS = 1
18
18
  DECLARE @sql NVARCHAR(MAX);
19
19
  SET @sql = N'';
20
20
 
21
- -- FK constraint Delete
21
+ -- Drop FK constraints
22
22
  SELECT @sql = @sql + N'ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id)) + '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) + N' DROP CONSTRAINT ' + QUOTENAME(name) + N';' + CHAR(13)
23
23
  FROM [TestDb].sys.foreign_keys
24
24
  WHERE OBJECT_SCHEMA_NAME(parent_object_id) = 'TestSchema';
25
25
 
26
- -- Drop table
26
+ -- Drop tables
27
27
  SELECT @sql = @sql + N'DROP TABLE ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
28
28
  FROM [TestDb].sys.tables
29
29
  WHERE SCHEMA_NAME(schema_id) = 'TestSchema';
30
30
 
31
- -- Drop view
31
+ -- Drop views
32
32
  SELECT @sql = @sql + N'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
33
33
  FROM [TestDb].sys.views
34
34
  WHERE schema_id = SCHEMA_ID('TestSchema');
35
35
 
36
- -- Procedure Delete
36
+ -- Drop procedures
37
37
  SELECT @sql = @sql + N'DROP PROCEDURE ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
38
38
  FROM [TestDb].sys.procedures
39
39
  WHERE SCHEMA_NAME(schema_id) = 'TestSchema';
@@ -45,7 +45,7 @@ DO $$
45
45
  DECLARE
46
46
  r RECORD;
47
47
  BEGIN
48
- -- FK constraint Delete
48
+ -- Drop FK constraints
49
49
  FOR r IN (SELECT conname, conrelid::regclass AS tablename
50
50
  FROM pg_constraint
51
51
  WHERE contype = 'f' AND connamespace = 'TestSchema'::regnamespace)
@@ -53,19 +53,19 @@ BEGIN
53
53
  EXECUTE 'ALTER TABLE ' || r.tablename || ' DROP CONSTRAINT ' || quote_ident(r.conname);
54
54
  END LOOP;
55
55
 
56
- -- Drop table
56
+ -- Drop tables
57
57
  FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'TestSchema')
58
58
  LOOP
59
59
  EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
60
60
  END LOOP;
61
61
 
62
- -- Drop view
62
+ -- Drop views
63
63
  FOR r IN (SELECT viewname FROM pg_views WHERE schemaname = 'TestSchema')
64
64
  LOOP
65
65
  EXECUTE 'DROP VIEW IF EXISTS ' || quote_ident(r.viewname) || ' CASCADE';
66
66
  END LOOP;
67
67
 
68
- -- function Delete
68
+ -- Drop functions
69
69
  FOR r IN (SELECT proname, pg_get_function_identity_arguments(oid) AS args
70
70
  FROM pg_proc WHERE pronamespace = 'TestSchema'::regnamespace)
71
71
  LOOP