@simplysm/sd-cli 10.0.21 → 10.0.23

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 (248) 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/commons.d.ts +1 -0
  5. package/dist/entry/SdCliLocalUpdate.d.ts +7 -0
  6. package/dist/entry/SdCliLocalUpdate.js.map +1 -0
  7. package/dist/entry/SdCliLocalUpdate.mjs +55 -0
  8. package/dist/sd-cli.js.map +1 -1
  9. package/dist/sd-cli.mjs +15 -0
  10. package/package.json +5 -5
  11. package/src/SdTsIncrementalBuilder.ts +29 -4
  12. package/src/commons.ts +1 -0
  13. package/src/entry/SdCliLocalUpdate.ts +70 -0
  14. package/src/sd-cli.ts +19 -0
  15. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +0 -20
  16. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +0 -1
  17. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +0 -12
  18. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +0 -43
  19. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +0 -1
  20. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +0 -54
  21. package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +0 -16
  22. package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +0 -1
  23. package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +0 -26
  24. package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +0 -14
  25. package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +0 -1
  26. package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +0 -2
  27. package/dist/sd-core-common/src/errors/ArgumentError.d.ts +0 -10
  28. package/dist/sd-core-common/src/errors/ArgumentError.js.map +0 -1
  29. package/dist/sd-core-common/src/errors/ArgumentError.mjs +0 -13
  30. package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +0 -10
  31. package/dist/sd-core-common/src/errors/NeverEntryError.js.map +0 -1
  32. package/dist/sd-core-common/src/errors/NeverEntryError.mjs +0 -13
  33. package/dist/sd-core-common/src/errors/NotImplementError.d.ts +0 -10
  34. package/dist/sd-core-common/src/errors/NotImplementError.js.map +0 -1
  35. package/dist/sd-core-common/src/errors/NotImplementError.mjs +0 -13
  36. package/dist/sd-core-common/src/errors/SdError.d.ts +0 -23
  37. package/dist/sd-core-common/src/errors/SdError.js.map +0 -1
  38. package/dist/sd-core-common/src/errors/SdError.mjs +0 -40
  39. package/dist/sd-core-common/src/errors/TimeoutError.d.ts +0 -11
  40. package/dist/sd-core-common/src/errors/TimeoutError.js.map +0 -1
  41. package/dist/sd-core-common/src/errors/TimeoutError.mjs +0 -16
  42. package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +0 -147
  43. package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +0 -1
  44. package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +0 -448
  45. package/dist/sd-core-common/src/extensions/MapExtension.d.ts +0 -4
  46. package/dist/sd-core-common/src/extensions/MapExtension.js.map +0 -1
  47. package/dist/sd-core-common/src/extensions/MapExtension.mjs +0 -15
  48. package/dist/sd-core-common/src/extensions/SetExtension.d.ts +0 -3
  49. package/dist/sd-core-common/src/extensions/SetExtension.js.map +0 -1
  50. package/dist/sd-core-common/src/extensions/SetExtension.mjs +0 -10
  51. package/dist/sd-core-common/src/index.d.ts +0 -32
  52. package/dist/sd-core-common/src/index.js.map +0 -1
  53. package/dist/sd-core-common/src/index.mjs +0 -33
  54. package/dist/sd-core-common/src/types/DateOnly.d.ts +0 -135
  55. package/dist/sd-core-common/src/types/DateOnly.js.map +0 -1
  56. package/dist/sd-core-common/src/types/DateOnly.mjs +0 -220
  57. package/dist/sd-core-common/src/types/DateTime.d.ts +0 -42
  58. package/dist/sd-core-common/src/types/DateTime.js.map +0 -1
  59. package/dist/sd-core-common/src/types/DateTime.mjs +0 -156
  60. package/dist/sd-core-common/src/types/DeepPartial.d.ts +0 -3
  61. package/dist/sd-core-common/src/types/DeepPartial.js.map +0 -1
  62. package/dist/sd-core-common/src/types/DeepPartial.mjs +0 -2
  63. package/dist/sd-core-common/src/types/ObjectSet.d.ts +0 -4
  64. package/dist/sd-core-common/src/types/ObjectSet.js.map +0 -1
  65. package/dist/sd-core-common/src/types/ObjectSet.mjs +0 -18
  66. package/dist/sd-core-common/src/types/Time.d.ts +0 -27
  67. package/dist/sd-core-common/src/types/Time.js.map +0 -1
  68. package/dist/sd-core-common/src/types/Time.mjs +0 -108
  69. package/dist/sd-core-common/src/types/Type.d.ts +0 -7
  70. package/dist/sd-core-common/src/types/Type.js.map +0 -1
  71. package/dist/sd-core-common/src/types/Type.mjs +0 -2
  72. package/dist/sd-core-common/src/types/UnwrappedType.d.ts +0 -1
  73. package/dist/sd-core-common/src/types/UnwrappedType.js.map +0 -1
  74. package/dist/sd-core-common/src/types/UnwrappedType.mjs +0 -2
  75. package/dist/sd-core-common/src/types/Uuid.d.ts +0 -8
  76. package/dist/sd-core-common/src/types/Uuid.js.map +0 -1
  77. package/dist/sd-core-common/src/types/Uuid.mjs +0 -26
  78. package/dist/sd-core-common/src/types/WrappedType.d.ts +0 -1
  79. package/dist/sd-core-common/src/types/WrappedType.js.map +0 -1
  80. package/dist/sd-core-common/src/types/WrappedType.mjs +0 -2
  81. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +0 -12
  82. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +0 -1
  83. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +0 -67
  84. package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +0 -8
  85. package/dist/sd-core-common/src/utils/FunctionQueue.js.map +0 -1
  86. package/dist/sd-core-common/src/utils/FunctionQueue.mjs +0 -46
  87. package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +0 -6
  88. package/dist/sd-core-common/src/utils/FunctionUtil.js.map +0 -1
  89. package/dist/sd-core-common/src/utils/FunctionUtil.mjs +0 -31
  90. package/dist/sd-core-common/src/utils/JsonConvert.d.ts +0 -8
  91. package/dist/sd-core-common/src/utils/JsonConvert.js.map +0 -1
  92. package/dist/sd-core-common/src/utils/JsonConvert.mjs +0 -78
  93. package/dist/sd-core-common/src/utils/MathUtil.d.ts +0 -3
  94. package/dist/sd-core-common/src/utils/MathUtil.js.map +0 -1
  95. package/dist/sd-core-common/src/utils/MathUtil.mjs +0 -6
  96. package/dist/sd-core-common/src/utils/NumberUtil.d.ts +0 -6
  97. package/dist/sd-core-common/src/utils/NumberUtil.js.map +0 -1
  98. package/dist/sd-core-common/src/utils/NumberUtil.mjs +0 -32
  99. package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +0 -80
  100. package/dist/sd-core-common/src/utils/ObjectUtil.js.map +0 -1
  101. package/dist/sd-core-common/src/utils/ObjectUtil.mjs +0 -452
  102. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +0 -6
  103. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +0 -1
  104. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +0 -27
  105. package/dist/sd-core-common/src/utils/StringUtil.d.ts +0 -8
  106. package/dist/sd-core-common/src/utils/StringUtil.js.map +0 -1
  107. package/dist/sd-core-common/src/utils/StringUtil.mjs +0 -77
  108. package/dist/sd-core-common/src/utils/Wait.d.ts +0 -4
  109. package/dist/sd-core-common/src/utils/Wait.js.map +0 -1
  110. package/dist/sd-core-common/src/utils/Wait.mjs +0 -23
  111. package/dist/sd-core-node/src/index.d.ts +0 -6
  112. package/dist/sd-core-node/src/index.js.map +0 -1
  113. package/dist/sd-core-node/src/index.mjs +0 -7
  114. package/dist/sd-core-node/src/utils/FsUtil.d.ts +0 -44
  115. package/dist/sd-core-node/src/utils/FsUtil.js.map +0 -1
  116. package/dist/sd-core-node/src/utils/FsUtil.mjs +0 -493
  117. package/dist/sd-core-node/src/utils/Logger.d.ts +0 -91
  118. package/dist/sd-core-node/src/utils/Logger.js.map +0 -1
  119. package/dist/sd-core-node/src/utils/Logger.mjs +0 -185
  120. package/dist/sd-core-node/src/utils/PathUtil.d.ts +0 -6
  121. package/dist/sd-core-node/src/utils/PathUtil.js.map +0 -1
  122. package/dist/sd-core-node/src/utils/PathUtil.mjs +0 -24
  123. package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +0 -15
  124. package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +0 -1
  125. package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +0 -43
  126. package/dist/sd-core-node/src/utils/SdProcess.d.ts +0 -5
  127. package/dist/sd-core-node/src/utils/SdProcess.js.map +0 -1
  128. package/dist/sd-core-node/src/utils/SdProcess.mjs +0 -36
  129. package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +0 -12
  130. package/dist/sd-orm-common/src/CaseQueryHelper.js.map +0 -1
  131. package/dist/sd-orm-common/src/CaseQueryHelper.mjs +0 -19
  132. package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +0 -12
  133. package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +0 -1
  134. package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +0 -20
  135. package/dist/sd-orm-common/src/DbContext.d.ts +0 -81
  136. package/dist/sd-orm-common/src/DbContext.js.map +0 -1
  137. package/dist/sd-orm-common/src/DbContext.mjs +0 -635
  138. package/dist/sd-orm-common/src/IDbConnection.d.ts +0 -15
  139. package/dist/sd-orm-common/src/IDbConnection.js.map +0 -1
  140. package/dist/sd-orm-common/src/IDbConnection.mjs +0 -2
  141. package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +0 -17
  142. package/dist/sd-orm-common/src/IDbContextExecutor.js.map +0 -1
  143. package/dist/sd-orm-common/src/IDbContextExecutor.mjs +0 -2
  144. package/dist/sd-orm-common/src/IDbMigration.d.ts +0 -4
  145. package/dist/sd-orm-common/src/IDbMigration.js.map +0 -1
  146. package/dist/sd-orm-common/src/IDbMigration.mjs +0 -2
  147. package/dist/sd-orm-common/src/QueryBuilder.d.ts +0 -48
  148. package/dist/sd-orm-common/src/QueryBuilder.js.map +0 -1
  149. package/dist/sd-orm-common/src/QueryBuilder.mjs +0 -1022
  150. package/dist/sd-orm-common/src/QueryHelper.d.ts +0 -75
  151. package/dist/sd-orm-common/src/QueryHelper.js.map +0 -1
  152. package/dist/sd-orm-common/src/QueryHelper.mjs +0 -627
  153. package/dist/sd-orm-common/src/QueryUnit.d.ts +0 -10
  154. package/dist/sd-orm-common/src/QueryUnit.js.map +0 -1
  155. package/dist/sd-orm-common/src/QueryUnit.mjs +0 -16
  156. package/dist/sd-orm-common/src/Queryable.d.ts +0 -105
  157. package/dist/sd-orm-common/src/Queryable.js.map +0 -1
  158. package/dist/sd-orm-common/src/Queryable.mjs +0 -1375
  159. package/dist/sd-orm-common/src/SdOrmDataType.d.ts +0 -21
  160. package/dist/sd-orm-common/src/SdOrmDataType.js.map +0 -1
  161. package/dist/sd-orm-common/src/SdOrmDataType.mjs +0 -2
  162. package/dist/sd-orm-common/src/commons.d.ts +0 -400
  163. package/dist/sd-orm-common/src/commons.js.map +0 -1
  164. package/dist/sd-orm-common/src/commons.mjs +0 -8
  165. package/dist/sd-orm-common/src/decorators.d.ts +0 -29
  166. package/dist/sd-orm-common/src/decorators.js.map +0 -1
  167. package/dist/sd-orm-common/src/decorators.mjs +0 -89
  168. package/dist/sd-orm-common/src/index.d.ts +0 -17
  169. package/dist/sd-orm-common/src/index.js.map +0 -1
  170. package/dist/sd-orm-common/src/index.mjs +0 -18
  171. package/dist/sd-orm-common/src/models/SystemMigration.d.ts +0 -3
  172. package/dist/sd-orm-common/src/models/SystemMigration.js.map +0 -1
  173. package/dist/sd-orm-common/src/models/SystemMigration.mjs +0 -13
  174. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +0 -14
  175. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +0 -1
  176. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +0 -66
  177. package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +0 -8
  178. package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +0 -1
  179. package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +0 -248
  180. package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +0 -4
  181. package/dist/sd-orm-node/src/DbConnectionFactory.js.map +0 -1
  182. package/dist/sd-orm-node/src/DbConnectionFactory.mjs +0 -17
  183. package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +0 -19
  184. package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +0 -1
  185. package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +0 -71
  186. package/dist/sd-orm-node/src/SdOrm.d.ts +0 -10
  187. package/dist/sd-orm-node/src/SdOrm.js.map +0 -1
  188. package/dist/sd-orm-node/src/SdOrm.mjs +0 -25
  189. package/dist/sd-orm-node/src/index.d.ts +0 -4
  190. package/dist/sd-orm-node/src/index.js.map +0 -1
  191. package/dist/sd-orm-node/src/index.mjs +0 -5
  192. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +0 -25
  193. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +0 -1
  194. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +0 -321
  195. package/dist/sd-orm-node-mssql/src/index.d.ts +0 -2
  196. package/dist/sd-orm-node-mssql/src/index.js.map +0 -1
  197. package/dist/sd-orm-node-mssql/src/index.mjs +0 -3
  198. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +0 -22
  199. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +0 -1
  200. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +0 -200
  201. package/dist/sd-orm-node-mysql/src/index.d.ts +0 -2
  202. package/dist/sd-orm-node-mysql/src/index.js.map +0 -1
  203. package/dist/sd-orm-node-mysql/src/index.mjs +0 -3
  204. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +0 -22
  205. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +0 -1
  206. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +0 -172
  207. package/dist/sd-orm-node-sqlite/src/index.d.ts +0 -2
  208. package/dist/sd-orm-node-sqlite/src/index.js.map +0 -1
  209. package/dist/sd-orm-node-sqlite/src/index.mjs +0 -3
  210. package/dist/sd-service-common/src/commons-orm.d.ts +0 -4
  211. package/dist/sd-service-common/src/commons-orm.js.map +0 -1
  212. package/dist/sd-service-common/src/commons-orm.mjs +0 -2
  213. package/dist/sd-service-common/src/commons-smtp.d.ts +0 -29
  214. package/dist/sd-service-common/src/commons-smtp.js.map +0 -1
  215. package/dist/sd-service-common/src/commons-smtp.mjs +0 -2
  216. package/dist/sd-service-common/src/commons.d.ts +0 -57
  217. package/dist/sd-service-common/src/commons.js.map +0 -1
  218. package/dist/sd-service-common/src/commons.mjs +0 -3
  219. package/dist/sd-service-common/src/index.d.ts +0 -3
  220. package/dist/sd-service-common/src/index.js.map +0 -1
  221. package/dist/sd-service-common/src/index.mjs +0 -4
  222. package/dist/sd-service-server/src/ApiServiceError.d.ts +0 -12
  223. package/dist/sd-service-server/src/ApiServiceError.js.map +0 -1
  224. package/dist/sd-service-server/src/ApiServiceError.mjs +0 -15
  225. package/dist/sd-service-server/src/SdServiceServer.d.ts +0 -39
  226. package/dist/sd-service-server/src/SdServiceServer.js.map +0 -1
  227. package/dist/sd-service-server/src/SdServiceServer.mjs +0 -513
  228. package/dist/sd-service-server/src/commons.d.ts +0 -23
  229. package/dist/sd-service-server/src/commons.js.map +0 -1
  230. package/dist/sd-service-server/src/commons.mjs +0 -3
  231. package/dist/sd-service-server/src/index.d.ts +0 -8
  232. package/dist/sd-service-server/src/index.js.map +0 -1
  233. package/dist/sd-service-server/src/index.mjs +0 -9
  234. package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +0 -4
  235. package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +0 -1
  236. package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +0 -20
  237. package/dist/sd-service-server/src/services/SdCryptoService.d.ts +0 -7
  238. package/dist/sd-service-server/src/services/SdCryptoService.js.map +0 -1
  239. package/dist/sd-service-server/src/services/SdCryptoService.mjs +0 -39
  240. package/dist/sd-service-server/src/services/SdOrmService.d.ts +0 -22
  241. package/dist/sd-service-server/src/services/SdOrmService.js.map +0 -1
  242. package/dist/sd-service-server/src/services/SdOrmService.mjs +0 -115
  243. package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +0 -6
  244. package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +0 -1
  245. package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +0 -44
  246. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +0 -4
  247. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +0 -1
  248. 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