@simplysm/orm-node 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 (162) hide show
  1. package/README.md +418 -0
  2. package/dist/connections/mssql-db-conn.js +386 -0
  3. package/dist/connections/mssql-db-conn.js.map +7 -0
  4. package/dist/connections/mysql-db-conn.js +227 -0
  5. package/dist/connections/mysql-db-conn.js.map +7 -0
  6. package/dist/connections/postgresql-db-conn.js +191 -0
  7. package/dist/connections/postgresql-db-conn.js.map +7 -0
  8. package/dist/core-common/src/common.types.d.ts +74 -0
  9. package/dist/core-common/src/common.types.d.ts.map +1 -0
  10. package/dist/core-common/src/env.d.ts +6 -0
  11. package/dist/core-common/src/env.d.ts.map +1 -0
  12. package/dist/core-common/src/errors/argument-error.d.ts +25 -0
  13. package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
  14. package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
  15. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
  16. package/dist/core-common/src/errors/sd-error.d.ts +27 -0
  17. package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
  18. package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
  19. package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
  20. package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
  21. package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
  22. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
  23. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
  24. package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
  25. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
  26. package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
  27. package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
  28. package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
  29. package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
  30. package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
  31. package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
  32. package/dist/core-common/src/features/event-emitter.d.ts +66 -0
  33. package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
  34. package/dist/core-common/src/features/serial-queue.d.ts +47 -0
  35. package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
  36. package/dist/core-common/src/index.d.ts +32 -0
  37. package/dist/core-common/src/index.d.ts.map +1 -0
  38. package/dist/core-common/src/types/date-only.d.ts +152 -0
  39. package/dist/core-common/src/types/date-only.d.ts.map +1 -0
  40. package/dist/core-common/src/types/date-time.d.ts +96 -0
  41. package/dist/core-common/src/types/date-time.d.ts.map +1 -0
  42. package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
  43. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
  44. package/dist/core-common/src/types/time.d.ts +68 -0
  45. package/dist/core-common/src/types/time.d.ts.map +1 -0
  46. package/dist/core-common/src/types/uuid.d.ts +35 -0
  47. package/dist/core-common/src/types/uuid.d.ts.map +1 -0
  48. package/dist/core-common/src/utils/bytes.d.ts +51 -0
  49. package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
  50. package/dist/core-common/src/utils/date-format.d.ts +90 -0
  51. package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
  52. package/dist/core-common/src/utils/json.d.ts +34 -0
  53. package/dist/core-common/src/utils/json.d.ts.map +1 -0
  54. package/dist/core-common/src/utils/num.d.ts +60 -0
  55. package/dist/core-common/src/utils/num.d.ts.map +1 -0
  56. package/dist/core-common/src/utils/obj.d.ts +258 -0
  57. package/dist/core-common/src/utils/obj.d.ts.map +1 -0
  58. package/dist/core-common/src/utils/path.d.ts +23 -0
  59. package/dist/core-common/src/utils/path.d.ts.map +1 -0
  60. package/dist/core-common/src/utils/primitive.d.ts +18 -0
  61. package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
  62. package/dist/core-common/src/utils/str.d.ts +103 -0
  63. package/dist/core-common/src/utils/str.d.ts.map +1 -0
  64. package/dist/core-common/src/utils/template-strings.d.ts +84 -0
  65. package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
  66. package/dist/core-common/src/utils/transferable.d.ts +47 -0
  67. package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
  68. package/dist/core-common/src/utils/wait.d.ts +19 -0
  69. package/dist/core-common/src/utils/wait.d.ts.map +1 -0
  70. package/dist/core-common/src/utils/xml.d.ts +36 -0
  71. package/dist/core-common/src/utils/xml.d.ts.map +1 -0
  72. package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
  73. package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
  74. package/dist/db-conn-factory.js +88 -0
  75. package/dist/db-conn-factory.js.map +7 -0
  76. package/dist/index.js +9 -0
  77. package/dist/index.js.map +7 -0
  78. package/dist/node-db-context-executor.js +129 -0
  79. package/dist/node-db-context-executor.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/orm-node/src/connections/mssql-db-conn.d.ts +44 -0
  139. package/dist/orm-node/src/connections/mssql-db-conn.d.ts.map +1 -0
  140. package/dist/orm-node/src/connections/mysql-db-conn.d.ts +38 -0
  141. package/dist/orm-node/src/connections/mysql-db-conn.d.ts.map +1 -0
  142. package/dist/orm-node/src/connections/postgresql-db-conn.d.ts +39 -0
  143. package/dist/orm-node/src/connections/postgresql-db-conn.d.ts.map +1 -0
  144. package/dist/orm-node/src/db-conn-factory.d.ts +25 -0
  145. package/dist/orm-node/src/db-conn-factory.d.ts.map +1 -0
  146. package/dist/orm-node/src/index.d.ts +9 -0
  147. package/dist/orm-node/src/index.d.ts.map +1 -0
  148. package/dist/orm-node/src/node-db-context-executor.d.ts +77 -0
  149. package/dist/orm-node/src/node-db-context-executor.d.ts.map +1 -0
  150. package/dist/orm-node/src/pooled-db-conn.d.ts +79 -0
  151. package/dist/orm-node/src/pooled-db-conn.d.ts.map +1 -0
  152. package/dist/orm-node/src/sd-orm.d.ts +78 -0
  153. package/dist/orm-node/src/sd-orm.d.ts.map +1 -0
  154. package/dist/orm-node/src/types/db-conn.d.ts +159 -0
  155. package/dist/orm-node/src/types/db-conn.d.ts.map +1 -0
  156. package/dist/pooled-db-conn.js +134 -0
  157. package/dist/pooled-db-conn.js.map +7 -0
  158. package/dist/sd-orm.js +44 -0
  159. package/dist/sd-orm.js.map +7 -0
  160. package/dist/types/db-conn.js +17 -0
  161. package/dist/types/db-conn.js.map +7 -0
  162. package/package.json +53 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * 트랜잭션 관련 에러 코드
3
+ *
4
+ * DBMS별 native 에러 코드를 추상화하여 DBMS 독립적인 에러 처리 가능
5
+ */
6
+ export declare enum DbErrorCode {
7
+ /** 활성 트랜잭션이 없음 (ROLLBACK 시 트랜잭션 없음) */
8
+ NO_ACTIVE_TRANSACTION = "NO_ACTIVE_TRANSACTION",
9
+ /** 트랜잭션이 이미 시작됨 */
10
+ TRANSACTION_ALREADY_STARTED = "TRANSACTION_ALREADY_STARTED",
11
+ /** 데드락 발생 */
12
+ DEADLOCK = "DEADLOCK",
13
+ /** 락 타임아웃 */
14
+ LOCK_TIMEOUT = "LOCK_TIMEOUT"
15
+ }
16
+ /**
17
+ * 데이터베이스 트랜잭션 에러
18
+ *
19
+ * DBMS별 native 에러를 표준화된 에러 코드로 래핑하여
20
+ * DBMS 독립적인 에러 처리 가능
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * try {
25
+ * await db.rollbackTransaction();
26
+ * } catch (err) {
27
+ * if (err instanceof DbTransactionError) {
28
+ * if (err.code === DbErrorCode.NO_ACTIVE_TRANSACTION) {
29
+ * // 이미 롤백된 경우 무시
30
+ * return;
31
+ * }
32
+ * }
33
+ * throw err;
34
+ * }
35
+ * ```
36
+ */
37
+ export declare class DbTransactionError extends Error {
38
+ /** 표준화된 에러 코드 */
39
+ readonly code: DbErrorCode;
40
+ /** 원본 DBMS 에러 (디버깅용) */
41
+ readonly originalError?: unknown | undefined;
42
+ readonly name = "DbTransactionError";
43
+ constructor(
44
+ /** 표준화된 에러 코드 */
45
+ code: DbErrorCode,
46
+ /** 에러 메시지 */
47
+ message: string,
48
+ /** 원본 DBMS 에러 (디버깅용) */
49
+ originalError?: unknown | undefined);
50
+ }
51
+ //# sourceMappingURL=db-transaction-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-transaction-error.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/errors/db-transaction-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,WAAW;IACrB,uCAAuC;IACvC,qBAAqB,0BAA0B;IAE/C,mBAAmB;IACnB,2BAA2B,gCAAgC;IAE3D,aAAa;IACb,QAAQ,aAAa;IAErB,aAAa;IACb,YAAY,iBAAiB;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAIzC,iBAAiB;aACD,IAAI,EAAE,WAAW;IAGjC,wBAAwB;aACR,aAAa,CAAC,EAAE,OAAO;IARzC,SAAkB,IAAI,wBAAwB;;IAG5C,iBAAiB;IACD,IAAI,EAAE,WAAW;IACjC,aAAa;IACb,OAAO,EAAE,MAAM;IACf,wBAAwB;IACR,aAAa,CAAC,EAAE,OAAO,YAAA;CAI1C"}
@@ -0,0 +1,79 @@
1
+ import type { ColumnBuilderRecord, InferColumnExprs } from "../schema/factory/column-builder";
2
+ import type { ProcedureBuilder } from "../schema/procedure-builder";
3
+ import type { DbContext } from "../db-context";
4
+ /**
5
+ * 저장 프로시저 실행 래퍼 클래스
6
+ *
7
+ * ProcedureBuilder로 정의된 프로시저를 실행하기 위한 클래스.
8
+ * DbContext에서 executable() 팩토리 함수를 통해 생성하여 사용한다.
9
+ *
10
+ * @template TParams - 프로시저 파라미터 타입
11
+ * @template TReturns - 프로시저 반환 타입
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // 프로시저 실행
16
+ * const result = await db.getUserById().execute({ userId: 1n });
17
+ * ```
18
+ *
19
+ * @see {@link executable} 팩토리 함수
20
+ * @see {@link ProcedureBuilder} 프로시저 정의
21
+ */
22
+ export declare class Executable<TParams extends ColumnBuilderRecord, TReturns extends ColumnBuilderRecord> {
23
+ private readonly _db;
24
+ private readonly _builder;
25
+ constructor(_db: DbContext, _builder: ProcedureBuilder<TParams, TReturns>);
26
+ /**
27
+ * 프로시저 실행 QueryDef 생성
28
+ */
29
+ getExecProcQueryDef(params?: InferColumnExprs<TParams>): {
30
+ type: "execProc";
31
+ procedure: {
32
+ database: string | undefined;
33
+ schema: string | undefined;
34
+ name: string;
35
+ };
36
+ params: {
37
+ [k: string]: import("..").Expr;
38
+ } | undefined;
39
+ };
40
+ /**
41
+ * 프로시저 실행
42
+ */
43
+ execute(params: InferColumnExprs<TParams>): Promise<InferColumnExprs<TReturns>[][]>;
44
+ }
45
+ /**
46
+ * Executable 생성 팩토리 함수
47
+ *
48
+ * DbContext에서 프로시저를 등록할 때 사용한다.
49
+ * ProcedureBuilder로 정의된 프로시저를 Executable로 래핑하여 반환한다.
50
+ *
51
+ * @template TParams - 프로시저 파라미터 타입
52
+ * @template TReturns - 프로시저 반환 타입
53
+ * @param db - DbContext 인스턴스
54
+ * @param builder - ProcedureBuilder 인스턴스
55
+ * @returns Executable 생성 함수
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // 프로시저 정의
60
+ * const GetUserById = Procedure("GetUserById")
61
+ * .database("mydb")
62
+ * .params((c) => ({ userId: c.bigint() }))
63
+ * .returns((c) => ({ id: c.bigint(), name: c.varchar(100) }))
64
+ * .body("SELECT id, name FROM User WHERE id = userId");
65
+ *
66
+ * // DbContext에서 등록
67
+ * class MyDb extends DbContext {
68
+ * getUserById = executable(this, GetUserById);
69
+ * }
70
+ *
71
+ * // 사용
72
+ * const result = await db.getUserById().execute({ userId: 1n });
73
+ * ```
74
+ *
75
+ * @see {@link Executable} 실행 클래스
76
+ * @see {@link ProcedureBuilder} 프로시저 정의
77
+ */
78
+ export declare function executable<TParams extends ColumnBuilderRecord, TReturns extends ColumnBuilderRecord>(db: DbContext, builder: ProcedureBuilder<TParams, TReturns>): () => Executable<TParams, TReturns>;
79
+ //# sourceMappingURL=executable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../../../../orm-common/src/exec/executable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,mBAAmB,EAAE,QAAQ,SAAS,mBAAmB;IAE7F,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC;IAGhE;;OAEG;IACH,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC;;;;;;;;;;;IA2BtD;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;CAG1F;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,mBAAmB,EAAE,QAAQ,SAAS,mBAAmB,EAClG,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC3C,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAErC"}