@simplysm/sd-cli 7.3.4 → 10.0.21

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 (468) hide show
  1. package/.eslintrc.cjs +18 -0
  2. package/dist/SdLinter.d.ts +5 -0
  3. package/dist/SdLinter.js.map +1 -0
  4. package/dist/SdLinter.mjs +37 -0
  5. package/dist/SdTsIncrementalBuilder.d.ts +16 -0
  6. package/dist/SdTsIncrementalBuilder.js.map +1 -0
  7. package/dist/SdTsIncrementalBuilder.mjs +54 -0
  8. package/dist/build-cluster.js.map +1 -0
  9. package/dist/build-cluster.mjs +124 -0
  10. package/dist/builders/SdCliClientBuilder.d.ts +13 -0
  11. package/dist/builders/SdCliClientBuilder.js.map +1 -0
  12. package/dist/builders/SdCliClientBuilder.mjs +167 -0
  13. package/dist/builders/SdCliJsLibLinter.d.ts +14 -0
  14. package/dist/builders/SdCliJsLibLinter.js.map +1 -0
  15. package/dist/builders/SdCliJsLibLinter.mjs +60 -0
  16. package/dist/builders/SdCliServerBuilder.d.ts +14 -0
  17. package/dist/builders/SdCliServerBuilder.js.map +1 -0
  18. package/dist/builders/SdCliServerBuilder.mjs +171 -0
  19. package/dist/builders/SdCliTsLibBuilder.d.ts +13 -0
  20. package/dist/builders/SdCliTsLibBuilder.js.map +1 -0
  21. package/dist/builders/SdCliTsLibBuilder.mjs +75 -0
  22. package/dist/commons.d.ts +20 -110
  23. package/dist/commons.js.map +1 -0
  24. package/dist/commons.mjs +1 -1
  25. package/dist/entry/SdCliProject.d.ts +29 -0
  26. package/dist/entry/SdCliProject.js.map +1 -0
  27. package/dist/entry/SdCliProject.mjs +353 -0
  28. package/dist/sd-cli.js.map +1 -0
  29. package/dist/sd-cli.mjs +119 -0
  30. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +20 -0
  31. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +1 -0
  32. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +12 -0
  33. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +43 -0
  34. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +1 -0
  35. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +54 -0
  36. package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +16 -0
  37. package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +1 -0
  38. package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +26 -0
  39. package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +14 -0
  40. package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +1 -0
  41. package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +2 -0
  42. package/dist/sd-core-common/src/errors/ArgumentError.d.ts +10 -0
  43. package/dist/sd-core-common/src/errors/ArgumentError.js.map +1 -0
  44. package/dist/sd-core-common/src/errors/ArgumentError.mjs +13 -0
  45. package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +10 -0
  46. package/dist/sd-core-common/src/errors/NeverEntryError.js.map +1 -0
  47. package/dist/sd-core-common/src/errors/NeverEntryError.mjs +13 -0
  48. package/dist/sd-core-common/src/errors/NotImplementError.d.ts +10 -0
  49. package/dist/sd-core-common/src/errors/NotImplementError.js.map +1 -0
  50. package/dist/sd-core-common/src/errors/NotImplementError.mjs +13 -0
  51. package/dist/sd-core-common/src/errors/SdError.d.ts +23 -0
  52. package/dist/sd-core-common/src/errors/SdError.js.map +1 -0
  53. package/dist/sd-core-common/src/errors/SdError.mjs +40 -0
  54. package/dist/sd-core-common/src/errors/TimeoutError.d.ts +11 -0
  55. package/dist/sd-core-common/src/errors/TimeoutError.js.map +1 -0
  56. package/dist/sd-core-common/src/errors/TimeoutError.mjs +16 -0
  57. package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +147 -0
  58. package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +1 -0
  59. package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +448 -0
  60. package/dist/sd-core-common/src/extensions/MapExtension.d.ts +4 -0
  61. package/dist/sd-core-common/src/extensions/MapExtension.js.map +1 -0
  62. package/dist/sd-core-common/src/extensions/MapExtension.mjs +15 -0
  63. package/dist/sd-core-common/src/extensions/SetExtension.d.ts +3 -0
  64. package/dist/sd-core-common/src/extensions/SetExtension.js.map +1 -0
  65. package/dist/sd-core-common/src/extensions/SetExtension.mjs +10 -0
  66. package/dist/sd-core-common/src/index.d.ts +32 -0
  67. package/dist/sd-core-common/src/index.js.map +1 -0
  68. package/dist/sd-core-common/src/index.mjs +33 -0
  69. package/dist/sd-core-common/src/types/DateOnly.d.ts +135 -0
  70. package/dist/sd-core-common/src/types/DateOnly.js.map +1 -0
  71. package/dist/sd-core-common/src/types/DateOnly.mjs +220 -0
  72. package/dist/sd-core-common/src/types/DateTime.d.ts +42 -0
  73. package/dist/sd-core-common/src/types/DateTime.js.map +1 -0
  74. package/dist/sd-core-common/src/types/DateTime.mjs +156 -0
  75. package/dist/sd-core-common/src/types/DeepPartial.d.ts +3 -0
  76. package/dist/sd-core-common/src/types/DeepPartial.js.map +1 -0
  77. package/dist/sd-core-common/src/types/DeepPartial.mjs +2 -0
  78. package/dist/sd-core-common/src/types/ObjectSet.d.ts +4 -0
  79. package/dist/sd-core-common/src/types/ObjectSet.js.map +1 -0
  80. package/dist/sd-core-common/src/types/ObjectSet.mjs +18 -0
  81. package/dist/sd-core-common/src/types/Time.d.ts +27 -0
  82. package/dist/sd-core-common/src/types/Time.js.map +1 -0
  83. package/dist/sd-core-common/src/types/Time.mjs +108 -0
  84. package/dist/sd-core-common/src/types/Type.d.ts +7 -0
  85. package/dist/sd-core-common/src/types/Type.js.map +1 -0
  86. package/dist/sd-core-common/src/types/Type.mjs +2 -0
  87. package/dist/sd-core-common/src/types/UnwrappedType.d.ts +1 -0
  88. package/dist/sd-core-common/src/types/UnwrappedType.js.map +1 -0
  89. package/dist/sd-core-common/src/types/UnwrappedType.mjs +2 -0
  90. package/dist/sd-core-common/src/types/Uuid.d.ts +8 -0
  91. package/dist/sd-core-common/src/types/Uuid.js.map +1 -0
  92. package/dist/sd-core-common/src/types/Uuid.mjs +26 -0
  93. package/dist/sd-core-common/src/types/WrappedType.d.ts +1 -0
  94. package/dist/sd-core-common/src/types/WrappedType.js.map +1 -0
  95. package/dist/sd-core-common/src/types/WrappedType.mjs +2 -0
  96. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +12 -0
  97. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +1 -0
  98. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +67 -0
  99. package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +8 -0
  100. package/dist/sd-core-common/src/utils/FunctionQueue.js.map +1 -0
  101. package/dist/sd-core-common/src/utils/FunctionQueue.mjs +46 -0
  102. package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +6 -0
  103. package/dist/sd-core-common/src/utils/FunctionUtil.js.map +1 -0
  104. package/dist/sd-core-common/src/utils/FunctionUtil.mjs +31 -0
  105. package/dist/sd-core-common/src/utils/JsonConvert.d.ts +8 -0
  106. package/dist/sd-core-common/src/utils/JsonConvert.js.map +1 -0
  107. package/dist/sd-core-common/src/utils/JsonConvert.mjs +78 -0
  108. package/dist/sd-core-common/src/utils/MathUtil.d.ts +3 -0
  109. package/dist/sd-core-common/src/utils/MathUtil.js.map +1 -0
  110. package/dist/sd-core-common/src/utils/MathUtil.mjs +6 -0
  111. package/dist/sd-core-common/src/utils/NumberUtil.d.ts +6 -0
  112. package/dist/sd-core-common/src/utils/NumberUtil.js.map +1 -0
  113. package/dist/sd-core-common/src/utils/NumberUtil.mjs +32 -0
  114. package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +80 -0
  115. package/dist/sd-core-common/src/utils/ObjectUtil.js.map +1 -0
  116. package/dist/sd-core-common/src/utils/ObjectUtil.mjs +452 -0
  117. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +6 -0
  118. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +1 -0
  119. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +27 -0
  120. package/dist/sd-core-common/src/utils/StringUtil.d.ts +8 -0
  121. package/dist/sd-core-common/src/utils/StringUtil.js.map +1 -0
  122. package/dist/sd-core-common/src/utils/StringUtil.mjs +77 -0
  123. package/dist/sd-core-common/src/utils/Wait.d.ts +4 -0
  124. package/dist/sd-core-common/src/utils/Wait.js.map +1 -0
  125. package/dist/sd-core-common/src/utils/Wait.mjs +23 -0
  126. package/dist/sd-core-node/src/index.d.ts +6 -0
  127. package/dist/sd-core-node/src/index.js.map +1 -0
  128. package/dist/sd-core-node/src/index.mjs +7 -0
  129. package/dist/sd-core-node/src/utils/FsUtil.d.ts +44 -0
  130. package/dist/sd-core-node/src/utils/FsUtil.js.map +1 -0
  131. package/dist/sd-core-node/src/utils/FsUtil.mjs +493 -0
  132. package/dist/sd-core-node/src/utils/Logger.d.ts +91 -0
  133. package/dist/sd-core-node/src/utils/Logger.js.map +1 -0
  134. package/dist/sd-core-node/src/utils/Logger.mjs +185 -0
  135. package/dist/sd-core-node/src/utils/PathUtil.d.ts +6 -0
  136. package/dist/sd-core-node/src/utils/PathUtil.js.map +1 -0
  137. package/dist/sd-core-node/src/utils/PathUtil.mjs +24 -0
  138. package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +15 -0
  139. package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +1 -0
  140. package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +43 -0
  141. package/dist/sd-core-node/src/utils/SdProcess.d.ts +5 -0
  142. package/dist/sd-core-node/src/utils/SdProcess.js.map +1 -0
  143. package/dist/sd-core-node/src/utils/SdProcess.mjs +36 -0
  144. package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +12 -0
  145. package/dist/sd-orm-common/src/CaseQueryHelper.js.map +1 -0
  146. package/dist/sd-orm-common/src/CaseQueryHelper.mjs +19 -0
  147. package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +12 -0
  148. package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +1 -0
  149. package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +20 -0
  150. package/dist/sd-orm-common/src/DbContext.d.ts +81 -0
  151. package/dist/sd-orm-common/src/DbContext.js.map +1 -0
  152. package/dist/sd-orm-common/src/DbContext.mjs +635 -0
  153. package/dist/sd-orm-common/src/IDbConnection.d.ts +15 -0
  154. package/dist/sd-orm-common/src/IDbConnection.js.map +1 -0
  155. package/dist/sd-orm-common/src/IDbConnection.mjs +2 -0
  156. package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +17 -0
  157. package/dist/sd-orm-common/src/IDbContextExecutor.js.map +1 -0
  158. package/dist/sd-orm-common/src/IDbContextExecutor.mjs +2 -0
  159. package/dist/sd-orm-common/src/IDbMigration.d.ts +4 -0
  160. package/dist/sd-orm-common/src/IDbMigration.js.map +1 -0
  161. package/dist/sd-orm-common/src/IDbMigration.mjs +2 -0
  162. package/dist/sd-orm-common/src/QueryBuilder.d.ts +48 -0
  163. package/dist/sd-orm-common/src/QueryBuilder.js.map +1 -0
  164. package/dist/sd-orm-common/src/QueryBuilder.mjs +1022 -0
  165. package/dist/sd-orm-common/src/QueryHelper.d.ts +75 -0
  166. package/dist/sd-orm-common/src/QueryHelper.js.map +1 -0
  167. package/dist/sd-orm-common/src/QueryHelper.mjs +627 -0
  168. package/dist/sd-orm-common/src/QueryUnit.d.ts +10 -0
  169. package/dist/sd-orm-common/src/QueryUnit.js.map +1 -0
  170. package/dist/sd-orm-common/src/QueryUnit.mjs +16 -0
  171. package/dist/sd-orm-common/src/Queryable.d.ts +105 -0
  172. package/dist/sd-orm-common/src/Queryable.js.map +1 -0
  173. package/dist/sd-orm-common/src/Queryable.mjs +1375 -0
  174. package/dist/sd-orm-common/src/SdOrmDataType.d.ts +21 -0
  175. package/dist/sd-orm-common/src/SdOrmDataType.js.map +1 -0
  176. package/dist/sd-orm-common/src/SdOrmDataType.mjs +2 -0
  177. package/dist/sd-orm-common/src/commons.d.ts +400 -0
  178. package/dist/sd-orm-common/src/commons.js.map +1 -0
  179. package/dist/sd-orm-common/src/commons.mjs +8 -0
  180. package/dist/sd-orm-common/src/decorators.d.ts +29 -0
  181. package/dist/sd-orm-common/src/decorators.js.map +1 -0
  182. package/dist/sd-orm-common/src/decorators.mjs +89 -0
  183. package/dist/sd-orm-common/src/index.d.ts +17 -0
  184. package/dist/sd-orm-common/src/index.js.map +1 -0
  185. package/dist/sd-orm-common/src/index.mjs +18 -0
  186. package/dist/sd-orm-common/src/models/SystemMigration.d.ts +3 -0
  187. package/dist/sd-orm-common/src/models/SystemMigration.js.map +1 -0
  188. package/dist/sd-orm-common/src/models/SystemMigration.mjs +13 -0
  189. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +14 -0
  190. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +1 -0
  191. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +66 -0
  192. package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +8 -0
  193. package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +1 -0
  194. package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +248 -0
  195. package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +4 -0
  196. package/dist/sd-orm-node/src/DbConnectionFactory.js.map +1 -0
  197. package/dist/sd-orm-node/src/DbConnectionFactory.mjs +17 -0
  198. package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +19 -0
  199. package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +1 -0
  200. package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +71 -0
  201. package/dist/sd-orm-node/src/SdOrm.d.ts +10 -0
  202. package/dist/sd-orm-node/src/SdOrm.js.map +1 -0
  203. package/dist/sd-orm-node/src/SdOrm.mjs +25 -0
  204. package/dist/sd-orm-node/src/index.d.ts +4 -0
  205. package/dist/sd-orm-node/src/index.js.map +1 -0
  206. package/dist/sd-orm-node/src/index.mjs +5 -0
  207. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +25 -0
  208. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +1 -0
  209. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +321 -0
  210. package/dist/sd-orm-node-mssql/src/index.d.ts +2 -0
  211. package/dist/sd-orm-node-mssql/src/index.js.map +1 -0
  212. package/dist/sd-orm-node-mssql/src/index.mjs +3 -0
  213. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +22 -0
  214. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +1 -0
  215. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +200 -0
  216. package/dist/sd-orm-node-mysql/src/index.d.ts +2 -0
  217. package/dist/sd-orm-node-mysql/src/index.js.map +1 -0
  218. package/dist/sd-orm-node-mysql/src/index.mjs +3 -0
  219. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +22 -0
  220. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +1 -0
  221. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +172 -0
  222. package/dist/sd-orm-node-sqlite/src/index.d.ts +2 -0
  223. package/dist/sd-orm-node-sqlite/src/index.js.map +1 -0
  224. package/dist/sd-orm-node-sqlite/src/index.mjs +3 -0
  225. package/dist/sd-service-common/src/commons-orm.d.ts +4 -0
  226. package/dist/sd-service-common/src/commons-orm.js.map +1 -0
  227. package/dist/sd-service-common/src/commons-orm.mjs +2 -0
  228. package/dist/sd-service-common/src/commons-smtp.d.ts +29 -0
  229. package/dist/sd-service-common/src/commons-smtp.js.map +1 -0
  230. package/dist/sd-service-common/src/commons-smtp.mjs +2 -0
  231. package/dist/sd-service-common/src/commons.d.ts +57 -0
  232. package/dist/sd-service-common/src/commons.js.map +1 -0
  233. package/dist/sd-service-common/src/commons.mjs +3 -0
  234. package/dist/sd-service-common/src/index.d.ts +3 -0
  235. package/dist/sd-service-common/src/index.js.map +1 -0
  236. package/dist/sd-service-common/src/index.mjs +4 -0
  237. package/dist/sd-service-server/src/ApiServiceError.d.ts +12 -0
  238. package/dist/sd-service-server/src/ApiServiceError.js.map +1 -0
  239. package/dist/sd-service-server/src/ApiServiceError.mjs +15 -0
  240. package/dist/sd-service-server/src/SdServiceServer.d.ts +39 -0
  241. package/dist/sd-service-server/src/SdServiceServer.js.map +1 -0
  242. package/dist/sd-service-server/src/SdServiceServer.mjs +513 -0
  243. package/dist/sd-service-server/src/commons.d.ts +23 -0
  244. package/dist/sd-service-server/src/commons.js.map +1 -0
  245. package/dist/sd-service-server/src/commons.mjs +3 -0
  246. package/dist/sd-service-server/src/index.d.ts +8 -0
  247. package/dist/sd-service-server/src/index.js.map +1 -0
  248. package/dist/sd-service-server/src/index.mjs +9 -0
  249. package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +4 -0
  250. package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +1 -0
  251. package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +20 -0
  252. package/dist/sd-service-server/src/services/SdCryptoService.d.ts +7 -0
  253. package/dist/sd-service-server/src/services/SdCryptoService.js.map +1 -0
  254. package/dist/sd-service-server/src/services/SdCryptoService.mjs +39 -0
  255. package/dist/sd-service-server/src/services/SdOrmService.d.ts +22 -0
  256. package/dist/sd-service-server/src/services/SdOrmService.js.map +1 -0
  257. package/dist/sd-service-server/src/services/SdOrmService.mjs +115 -0
  258. package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +6 -0
  259. package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +1 -0
  260. package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +44 -0
  261. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +4 -0
  262. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +1 -0
  263. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +36 -0
  264. package/dist/server-worker.d.ts +1 -0
  265. package/dist/server-worker.js.map +1 -0
  266. package/dist/server-worker.mjs +36 -0
  267. package/dist/utils/SdCliBuildResultUtil.d.ts +1 -4
  268. package/dist/utils/SdCliBuildResultUtil.js.map +1 -0
  269. package/dist/utils/SdCliBuildResultUtil.mjs +3 -29
  270. package/dist/utils/SdCliConfigUtil.js.map +1 -0
  271. package/dist/utils/SdCliConfigUtil.mjs +1 -1
  272. package/package.json +14 -56
  273. package/src/SdLinter.ts +41 -0
  274. package/src/SdTsIncrementalBuilder.ts +75 -0
  275. package/src/build-cluster.ts +133 -0
  276. package/src/builders/SdCliClientBuilder.ts +189 -0
  277. package/src/builders/SdCliJsLibLinter.ts +72 -0
  278. package/src/builders/SdCliServerBuilder.ts +191 -0
  279. package/src/builders/SdCliTsLibBuilder.ts +96 -0
  280. package/src/commons.ts +21 -112
  281. package/src/entry/SdCliProject.ts +467 -0
  282. package/src/sd-cli.ts +136 -0
  283. package/src/server-worker.ts +45 -0
  284. package/src/utils/SdCliBuildResultUtil.ts +5 -38
  285. package/tsconfig.json +9 -0
  286. package/README.md +0 -105
  287. package/assets/client-files/assets/icons/icon-128x128.png +0 -0
  288. package/assets/client-files/assets/icons/icon-144x144.png +0 -0
  289. package/assets/client-files/assets/icons/icon-152x152.png +0 -0
  290. package/assets/client-files/assets/icons/icon-192x192.png +0 -0
  291. package/assets/client-files/assets/icons/icon-384x384.png +0 -0
  292. package/assets/client-files/assets/icons/icon-512x512.png +0 -0
  293. package/assets/client-files/assets/icons/icon-72x72.png +0 -0
  294. package/assets/client-files/assets/icons/icon-96x96.png +0 -0
  295. package/assets/client-files/favicon.ico +0 -0
  296. package/dist/SdCliBuildResultError.d.ts +0 -5
  297. package/dist/SdCliBuildResultError.mjs +0 -8
  298. package/dist/bin/sd-cli.d.ts +0 -2
  299. package/dist/bin/sd-cli.mjs +0 -410
  300. package/dist/build-tool/SdCliCacheCompilerHost.d.ts +0 -10
  301. package/dist/build-tool/SdCliCacheCompilerHost.mjs +0 -51
  302. package/dist/build-tool/SdCliCordova.d.ts +0 -16
  303. package/dist/build-tool/SdCliCordova.mjs +0 -212
  304. package/dist/build-tool/SdCliElectron.d.ts +0 -9
  305. package/dist/build-tool/SdCliElectron.mjs +0 -72
  306. package/dist/build-tool/SdCliGithubApi.d.ts +0 -13
  307. package/dist/build-tool/SdCliGithubApi.mjs +0 -92
  308. package/dist/build-tool/SdCliIndexFileGenerator.d.ts +0 -13
  309. package/dist/build-tool/SdCliIndexFileGenerator.mjs +0 -62
  310. package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +0 -12
  311. package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +0 -43
  312. package/dist/build-tool/SdCliPackageLinter.d.ts +0 -8
  313. package/dist/build-tool/SdCliPackageLinter.mjs +0 -62
  314. package/dist/builder/SdCliClientBuilder.d.ts +0 -26
  315. package/dist/builder/SdCliClientBuilder.mjs +0 -769
  316. package/dist/builder/SdCliJsLibBuilder.d.ts +0 -14
  317. package/dist/builder/SdCliJsLibBuilder.mjs +0 -54
  318. package/dist/builder/SdCliServerBuilder.d.ts +0 -28
  319. package/dist/builder/SdCliServerBuilder.mjs +0 -482
  320. package/dist/builder/SdCliTsLibBuilder.d.ts +0 -35
  321. package/dist/builder/SdCliTsLibBuilder.mjs +0 -317
  322. package/dist/entry-points/SdCliFileCrypto.d.ts +0 -7
  323. package/dist/entry-points/SdCliFileCrypto.mjs +0 -72
  324. package/dist/entry-points/SdCliLocalUpdate.d.ts +0 -13
  325. package/dist/entry-points/SdCliLocalUpdate.mjs +0 -100
  326. package/dist/entry-points/SdCliPrepare.d.ts +0 -5
  327. package/dist/entry-points/SdCliPrepare.mjs +0 -86
  328. package/dist/entry-points/SdCliProject.d.ts +0 -34
  329. package/dist/entry-points/SdCliProject.mjs +0 -416
  330. package/dist/entry-points/SdCliProjectGenerator.d.ts +0 -44
  331. package/dist/entry-points/SdCliProjectGenerator.mjs +0 -326
  332. package/dist/entry-points/file/base/fc_package_eslintrc.d.ts +0 -3
  333. package/dist/entry-points/file/base/fc_package_eslintrc.mjs +0 -31
  334. package/dist/entry-points/file/base/fc_package_npmconfig.d.ts +0 -9
  335. package/dist/entry-points/file/base/fc_package_npmconfig.mjs +0 -32
  336. package/dist/entry-points/file/base/fc_package_tsconfig.d.ts +0 -5
  337. package/dist/entry-points/file/base/fc_package_tsconfig.mjs +0 -13
  338. package/dist/entry-points/file/client/fc_package_AppModule.d.ts +0 -1
  339. package/dist/entry-points/file/client/fc_package_AppModule.mjs +0 -37
  340. package/dist/entry-points/file/client/fc_package_AppPage.d.ts +0 -1
  341. package/dist/entry-points/file/client/fc_package_AppPage.mjs +0 -14
  342. package/dist/entry-points/file/client/fc_package_Page.d.ts +0 -4
  343. package/dist/entry-points/file/client/fc_package_Page.mjs +0 -19
  344. package/dist/entry-points/file/client/fc_package_client_main.d.ts +0 -1
  345. package/dist/entry-points/file/client/fc_package_client_main.mjs +0 -19
  346. package/dist/entry-points/file/client/fc_package_index.d.ts +0 -3
  347. package/dist/entry-points/file/client/fc_package_index.mjs +0 -88
  348. package/dist/entry-points/file/client/fc_package_manifest.d.ts +0 -5
  349. package/dist/entry-points/file/client/fc_package_manifest.mjs +0 -54
  350. package/dist/entry-points/file/client/fc_package_polyfills.d.ts +0 -1
  351. package/dist/entry-points/file/client/fc_package_polyfills.mjs +0 -11
  352. package/dist/entry-points/file/client/fc_package_styles.d.ts +0 -1
  353. package/dist/entry-points/file/client/fc_package_styles.mjs +0 -7
  354. package/dist/entry-points/file/db/fc_package_DbContext.d.ts +0 -3
  355. package/dist/entry-points/file/db/fc_package_DbContext.mjs +0 -14
  356. package/dist/entry-points/file/db/fc_package_DbModel.d.ts +0 -4
  357. package/dist/entry-points/file/db/fc_package_DbModel.mjs +0 -12
  358. package/dist/entry-points/file/project/fc_project_editor_config.d.ts +0 -1
  359. package/dist/entry-points/file/project/fc_project_editor_config.mjs +0 -22
  360. package/dist/entry-points/file/project/fc_project_eslintrc.d.ts +0 -1
  361. package/dist/entry-points/file/project/fc_project_eslintrc.mjs +0 -30
  362. package/dist/entry-points/file/project/fc_project_gitattributes.d.ts +0 -1
  363. package/dist/entry-points/file/project/fc_project_gitattributes.mjs +0 -6
  364. package/dist/entry-points/file/project/fc_project_gitignore.d.ts +0 -1
  365. package/dist/entry-points/file/project/fc_project_gitignore.mjs +0 -27
  366. package/dist/entry-points/file/project/fc_project_npmconfig.d.ts +0 -7
  367. package/dist/entry-points/file/project/fc_project_npmconfig.mjs +0 -37
  368. package/dist/entry-points/file/project/fc_project_readme.d.ts +0 -3
  369. package/dist/entry-points/file/project/fc_project_readme.mjs +0 -13
  370. package/dist/entry-points/file/project/fc_project_simplysm.d.ts +0 -1
  371. package/dist/entry-points/file/project/fc_project_simplysm.mjs +0 -2
  372. package/dist/entry-points/file/project/fc_project_tsconfig.d.ts +0 -1
  373. package/dist/entry-points/file/project/fc_project_tsconfig.mjs +0 -25
  374. package/dist/entry-points/file/server/fc_package_server_main.d.ts +0 -5
  375. package/dist/entry-points/file/server/fc_package_server_main.mjs +0 -60
  376. package/dist/index.d.ts +0 -54
  377. package/dist/index.mjs +0 -55
  378. package/dist/ng-tools/SdCliNgModuleGenerator.d.ts +0 -29
  379. package/dist/ng-tools/SdCliNgModuleGenerator.mjs +0 -502
  380. package/dist/ng-tools/babel/SdCliBbFileMetadata.d.ts +0 -25
  381. package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +0 -539
  382. package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +0 -23
  383. package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +0 -247
  384. package/dist/ng-tools/babel/SdCliBbUtil.d.ts +0 -5
  385. package/dist/ng-tools/babel/SdCliBbUtil.mjs +0 -14
  386. package/dist/ng-tools/babel/TSdCliBbNgMetadata.d.ts +0 -42
  387. package/dist/ng-tools/babel/TSdCliBbNgMetadata.mjs +0 -216
  388. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.d.ts +0 -55
  389. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.mjs +0 -151
  390. package/dist/ng-tools/commons.d.ts +0 -9
  391. package/dist/ng-tools/commons.mjs +0 -2
  392. package/dist/ng-tools/typescript/SdCliTsFileMetadata.d.ts +0 -61
  393. package/dist/ng-tools/typescript/SdCliTsFileMetadata.mjs +0 -325
  394. package/dist/ng-tools/typescript/SdCliTsRootMetadata.d.ts +0 -8
  395. package/dist/ng-tools/typescript/SdCliTsRootMetadata.mjs +0 -28
  396. package/dist/ng-tools/typescript/SdCliTsUtil.d.ts +0 -5
  397. package/dist/ng-tools/typescript/SdCliTsUtil.mjs +0 -28
  398. package/dist/packages/SdCliPackage.d.ts +0 -22
  399. package/dist/packages/SdCliPackage.mjs +0 -206
  400. package/dist/utils/SdCliNpmConfigUtil.d.ts +0 -7
  401. package/dist/utils/SdCliNpmConfigUtil.mjs +0 -15
  402. package/dist/worker/build-worker.mjs +0 -67
  403. package/dist/worker/server-worker.mjs +0 -67
  404. package/docs/client-add-page.md +0 -8
  405. package/docs/client-router.md +0 -85
  406. package/docs/client-sw.md +0 -101
  407. package/docs/conf-orm.md +0 -81
  408. package/docs/conf-usage.md +0 -5
  409. package/docs/lib-local-update.md +0 -50
  410. package/docs/lib-ts-paths.md +0 -25
  411. package/lib/cordova-entry.js +0 -22
  412. package/src/SdCliBuildResultError.ts +0 -9
  413. package/src/bin/sd-cli.ts +0 -493
  414. package/src/build-tool/SdCliCacheCompilerHost.ts +0 -79
  415. package/src/build-tool/SdCliCordova.ts +0 -263
  416. package/src/build-tool/SdCliElectron.ts +0 -85
  417. package/src/build-tool/SdCliGithubApi.ts +0 -111
  418. package/src/build-tool/SdCliIndexFileGenerator.ts +0 -79
  419. package/src/build-tool/SdCliNgCacheCompilerHost.ts +0 -58
  420. package/src/build-tool/SdCliPackageLinter.ts +0 -74
  421. package/src/builder/SdCliClientBuilder.ts +0 -879
  422. package/src/builder/SdCliJsLibBuilder.ts +0 -70
  423. package/src/builder/SdCliServerBuilder.ts +0 -552
  424. package/src/builder/SdCliTsLibBuilder.ts +0 -450
  425. package/src/entry-points/SdCliFileCrypto.ts +0 -87
  426. package/src/entry-points/SdCliLocalUpdate.ts +0 -121
  427. package/src/entry-points/SdCliPrepare.ts +0 -86
  428. package/src/entry-points/SdCliProject.ts +0 -491
  429. package/src/entry-points/SdCliProjectGenerator.ts +0 -402
  430. package/src/entry-points/file/base/fc_package_eslintrc.ts +0 -30
  431. package/src/entry-points/file/base/fc_package_npmconfig.ts +0 -43
  432. package/src/entry-points/file/base/fc_package_tsconfig.ts +0 -12
  433. package/src/entry-points/file/client/fc_package_AppModule.ts +0 -36
  434. package/src/entry-points/file/client/fc_package_AppPage.ts +0 -13
  435. package/src/entry-points/file/client/fc_package_Page.ts +0 -19
  436. package/src/entry-points/file/client/fc_package_client_main.ts +0 -18
  437. package/src/entry-points/file/client/fc_package_index.ts +0 -87
  438. package/src/entry-points/file/client/fc_package_manifest.ts +0 -53
  439. package/src/entry-points/file/client/fc_package_polyfills.ts +0 -10
  440. package/src/entry-points/file/client/fc_package_styles.ts +0 -6
  441. package/src/entry-points/file/db/fc_package_DbContext.ts +0 -14
  442. package/src/entry-points/file/db/fc_package_DbModel.ts +0 -11
  443. package/src/entry-points/file/project/fc_project_editor_config.ts +0 -21
  444. package/src/entry-points/file/project/fc_project_eslintrc.ts +0 -29
  445. package/src/entry-points/file/project/fc_project_gitattributes.ts +0 -5
  446. package/src/entry-points/file/project/fc_project_gitignore.ts +0 -26
  447. package/src/entry-points/file/project/fc_project_npmconfig.ts +0 -36
  448. package/src/entry-points/file/project/fc_project_readme.ts +0 -12
  449. package/src/entry-points/file/project/fc_project_simplysm.ts +0 -1
  450. package/src/entry-points/file/project/fc_project_tsconfig.ts +0 -24
  451. package/src/entry-points/file/server/fc_package_server_main.ts +0 -62
  452. package/src/index.ts +0 -54
  453. package/src/ng-tools/SdCliNgModuleGenerator.ts +0 -672
  454. package/src/ng-tools/babel/SdCliBbFileMetadata.ts +0 -629
  455. package/src/ng-tools/babel/SdCliBbRootMetadata.ts +0 -292
  456. package/src/ng-tools/babel/SdCliBbUtil.ts +0 -15
  457. package/src/ng-tools/babel/TSdCliBbNgMetadata.ts +0 -251
  458. package/src/ng-tools/babel/TSdCliBbTypeMetadata.ts +0 -212
  459. package/src/ng-tools/commons.ts +0 -3
  460. package/src/ng-tools/typescript/SdCliTsFileMetadata.ts +0 -384
  461. package/src/ng-tools/typescript/SdCliTsRootMetadata.ts +0 -32
  462. package/src/ng-tools/typescript/SdCliTsUtil.ts +0 -29
  463. package/src/packages/SdCliPackage.ts +0 -259
  464. package/src/utils/SdCliNpmConfigUtil.ts +0 -16
  465. package/src/worker/build-worker.ts +0 -73
  466. package/src/worker/server-worker.ts +0 -72
  467. /package/dist/{worker/build-worker.d.ts → build-cluster.d.ts} +0 -0
  468. /package/dist/{worker/server-worker.d.ts → sd-cli.d.ts} +0 -0
@@ -0,0 +1,627 @@
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
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,16 @@
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