@simplysm/sd-cli 10.0.22 → 10.0.24

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 (246) hide show
  1. package/dist/SdTsIncrementalBuilder.d.ts +1 -1
  2. package/dist/SdTsIncrementalBuilder.js.map +1 -1
  3. package/dist/SdTsIncrementalBuilder.mjs +39 -16
  4. package/dist/entry/SdCliLocalUpdate.d.ts +5 -0
  5. package/dist/entry/SdCliLocalUpdate.js.map +1 -1
  6. package/dist/entry/SdCliLocalUpdate.mjs +46 -1
  7. package/dist/entry/SdCliProject.js.map +1 -1
  8. package/dist/entry/SdCliProject.mjs +5 -0
  9. package/package.json +4 -4
  10. package/src/SdTsIncrementalBuilder.ts +29 -4
  11. package/src/entry/SdCliLocalUpdate.ts +53 -1
  12. package/src/entry/SdCliProject.ts +6 -0
  13. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +0 -20
  14. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +0 -1
  15. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +0 -12
  16. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +0 -43
  17. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +0 -1
  18. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +0 -54
  19. package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +0 -16
  20. package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +0 -1
  21. package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +0 -26
  22. package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +0 -14
  23. package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +0 -1
  24. package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +0 -2
  25. package/dist/sd-core-common/src/errors/ArgumentError.d.ts +0 -10
  26. package/dist/sd-core-common/src/errors/ArgumentError.js.map +0 -1
  27. package/dist/sd-core-common/src/errors/ArgumentError.mjs +0 -13
  28. package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +0 -10
  29. package/dist/sd-core-common/src/errors/NeverEntryError.js.map +0 -1
  30. package/dist/sd-core-common/src/errors/NeverEntryError.mjs +0 -13
  31. package/dist/sd-core-common/src/errors/NotImplementError.d.ts +0 -10
  32. package/dist/sd-core-common/src/errors/NotImplementError.js.map +0 -1
  33. package/dist/sd-core-common/src/errors/NotImplementError.mjs +0 -13
  34. package/dist/sd-core-common/src/errors/SdError.d.ts +0 -23
  35. package/dist/sd-core-common/src/errors/SdError.js.map +0 -1
  36. package/dist/sd-core-common/src/errors/SdError.mjs +0 -40
  37. package/dist/sd-core-common/src/errors/TimeoutError.d.ts +0 -11
  38. package/dist/sd-core-common/src/errors/TimeoutError.js.map +0 -1
  39. package/dist/sd-core-common/src/errors/TimeoutError.mjs +0 -16
  40. package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +0 -147
  41. package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +0 -1
  42. package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +0 -448
  43. package/dist/sd-core-common/src/extensions/MapExtension.d.ts +0 -4
  44. package/dist/sd-core-common/src/extensions/MapExtension.js.map +0 -1
  45. package/dist/sd-core-common/src/extensions/MapExtension.mjs +0 -15
  46. package/dist/sd-core-common/src/extensions/SetExtension.d.ts +0 -3
  47. package/dist/sd-core-common/src/extensions/SetExtension.js.map +0 -1
  48. package/dist/sd-core-common/src/extensions/SetExtension.mjs +0 -10
  49. package/dist/sd-core-common/src/index.d.ts +0 -32
  50. package/dist/sd-core-common/src/index.js.map +0 -1
  51. package/dist/sd-core-common/src/index.mjs +0 -33
  52. package/dist/sd-core-common/src/types/DateOnly.d.ts +0 -135
  53. package/dist/sd-core-common/src/types/DateOnly.js.map +0 -1
  54. package/dist/sd-core-common/src/types/DateOnly.mjs +0 -220
  55. package/dist/sd-core-common/src/types/DateTime.d.ts +0 -42
  56. package/dist/sd-core-common/src/types/DateTime.js.map +0 -1
  57. package/dist/sd-core-common/src/types/DateTime.mjs +0 -156
  58. package/dist/sd-core-common/src/types/DeepPartial.d.ts +0 -3
  59. package/dist/sd-core-common/src/types/DeepPartial.js.map +0 -1
  60. package/dist/sd-core-common/src/types/DeepPartial.mjs +0 -2
  61. package/dist/sd-core-common/src/types/ObjectSet.d.ts +0 -4
  62. package/dist/sd-core-common/src/types/ObjectSet.js.map +0 -1
  63. package/dist/sd-core-common/src/types/ObjectSet.mjs +0 -18
  64. package/dist/sd-core-common/src/types/Time.d.ts +0 -27
  65. package/dist/sd-core-common/src/types/Time.js.map +0 -1
  66. package/dist/sd-core-common/src/types/Time.mjs +0 -108
  67. package/dist/sd-core-common/src/types/Type.d.ts +0 -7
  68. package/dist/sd-core-common/src/types/Type.js.map +0 -1
  69. package/dist/sd-core-common/src/types/Type.mjs +0 -2
  70. package/dist/sd-core-common/src/types/UnwrappedType.d.ts +0 -1
  71. package/dist/sd-core-common/src/types/UnwrappedType.js.map +0 -1
  72. package/dist/sd-core-common/src/types/UnwrappedType.mjs +0 -2
  73. package/dist/sd-core-common/src/types/Uuid.d.ts +0 -8
  74. package/dist/sd-core-common/src/types/Uuid.js.map +0 -1
  75. package/dist/sd-core-common/src/types/Uuid.mjs +0 -26
  76. package/dist/sd-core-common/src/types/WrappedType.d.ts +0 -1
  77. package/dist/sd-core-common/src/types/WrappedType.js.map +0 -1
  78. package/dist/sd-core-common/src/types/WrappedType.mjs +0 -2
  79. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +0 -12
  80. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +0 -1
  81. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +0 -67
  82. package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +0 -8
  83. package/dist/sd-core-common/src/utils/FunctionQueue.js.map +0 -1
  84. package/dist/sd-core-common/src/utils/FunctionQueue.mjs +0 -46
  85. package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +0 -6
  86. package/dist/sd-core-common/src/utils/FunctionUtil.js.map +0 -1
  87. package/dist/sd-core-common/src/utils/FunctionUtil.mjs +0 -31
  88. package/dist/sd-core-common/src/utils/JsonConvert.d.ts +0 -8
  89. package/dist/sd-core-common/src/utils/JsonConvert.js.map +0 -1
  90. package/dist/sd-core-common/src/utils/JsonConvert.mjs +0 -78
  91. package/dist/sd-core-common/src/utils/MathUtil.d.ts +0 -3
  92. package/dist/sd-core-common/src/utils/MathUtil.js.map +0 -1
  93. package/dist/sd-core-common/src/utils/MathUtil.mjs +0 -6
  94. package/dist/sd-core-common/src/utils/NumberUtil.d.ts +0 -6
  95. package/dist/sd-core-common/src/utils/NumberUtil.js.map +0 -1
  96. package/dist/sd-core-common/src/utils/NumberUtil.mjs +0 -32
  97. package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +0 -80
  98. package/dist/sd-core-common/src/utils/ObjectUtil.js.map +0 -1
  99. package/dist/sd-core-common/src/utils/ObjectUtil.mjs +0 -452
  100. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +0 -6
  101. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +0 -1
  102. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +0 -27
  103. package/dist/sd-core-common/src/utils/StringUtil.d.ts +0 -8
  104. package/dist/sd-core-common/src/utils/StringUtil.js.map +0 -1
  105. package/dist/sd-core-common/src/utils/StringUtil.mjs +0 -77
  106. package/dist/sd-core-common/src/utils/Wait.d.ts +0 -4
  107. package/dist/sd-core-common/src/utils/Wait.js.map +0 -1
  108. package/dist/sd-core-common/src/utils/Wait.mjs +0 -23
  109. package/dist/sd-core-node/src/index.d.ts +0 -6
  110. package/dist/sd-core-node/src/index.js.map +0 -1
  111. package/dist/sd-core-node/src/index.mjs +0 -7
  112. package/dist/sd-core-node/src/utils/FsUtil.d.ts +0 -44
  113. package/dist/sd-core-node/src/utils/FsUtil.js.map +0 -1
  114. package/dist/sd-core-node/src/utils/FsUtil.mjs +0 -493
  115. package/dist/sd-core-node/src/utils/Logger.d.ts +0 -91
  116. package/dist/sd-core-node/src/utils/Logger.js.map +0 -1
  117. package/dist/sd-core-node/src/utils/Logger.mjs +0 -185
  118. package/dist/sd-core-node/src/utils/PathUtil.d.ts +0 -6
  119. package/dist/sd-core-node/src/utils/PathUtil.js.map +0 -1
  120. package/dist/sd-core-node/src/utils/PathUtil.mjs +0 -24
  121. package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +0 -15
  122. package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +0 -1
  123. package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +0 -43
  124. package/dist/sd-core-node/src/utils/SdProcess.d.ts +0 -5
  125. package/dist/sd-core-node/src/utils/SdProcess.js.map +0 -1
  126. package/dist/sd-core-node/src/utils/SdProcess.mjs +0 -36
  127. package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +0 -12
  128. package/dist/sd-orm-common/src/CaseQueryHelper.js.map +0 -1
  129. package/dist/sd-orm-common/src/CaseQueryHelper.mjs +0 -19
  130. package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +0 -12
  131. package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +0 -1
  132. package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +0 -20
  133. package/dist/sd-orm-common/src/DbContext.d.ts +0 -81
  134. package/dist/sd-orm-common/src/DbContext.js.map +0 -1
  135. package/dist/sd-orm-common/src/DbContext.mjs +0 -635
  136. package/dist/sd-orm-common/src/IDbConnection.d.ts +0 -15
  137. package/dist/sd-orm-common/src/IDbConnection.js.map +0 -1
  138. package/dist/sd-orm-common/src/IDbConnection.mjs +0 -2
  139. package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +0 -17
  140. package/dist/sd-orm-common/src/IDbContextExecutor.js.map +0 -1
  141. package/dist/sd-orm-common/src/IDbContextExecutor.mjs +0 -2
  142. package/dist/sd-orm-common/src/IDbMigration.d.ts +0 -4
  143. package/dist/sd-orm-common/src/IDbMigration.js.map +0 -1
  144. package/dist/sd-orm-common/src/IDbMigration.mjs +0 -2
  145. package/dist/sd-orm-common/src/QueryBuilder.d.ts +0 -48
  146. package/dist/sd-orm-common/src/QueryBuilder.js.map +0 -1
  147. package/dist/sd-orm-common/src/QueryBuilder.mjs +0 -1022
  148. package/dist/sd-orm-common/src/QueryHelper.d.ts +0 -75
  149. package/dist/sd-orm-common/src/QueryHelper.js.map +0 -1
  150. package/dist/sd-orm-common/src/QueryHelper.mjs +0 -627
  151. package/dist/sd-orm-common/src/QueryUnit.d.ts +0 -10
  152. package/dist/sd-orm-common/src/QueryUnit.js.map +0 -1
  153. package/dist/sd-orm-common/src/QueryUnit.mjs +0 -16
  154. package/dist/sd-orm-common/src/Queryable.d.ts +0 -105
  155. package/dist/sd-orm-common/src/Queryable.js.map +0 -1
  156. package/dist/sd-orm-common/src/Queryable.mjs +0 -1375
  157. package/dist/sd-orm-common/src/SdOrmDataType.d.ts +0 -21
  158. package/dist/sd-orm-common/src/SdOrmDataType.js.map +0 -1
  159. package/dist/sd-orm-common/src/SdOrmDataType.mjs +0 -2
  160. package/dist/sd-orm-common/src/commons.d.ts +0 -400
  161. package/dist/sd-orm-common/src/commons.js.map +0 -1
  162. package/dist/sd-orm-common/src/commons.mjs +0 -8
  163. package/dist/sd-orm-common/src/decorators.d.ts +0 -29
  164. package/dist/sd-orm-common/src/decorators.js.map +0 -1
  165. package/dist/sd-orm-common/src/decorators.mjs +0 -89
  166. package/dist/sd-orm-common/src/index.d.ts +0 -17
  167. package/dist/sd-orm-common/src/index.js.map +0 -1
  168. package/dist/sd-orm-common/src/index.mjs +0 -18
  169. package/dist/sd-orm-common/src/models/SystemMigration.d.ts +0 -3
  170. package/dist/sd-orm-common/src/models/SystemMigration.js.map +0 -1
  171. package/dist/sd-orm-common/src/models/SystemMigration.mjs +0 -13
  172. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +0 -14
  173. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +0 -1
  174. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +0 -66
  175. package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +0 -8
  176. package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +0 -1
  177. package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +0 -248
  178. package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +0 -4
  179. package/dist/sd-orm-node/src/DbConnectionFactory.js.map +0 -1
  180. package/dist/sd-orm-node/src/DbConnectionFactory.mjs +0 -17
  181. package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +0 -19
  182. package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +0 -1
  183. package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +0 -71
  184. package/dist/sd-orm-node/src/SdOrm.d.ts +0 -10
  185. package/dist/sd-orm-node/src/SdOrm.js.map +0 -1
  186. package/dist/sd-orm-node/src/SdOrm.mjs +0 -25
  187. package/dist/sd-orm-node/src/index.d.ts +0 -4
  188. package/dist/sd-orm-node/src/index.js.map +0 -1
  189. package/dist/sd-orm-node/src/index.mjs +0 -5
  190. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +0 -25
  191. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +0 -1
  192. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +0 -321
  193. package/dist/sd-orm-node-mssql/src/index.d.ts +0 -2
  194. package/dist/sd-orm-node-mssql/src/index.js.map +0 -1
  195. package/dist/sd-orm-node-mssql/src/index.mjs +0 -3
  196. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +0 -22
  197. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +0 -1
  198. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +0 -200
  199. package/dist/sd-orm-node-mysql/src/index.d.ts +0 -2
  200. package/dist/sd-orm-node-mysql/src/index.js.map +0 -1
  201. package/dist/sd-orm-node-mysql/src/index.mjs +0 -3
  202. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +0 -22
  203. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +0 -1
  204. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +0 -172
  205. package/dist/sd-orm-node-sqlite/src/index.d.ts +0 -2
  206. package/dist/sd-orm-node-sqlite/src/index.js.map +0 -1
  207. package/dist/sd-orm-node-sqlite/src/index.mjs +0 -3
  208. package/dist/sd-service-common/src/commons-orm.d.ts +0 -4
  209. package/dist/sd-service-common/src/commons-orm.js.map +0 -1
  210. package/dist/sd-service-common/src/commons-orm.mjs +0 -2
  211. package/dist/sd-service-common/src/commons-smtp.d.ts +0 -29
  212. package/dist/sd-service-common/src/commons-smtp.js.map +0 -1
  213. package/dist/sd-service-common/src/commons-smtp.mjs +0 -2
  214. package/dist/sd-service-common/src/commons.d.ts +0 -57
  215. package/dist/sd-service-common/src/commons.js.map +0 -1
  216. package/dist/sd-service-common/src/commons.mjs +0 -3
  217. package/dist/sd-service-common/src/index.d.ts +0 -3
  218. package/dist/sd-service-common/src/index.js.map +0 -1
  219. package/dist/sd-service-common/src/index.mjs +0 -4
  220. package/dist/sd-service-server/src/ApiServiceError.d.ts +0 -12
  221. package/dist/sd-service-server/src/ApiServiceError.js.map +0 -1
  222. package/dist/sd-service-server/src/ApiServiceError.mjs +0 -15
  223. package/dist/sd-service-server/src/SdServiceServer.d.ts +0 -39
  224. package/dist/sd-service-server/src/SdServiceServer.js.map +0 -1
  225. package/dist/sd-service-server/src/SdServiceServer.mjs +0 -513
  226. package/dist/sd-service-server/src/commons.d.ts +0 -23
  227. package/dist/sd-service-server/src/commons.js.map +0 -1
  228. package/dist/sd-service-server/src/commons.mjs +0 -3
  229. package/dist/sd-service-server/src/index.d.ts +0 -8
  230. package/dist/sd-service-server/src/index.js.map +0 -1
  231. package/dist/sd-service-server/src/index.mjs +0 -9
  232. package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +0 -4
  233. package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +0 -1
  234. package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +0 -20
  235. package/dist/sd-service-server/src/services/SdCryptoService.d.ts +0 -7
  236. package/dist/sd-service-server/src/services/SdCryptoService.js.map +0 -1
  237. package/dist/sd-service-server/src/services/SdCryptoService.mjs +0 -39
  238. package/dist/sd-service-server/src/services/SdOrmService.d.ts +0 -22
  239. package/dist/sd-service-server/src/services/SdOrmService.js.map +0 -1
  240. package/dist/sd-service-server/src/services/SdOrmService.mjs +0 -115
  241. package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +0 -6
  242. package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +0 -1
  243. package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +0 -44
  244. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +0 -4
  245. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +0 -1
  246. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +0 -36
@@ -1,627 +0,0 @@
1
- import { QueryUnit } from "./QueryUnit";
2
- import { DateOnly, DateTime, NeverEntryError, Time, Uuid } from "@simplysm/sd-core-common";
3
- import { Queryable } from "./Queryable";
4
- import { SdOrmUtil } from "./utils/SdOrmUtil";
5
- import { CaseWhenQueryHelper } from "./CaseWhenQueryHelper";
6
- import { CaseQueryHelper } from "./CaseQueryHelper";
7
- export class QueryHelper {
8
- constructor(_dialect) {
9
- this._dialect = _dialect;
10
- }
11
- // ----------------------------------------------------
12
- // WHERE
13
- // ----------------------------------------------------
14
- // region WHERE
15
- equal(source, target) {
16
- if (target === undefined) {
17
- return this.isNull(source);
18
- }
19
- if (this._dialect === "mysql") {
20
- return [this.getQueryValue(source), " <=> ", this.getQueryValue(target)];
21
- }
22
- else {
23
- if (source instanceof QueryUnit && target instanceof QueryUnit) {
24
- return this.or([
25
- this.and([this.isNull(source), this.isNull(target)]),
26
- [this.getQueryValue(source), " = ", this.getQueryValue(target)]
27
- ]);
28
- }
29
- else {
30
- return [this.getQueryValue(source), " = ", this.getQueryValue(target)];
31
- }
32
- }
33
- }
34
- notEqual(source, target) {
35
- if (target === undefined) {
36
- return this.isNotNull(source);
37
- }
38
- else if (source instanceof QueryUnit && target instanceof QueryUnit) {
39
- return this.or([
40
- this.and([this.isNull(source), this.isNotNull(target)]),
41
- this.and([this.isNotNull(source), this.isNull(target)]),
42
- [this.getQueryValue(source), " != ", this.getQueryValue(target)]
43
- ]);
44
- }
45
- else {
46
- return this.or([
47
- this.isNull(source),
48
- [this.getQueryValue(source), " != ", this.getQueryValue(target)]
49
- ]);
50
- }
51
- }
52
- isNull(source) {
53
- return [this.getQueryValue(source), " IS ", "NULL"];
54
- }
55
- isNotNull(source) {
56
- return [this.getQueryValue(source), " IS NOT ", "NULL"];
57
- }
58
- isFalse(source) {
59
- return this.or([
60
- this.isNull(source),
61
- this.equal(source, false)
62
- ]);
63
- }
64
- isTrue(source) {
65
- return this.and([
66
- this.isNotNull(source),
67
- this.equal(source, true)
68
- ]);
69
- }
70
- lessThen(source, target) {
71
- return [this.getQueryValue(source), " < ", this.getQueryValue(target)];
72
- }
73
- lessThenOrEqual(source, target) {
74
- return [this.getQueryValue(source), " <= ", this.getQueryValue(target)];
75
- }
76
- greaterThen(source, target) {
77
- return [this.getQueryValue(source), " > ", this.getQueryValue(target)];
78
- }
79
- greaterThenOrEqual(source, target) {
80
- return [this.getQueryValue(source), " >= ", this.getQueryValue(target)];
81
- }
82
- between(source, from, to) {
83
- if (from != null || to != null) {
84
- return this.and([
85
- from != null ? this.greaterThenOrEqual(source, from) : undefined,
86
- to != null ? this.lessThenOrEqual(source, to) : undefined
87
- ].filterExists());
88
- }
89
- else {
90
- return [];
91
- }
92
- }
93
- includes(source, target) {
94
- return [this.getQueryValue(source), " LIKE ", this.concat("%", target, "%").query];
95
- }
96
- notIncludes(source, target) {
97
- return this.or([
98
- this.isNull(source),
99
- [this.getQueryValue(source), " NOT LIKE ", this.concat("%", target, "%").query]
100
- ]);
101
- }
102
- like(source, target) {
103
- return [this.getQueryValue(source), " LIKE ", this.getQueryValue(target)];
104
- }
105
- notLike(source, target) {
106
- return this.or([
107
- this.isNull(source),
108
- [this.getQueryValue(source), " NOT LIKE ", this.getQueryValue(target)]
109
- ]);
110
- }
111
- startsWith(source, target) {
112
- return [this.getQueryValue(source), " LIKE ", this.getQueryValue(target), this._dialect === "sqlite" ? " || " : " + ", "'%'"];
113
- }
114
- notStartsWith(source, target) {
115
- return [this.getQueryValue(source), " NOT LIKE ", this.getQueryValue(target), this._dialect === "sqlite" ? " || " : " + ", "'%'"];
116
- }
117
- endsWith(source, target) {
118
- return [this.getQueryValue(source), " LIKE ", "'%'", this._dialect === "sqlite" ? " || " : " + ", this.getQueryValue(target)];
119
- }
120
- notEndsWith(source, target) {
121
- return [this.getQueryValue(source), " NOT LIKE ", "'%'", this._dialect === "sqlite" ? " || " : " + ", this.getQueryValue(target)];
122
- }
123
- in(src, target) {
124
- if (target.length < 1) {
125
- return ["1", " = ", "0"];
126
- }
127
- else {
128
- if (target.every((item) => item === undefined)) {
129
- return this.isNull(src);
130
- }
131
- const result = [this.getQueryValue(src), " IN ", target.filterExists().mapMany((item) => [this.getQueryValue(item), ", "]).slice(0, -1)];
132
- if (target.includes(undefined)) {
133
- return this.or([
134
- result,
135
- this.isNull(src)
136
- ]);
137
- }
138
- return result;
139
- }
140
- }
141
- notIn(src, target) {
142
- if (target.length < 1) {
143
- return ["1", " = ", "1"];
144
- }
145
- else {
146
- if (target.every((item) => item === undefined)) {
147
- return this.isNull(src);
148
- }
149
- const result = [this.getQueryValue(src), " NOT IN ", target.filterExists().mapMany((item) => [this.getQueryValue(item), ", "]).slice(0, -1)];
150
- if (!target.includes(undefined)) {
151
- return this.or([
152
- result,
153
- this.isNull(src)
154
- ]);
155
- }
156
- return result;
157
- }
158
- }
159
- and(args) {
160
- const result = [];
161
- for (const arg of args) {
162
- const queryValue = this.getQueryValue(arg);
163
- if (typeof queryValue !== "undefined") {
164
- result.push(...[queryValue, " AND "]);
165
- }
166
- }
167
- return result.slice(0, -1);
168
- }
169
- or(args) {
170
- const result = [];
171
- for (const arg of args) {
172
- const queryValue = this.getQueryValue(arg);
173
- result.push(...[queryValue, " OR "]);
174
- }
175
- return result.slice(0, -1);
176
- }
177
- // endregion
178
- // ----------------------------------------------------
179
- // FIELD
180
- // ----------------------------------------------------
181
- // region FIELD
182
- query(type, texts) {
183
- const arr = [];
184
- for (const text of texts) {
185
- if (text instanceof QueryUnit) {
186
- arr.push(this.getQueryValue(text));
187
- }
188
- else {
189
- arr.push(text);
190
- }
191
- }
192
- return new QueryUnit(type, arr);
193
- }
194
- val(value, type) {
195
- const currType = type ?? SdOrmUtil.getQueryValueType(value);
196
- return new QueryUnit(currType, this.getQueryValue(value));
197
- }
198
- is(where) {
199
- return this.case(where, true).else(false);
200
- }
201
- dateDiff(separator, from, to) {
202
- if (this._dialect === "mysql") {
203
- return new QueryUnit(Number, ["TIMESTAMPDIFF(", separator, ", ", this.getQueryValue(from), ", ", this.getQueryValue(to), ")"]);
204
- }
205
- else {
206
- return new QueryUnit(Number, ["DATEDIFF(", separator, ", ", this.getQueryValue(from), ", ", this.getQueryValue(to), ")"]);
207
- }
208
- }
209
- dateAdd(separator, from, value) {
210
- const type = SdOrmUtil.getQueryValueType(from);
211
- return new QueryUnit(type, ["DATEADD(", separator, ", ", this.getQueryValue(value), ", ", this.getQueryValue(from), ")"]);
212
- }
213
- dateToString(value, code) {
214
- if (this._dialect === "mysql") {
215
- if (code === 112) {
216
- return new QueryUnit(String, ["DATE_FORMAT(", this.getQueryValue(value), ", '%Y%m%d')"]);
217
- }
218
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
219
- else if (code === 120) {
220
- return new QueryUnit(String, ["DATE_FORMAT(", this.getQueryValue(value), ", '%Y-%m-%d %H:%i:%s')"]);
221
- }
222
- else {
223
- throw new NeverEntryError();
224
- }
225
- }
226
- else {
227
- return new QueryUnit(String, ["CONVERT(NVARCHAR(25), ", this.getQueryValue(value), ", ", this.getQueryValue(code), ")"]);
228
- }
229
- }
230
- year(value) {
231
- return new QueryUnit(Number, ["YEAR(", this.getQueryValue(value), ")"]);
232
- }
233
- month(value) {
234
- return new QueryUnit(Number, ["MONTH(", this.getQueryValue(value), ")"]);
235
- }
236
- ifNull(source, ...targets) {
237
- let cursorQuery = this.getQueryValue(source);
238
- let type = SdOrmUtil.getQueryValueType(source);
239
- for (const target of targets) {
240
- if (this._dialect === "mssql" || this._dialect === "mssql-azure") {
241
- cursorQuery = ["ISNULL(", cursorQuery, ", ", this.getQueryValue(target), ")"];
242
- }
243
- else {
244
- cursorQuery = ["IFNULL(", cursorQuery, ", ", this.getQueryValue(target), ")"];
245
- }
246
- type = type ?? SdOrmUtil.getQueryValueType(target);
247
- }
248
- return new QueryUnit(type, cursorQuery);
249
- }
250
- case(predicate, then) {
251
- const type = SdOrmUtil.getQueryValueType(then);
252
- const caseQueryable = new CaseQueryHelper(this, type);
253
- return caseQueryable.case(predicate, then);
254
- }
255
- caseWhen(arg) {
256
- return new CaseWhenQueryHelper(this, arg);
257
- }
258
- /*public greater<T extends number | Number | DateOnly | DateTime | Time>(source: TEntityValue<T>, target: TEntityValue<T>): QueryUnit<T> {
259
- const type = SdOrmUtil.getQueryValueType(source);
260
- if (!type) throw new TypeError();
261
-
262
- return this.case(this.greaterThen(source, target), source).else(target);
263
- }*/
264
- greatest(...args) {
265
- let type;
266
- for (const arg of args) {
267
- type = SdOrmUtil.getQueryValueType(arg);
268
- if (type)
269
- break;
270
- }
271
- if (!type)
272
- throw new TypeError();
273
- return new QueryUnit(type, ["GREATEST(", ...args.mapMany((arg) => [this.getQueryValue(arg), ", "]).slice(0, -1), ")"]);
274
- }
275
- dataLength(arg) {
276
- if (this._dialect === "mysql") {
277
- return new QueryUnit(Number, ["LENGTH(", this.getQueryValue(arg), ")"]);
278
- }
279
- else {
280
- return new QueryUnit(Number, ["DATALENGTH(", this.getQueryValue(arg), ")"]);
281
- }
282
- }
283
- stringLength(arg) {
284
- return new QueryUnit(Number, ["LEN(", this.getQueryValue(arg), ")"]);
285
- }
286
- cast(src, targetType) {
287
- if (this._dialect === "mysql") {
288
- return new QueryUnit(targetType, ["CONVERT(", this.getQueryValue(src), ", ", this.mysqlConvertType(targetType), ")"]);
289
- }
290
- else {
291
- return new QueryUnit(targetType, ["CONVERT(", this.type(targetType), ", ", this.getQueryValue(src), ")"]);
292
- }
293
- }
294
- left(src, num) {
295
- return new QueryUnit(String, ["LEFT(", this.getQueryValue(src), ", ", this.getQueryValue(num), ")"]);
296
- }
297
- right(src, num) {
298
- return new QueryUnit(String, ["RIGHT(", this.getQueryValue(src), ", ", this.getQueryValue(num), ")"]);
299
- }
300
- replace(src, from, to) {
301
- return new QueryUnit(String, [
302
- "REPLACE(",
303
- this.getQueryValue(src),
304
- ", ",
305
- this.getQueryValue(from),
306
- ", ",
307
- this.getQueryValue(to),
308
- ")"
309
- ]);
310
- }
311
- toUpperCase(src) {
312
- return new QueryUnit(String, ["UPPER(", this.getQueryValue(src), ")"]);
313
- }
314
- toLowerCase(src) {
315
- return new QueryUnit(String, ["LOWER(", this.getQueryValue(src), ")"]);
316
- }
317
- abs(src) {
318
- return new QueryUnit(Number, ["ABS(", this.getQueryValue(src), ")"]);
319
- }
320
- concat(...args) {
321
- if (this._dialect === "mysql") {
322
- return new QueryUnit(String, [
323
- "CONCAT(",
324
- ...args.mapMany((arg) => [arg !== undefined ? this.ifNull(arg, "").query : "", ", "]).slice(0, -1),
325
- ")"
326
- ]);
327
- }
328
- else {
329
- return new QueryUnit(String, [
330
- ...args.mapMany((arg) => [arg instanceof QueryUnit ? this.ifNull(arg, "").query : arg !== undefined ? this.getQueryValue(arg) : "", this._dialect === "sqlite" ? " || " : " + "]).slice(0, -1)
331
- ]);
332
- }
333
- }
334
- rowIndex(orderBy) {
335
- return new QueryUnit(Number, ["ROW_NUMBER() OVER(ORDER BY ", orderBy.map((item) => this.getQueryValue(item[0]) + " " + item[1].toUpperCase()).join(" "), ")"]);
336
- }
337
- // endregion
338
- // ----------------------------------------------------
339
- // GROUPING FIELD
340
- // ----------------------------------------------------
341
- // region GROUPING FIELD
342
- count(arg) {
343
- if (arg !== undefined) {
344
- return new QueryUnit(Number, ["COUNT(DISTINCT(", this.getQueryValue(arg), "))"]);
345
- }
346
- else {
347
- return new QueryUnit(Number, "COUNT(*)");
348
- }
349
- }
350
- sum(arg) {
351
- return new QueryUnit(Number, ["SUM(", this.getQueryValue(arg), ")"]);
352
- }
353
- avg(arg) {
354
- return new QueryUnit(Number, ["AVG(", this.getQueryValue(arg), ")"]);
355
- }
356
- round(arg, len) {
357
- return new QueryUnit(Number, ["ROUND(", this.getQueryValue(arg), ", ", len, ")"]);
358
- }
359
- ceil(arg) {
360
- return new QueryUnit(Number, ["CEILING(", this.getQueryValue(arg), ")"]);
361
- }
362
- floor(arg) {
363
- return new QueryUnit(Number, ["FLOOR(", this.getQueryValue(arg), ")"]);
364
- }
365
- max(unit) {
366
- const type = SdOrmUtil.getQueryValueType(unit);
367
- if (!type)
368
- throw new TypeError();
369
- return new QueryUnit(type, ["MAX(", this.getQueryValue(unit), ")"]);
370
- }
371
- min(unit) {
372
- const type = SdOrmUtil.getQueryValueType(unit);
373
- if (!type)
374
- throw new TypeError();
375
- return new QueryUnit(type, ["MIN(", this.getQueryValue(unit), ")"]);
376
- }
377
- exists(arg) {
378
- return this.case(this.greaterThen(this.ifNull(this.count(arg), 0), 0), true).else(false);
379
- }
380
- notExists(arg) {
381
- return this.case(this.lessThenOrEqual(this.ifNull(this.count(arg), 0), 0), true).else(false);
382
- }
383
- getQueryValue(value) {
384
- if (value instanceof QueryUnit) {
385
- if (value.query instanceof Array) {
386
- return this._getQueryValueArray(value.query);
387
- }
388
- else if (value.query instanceof QueryUnit) {
389
- return this.getQueryValue(value.query);
390
- }
391
- else if (value.query instanceof Queryable) {
392
- return this.getQueryValue(value.query);
393
- }
394
- else {
395
- return value.query;
396
- }
397
- }
398
- else if (typeof value === "string") {
399
- if (this._dialect === "mysql" || this._dialect === "sqlite") {
400
- return `'${value.replace(/'/g, "''")}'`;
401
- }
402
- else {
403
- return `N'${value.replace(/'/g, "''")}'`;
404
- }
405
- }
406
- else if (typeof value === "boolean") {
407
- return value ? "1" : "0";
408
- }
409
- else if (value instanceof DateTime) {
410
- if (this._dialect === "mysql") {
411
- return "STR_TO_DATE('" + value.toFormatString("yyyy-MM-dd HH:mm:ss") + "', '%Y-%m-%d %H:%i:%s')";
412
- }
413
- else {
414
- return "'" + value.toFormatString("yyyy-MM-dd HH:mm:ss") + "'";
415
- }
416
- // "select"할때 어차피 "fff"를 못가져오는 관계로, 아래 코드 주석
417
- // (차후에 "tedious"가 업데이트 되면, 다시 "fff를 넣어야 할 수도 있음)
418
- // return "'" + arg.toFormatString("yyyy-MM-dd HH:mm:ss.fff") + "'";
419
- }
420
- else if (value instanceof DateOnly) {
421
- if (this._dialect === "mysql") {
422
- return "STR_TO_DATE('" + value.toFormatString("yyyy-MM-dd") + "', '%Y-%m-%d')";
423
- }
424
- else {
425
- return "'" + value.toFormatString("yyyy-MM-dd") + "'";
426
- }
427
- }
428
- else if (value instanceof Time) {
429
- return "'" + value.toFormatString("HH:mm:ss") + "'";
430
- }
431
- else if (value instanceof Buffer) {
432
- return `0x${value.toString("hex")}`;
433
- }
434
- else if (value instanceof Uuid) {
435
- if (this._dialect === "mysql") {
436
- return "'" + value.toString().replace(/-/g, "") + "'";
437
- }
438
- else {
439
- return "'" + value.toString() + "'";
440
- }
441
- }
442
- else if (value instanceof Queryable) {
443
- const selectDef = value.getSelectQueryDef();
444
- if (selectDef.top !== 1) {
445
- throw new Error("하나의 필드를 추출하기 위한 내부쿼리에서는 반드시 TOP 1 이 지정 되야 합니다.");
446
- }
447
- if (Object.keys(selectDef.select).length > 1) {
448
- throw new Error("하나의 필드를 추출하기 위한 내부쿼리에서는 반드시 하나의 컬럼만 SELECT 되야 합니다.");
449
- }
450
- return selectDef;
451
- }
452
- else if (value == null) {
453
- return "NULL";
454
- }
455
- else {
456
- return value;
457
- }
458
- }
459
- getBulkInsertQueryValue(value) {
460
- if (value instanceof QueryUnit) {
461
- if (value.query instanceof Array) {
462
- return this._getBulkInsertQueryValueArray(value.query);
463
- }
464
- else if (value.query instanceof QueryUnit) {
465
- return this.getBulkInsertQueryValue(value.query);
466
- }
467
- else if (value.query instanceof Queryable) {
468
- return this.getBulkInsertQueryValue(value.query);
469
- }
470
- else {
471
- return value.query;
472
- }
473
- }
474
- else if (typeof value === "string") {
475
- return value;
476
- }
477
- else if (typeof value === "boolean") {
478
- return value ? 1 : 0;
479
- }
480
- else if (value instanceof DateTime) {
481
- return value.toFormatString("yyyy-MM-dd HH:mm:ss");
482
- // return value.date;
483
- }
484
- else if (value instanceof DateOnly) {
485
- return value.toFormatString("yyyy-MM-dd");
486
- //return this._dialect === "mssql" || this._dialect === "mssql-azure" ? value.date : value;
487
- }
488
- else if (value instanceof Time) {
489
- return value.toFormatString("HH:mm:ss");
490
- }
491
- else if (value instanceof Buffer) {
492
- return `0x${value.toString("hex")}`;
493
- }
494
- else if (value instanceof Uuid) {
495
- return value.toString();
496
- }
497
- else if (value instanceof Queryable) {
498
- const selectDef = value.getSelectQueryDef();
499
- if (selectDef.top !== 1) {
500
- throw new Error("하나의 필드를 추출하기 위한 내부쿼리에서는 반드시 TOP 1 이 지정 되야 합니다.");
501
- }
502
- if (typeof selectDef.select !== "undefined" || Object.keys(selectDef.select).length > 1) {
503
- throw new Error("하나의 필드를 추출하기 위한 내부쿼리에서는 반드시 하나의 컬럼만 SELECT 되야 합니다.");
504
- }
505
- return selectDef;
506
- }
507
- else {
508
- return value;
509
- }
510
- }
511
- _getBulkInsertQueryValueArray(arr) {
512
- return arr.map((item) => {
513
- if (item instanceof Array) {
514
- return this._getBulkInsertQueryValueArray(item);
515
- }
516
- else if (item instanceof QueryUnit) {
517
- return this.getBulkInsertQueryValue(item);
518
- }
519
- else if (item instanceof Queryable) {
520
- return this.getBulkInsertQueryValue(item);
521
- }
522
- else {
523
- return item;
524
- }
525
- });
526
- }
527
- _getQueryValueArray(arr) {
528
- return arr.map((item) => {
529
- if (item instanceof Array) {
530
- return this._getQueryValueArray(item);
531
- }
532
- else if (item instanceof QueryUnit) {
533
- return this.getQueryValue(item);
534
- }
535
- else if (item instanceof Queryable) {
536
- return this.getQueryValue(item);
537
- }
538
- else {
539
- return item;
540
- }
541
- });
542
- }
543
- type(type) {
544
- if (typeof type === "string") {
545
- return type;
546
- }
547
- else if (type?.["type"] !== undefined) {
548
- const currType = type;
549
- switch (currType.type) {
550
- case "TEXT":
551
- return this._dialect === "mysql" ? "LONGTEXT" : "NTEXT";
552
- case "DECIMAL":
553
- return "DECIMAL(" + currType.precision + ((currType.digits == null || currType.digits === 0) ? "" : (", " + currType.digits)) + ")";
554
- case "STRING":
555
- if (this._dialect === "mysql" && currType.length === "MAX") {
556
- return "LONGTEXT";
557
- }
558
- else {
559
- return "NVARCHAR(" + (currType.length ?? "255") + ")";
560
- }
561
- case "FIXSTRING":
562
- return "NCHAR(" + currType.length + ")";
563
- case "BINARY":
564
- if (this._dialect === "mysql") {
565
- const len = (currType.length ?? "MAX");
566
- if (len === "MAX") {
567
- return "LONGBLOB";
568
- }
569
- else {
570
- return "VARBINARY(" + len + ")";
571
- }
572
- }
573
- else {
574
- return "VARBINARY(" + (currType.length ?? "MAX") + ")";
575
- }
576
- default:
577
- throw new TypeError();
578
- }
579
- }
580
- else {
581
- const currType = type;
582
- switch (currType) {
583
- case String:
584
- return "NVARCHAR(255)";
585
- case Number:
586
- return this._dialect === "sqlite" ? "INTEGER" : "BIGINT";
587
- case Boolean:
588
- return this._dialect === "mysql" ? "BOOLEAN" : "BIT";
589
- case DateTime:
590
- return this._dialect === "mysql" ? "DATETIME" : "DATETIME2";
591
- case DateOnly:
592
- return "DATE";
593
- case Time:
594
- return "TIME";
595
- case Uuid:
596
- return this._dialect === "mysql" ? "CHAR(38)" : "UNIQUEIDENTIFIER";
597
- case Buffer:
598
- return this.type({ type: "BINARY", length: "MAX" });
599
- default:
600
- throw new TypeError(currType !== undefined ? currType.name : "undefined");
601
- }
602
- }
603
- }
604
- mysqlConvertType(type) {
605
- switch (type) {
606
- case String:
607
- return "CHAR";
608
- case Number:
609
- return "DECIMAL";
610
- case Boolean:
611
- return "DECIMAL";
612
- case DateTime:
613
- return "DATETIME";
614
- case DateOnly:
615
- return "DATE";
616
- case Time:
617
- return "TIME";
618
- case Uuid:
619
- return "CHAR";
620
- case Buffer:
621
- return "BINARY";
622
- default:
623
- throw new TypeError(type.name);
624
- }
625
- }
626
- }
627
- //# sourceMappingURL=QueryHelper.js.map
@@ -1,10 +0,0 @@
1
- import { Type, WrappedType } from "@simplysm/sd-core-common";
2
- export declare class QueryUnit<T> {
3
- readonly type: Type<T | WrappedType<T>> | undefined;
4
- private readonly _query;
5
- T: T;
6
- constructor(type: Type<T | WrappedType<T>> | undefined, _query: any);
7
- get query(): any;
8
- notNull(): QueryUnit<NonNullable<T>>;
9
- nullable(): QueryUnit<T | undefined>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryUnit.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/QueryUnit.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IAGpB,YAAmC,IAA0C,EACzC,MAAW;QADZ,SAAI,GAAJ,IAAI,CAAsC;QACzC,WAAM,GAAN,MAAM,CAAK;IAC/C,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAW,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAW,CAAC;IACrB,CAAC;CACF"}
@@ -1,16 +0,0 @@
1
- export class QueryUnit {
2
- constructor(type, _query) {
3
- this.type = type;
4
- this._query = _query;
5
- }
6
- get query() {
7
- return this._query;
8
- }
9
- notNull() {
10
- return this;
11
- }
12
- nullable() {
13
- return this;
14
- }
15
- }
16
- //# sourceMappingURL=QueryUnit.js.map