@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 +0,0 @@
1
- {"version":3,"file":"ObjectUtil.js","sourceRoot":"","sources":["../../../../../sd-core-common/src/utils/ObjectUtil.ts"],"names":[],"mappings":"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"}
@@ -1,452 +0,0 @@
1
- import { DateTime } from "../types/DateTime";
2
- import { DateOnly } from "../types/DateOnly";
3
- import { Time } from "../types/Time";
4
- import { Uuid } from "../types/Uuid";
5
- import { NeverEntryError } from "../errors/NeverEntryError";
6
- export class ObjectUtil {
7
- static clone(source, options) {
8
- return ObjectUtil._clone(source, options);
9
- }
10
- static _clone(source, options, prevClones) {
11
- if (source == null) {
12
- return source;
13
- }
14
- if (source instanceof Array) {
15
- return source.map((item) => ObjectUtil._clone(item, options));
16
- }
17
- if (source instanceof Map) {
18
- return Array.from(source.keys()).toMap((key) => ObjectUtil._clone(key, options), (key) => ObjectUtil._clone(source.get(key), options));
19
- }
20
- if (source instanceof Date) {
21
- return new Date(source.getTime());
22
- }
23
- if (source instanceof DateTime) {
24
- return new DateTime(source.tick);
25
- }
26
- if (source instanceof DateOnly) {
27
- return new DateOnly(source.tick);
28
- }
29
- if (source instanceof Time) {
30
- return new Time(source.tick);
31
- }
32
- if (source instanceof Uuid) {
33
- return new Uuid(source.toString());
34
- }
35
- if (source instanceof Buffer) {
36
- return Buffer.from(source.buffer);
37
- }
38
- if (typeof source === "object") {
39
- const result = {};
40
- Object.setPrototypeOf(result, source.constructor.prototype);
41
- const currPrevClones = prevClones ?? [];
42
- currPrevClones.push({ source, clone: result });
43
- for (const key of Object.keys(source).filter((sourceKey) => options?.excludes?.includes(sourceKey) !== true)) {
44
- if (source[key] === undefined) {
45
- result[key] = undefined;
46
- }
47
- else if (options?.useRefTypes?.includes(source[key].constructor) === true) {
48
- result[key] = source[key];
49
- }
50
- else {
51
- const matchedPrevClone = prevClones?.single((item) => item.source === source[key]);
52
- if (matchedPrevClone !== undefined) {
53
- result[key] = matchedPrevClone.clone;
54
- }
55
- else {
56
- result[key] = ObjectUtil._clone(source[key], { useRefTypes: options?.useRefTypes }, currPrevClones);
57
- }
58
- }
59
- }
60
- return result;
61
- }
62
- return source;
63
- }
64
- static merge(source, target, opt) {
65
- if (source == null) {
66
- return ObjectUtil.clone(target);
67
- }
68
- if (target === undefined) {
69
- return ObjectUtil.clone(source);
70
- }
71
- if (target === null) {
72
- return opt?.useDelTargetNull ? undefined : ObjectUtil.clone(source);
73
- }
74
- if (typeof target !== "object") {
75
- return target;
76
- }
77
- if (target instanceof Date
78
- || target instanceof DateTime
79
- || target instanceof DateOnly
80
- || target instanceof Time
81
- || target instanceof Uuid
82
- || target instanceof Buffer
83
- || (opt?.arrayProcess === "replace"
84
- && target instanceof Array)) {
85
- return ObjectUtil.clone(target);
86
- }
87
- if (typeof source !== typeof target) {
88
- throw new Error("병합하려고 하는 두 객체의 타입이 서로 다릅니다.");
89
- }
90
- if (source instanceof Map && target instanceof Map) {
91
- const result = ObjectUtil.clone(source);
92
- for (const key of target.keys()) {
93
- if (result.has(key)) {
94
- result.set(key, ObjectUtil.merge(result.get(key), target.get(key), opt));
95
- }
96
- else {
97
- result.set(key, target.get(key));
98
- }
99
- }
100
- return result;
101
- }
102
- if (opt?.arrayProcess === "concat" && source instanceof Array && target instanceof Array) {
103
- let result = source.concat(target).distinct();
104
- if (opt.useDelTargetNull) {
105
- result = result.filter((item) => item !== null);
106
- }
107
- return result;
108
- }
109
- const result = ObjectUtil.clone(source);
110
- for (const key of Object.keys(target)) {
111
- result[key] = ObjectUtil.merge(source[key], target[key], opt);
112
- if (result[key] === undefined) {
113
- delete result[key];
114
- }
115
- }
116
- return result;
117
- }
118
- static merge3(source, origin, target, optionsObj) {
119
- let conflict = false;
120
- const result = ObjectUtil.clone(origin);
121
- for (const key of Object.keys(source).concat(Object.keys(target)).concat(Object.keys(origin))) {
122
- if (ObjectUtil.equal(source[key], result[key], optionsObj?.[key])) {
123
- result[key] = ObjectUtil.clone(target[key]);
124
- }
125
- else if (ObjectUtil.equal(target[key], result[key], optionsObj?.[key])) {
126
- result[key] = ObjectUtil.clone(source[key]);
127
- }
128
- else if (ObjectUtil.equal(source[key], target[key], optionsObj?.[key])) {
129
- result[key] = ObjectUtil.clone(source[key]);
130
- }
131
- else {
132
- conflict = true;
133
- }
134
- }
135
- return { conflict, result: result };
136
- }
137
- static pick(item, keys) {
138
- const result = {};
139
- for (const key of keys) {
140
- result[key] = item[key];
141
- }
142
- return result;
143
- }
144
- static pickByType(item, type) {
145
- const result = {};
146
- for (const key of Object.keys(result)) {
147
- const typeCast = type;
148
- if (typeCast === String && typeof item[key] === "string") {
149
- result[key] = item[key];
150
- }
151
- else if (typeCast === Number && typeof item[key] === "number") {
152
- result[key] = item[key];
153
- }
154
- else if (typeCast === Boolean && typeof item[key] === "boolean") {
155
- result[key] = item[key];
156
- }
157
- else if (typeCast === DateOnly && item[key] instanceof DateOnly) {
158
- result[key] = item[key];
159
- }
160
- else if (typeCast === DateTime && item[key] instanceof DateTime) {
161
- result[key] = item[key];
162
- }
163
- else if (typeCast === Time && item[key] instanceof Time) {
164
- result[key] = item[key];
165
- }
166
- else if (typeCast === Uuid && item[key] instanceof Uuid) {
167
- result[key] = item[key];
168
- }
169
- else if (typeCast === Buffer && item[key] instanceof Buffer) {
170
- result[key] = item[key];
171
- }
172
- }
173
- return result;
174
- }
175
- static equal(source, target, options) {
176
- if (source === target) {
177
- return true;
178
- }
179
- if (source instanceof Date && target instanceof Date) {
180
- return source.getTime() === target.getTime();
181
- }
182
- if ((source instanceof Time && target instanceof DateTime)
183
- || (source instanceof Time && target instanceof DateOnly)
184
- || (source instanceof Time && target instanceof Time)) {
185
- return source.tick === target.tick;
186
- }
187
- if (source instanceof Array && target instanceof Array) {
188
- if (source.length !== target.length) {
189
- return false;
190
- }
191
- if (options?.ignoreArrayIndex) {
192
- return source.every((sourceItem) => (target.some((targetItem) => (ObjectUtil.equal(targetItem, sourceItem, options)))));
193
- }
194
- else {
195
- for (let i = 0; i < source.length; i++) {
196
- if (!ObjectUtil.equal(source[i], target[i], options)) {
197
- return false;
198
- }
199
- }
200
- }
201
- return true;
202
- }
203
- if (source instanceof Map && target instanceof Map) {
204
- const sourceKeys = Array.from(source.keys())
205
- .filter((key) => (options?.includes === undefined || options.includes.includes(key)) && (!options?.excludes?.includes(key)) && source[key] !== undefined);
206
- const targetKeys = Array.from(target.keys())
207
- .filter((key) => (options?.includes === undefined || options.includes.includes(key)) && (!options?.excludes?.includes(key)) && target[key] !== undefined);
208
- if (sourceKeys.length !== targetKeys.length) {
209
- return false;
210
- }
211
- for (const key of sourceKeys) {
212
- if (!ObjectUtil.equal(source.get(key), target.get(key), { ignoreArrayIndex: options?.ignoreArrayIndex })) {
213
- return false;
214
- }
215
- }
216
- return true;
217
- }
218
- if (typeof source === "object" && typeof target === "object") {
219
- const sourceKeys = Object.keys(source)
220
- .filter((key) => (options?.includes === undefined || options.includes.includes(key)) && (!options?.excludes?.includes(key)) && source[key] !== undefined);
221
- const targetKeys = Object.keys(target)
222
- .filter((key) => (options?.includes === undefined || options.includes.includes(key)) && (!options?.excludes?.includes(key)) && target[key] !== undefined);
223
- if (sourceKeys.length !== targetKeys.length) {
224
- return false;
225
- }
226
- for (const key of sourceKeys) {
227
- if (!ObjectUtil.equal(source[key], target[key], { ignoreArrayIndex: options?.ignoreArrayIndex })) {
228
- return false;
229
- }
230
- }
231
- return true;
232
- }
233
- return false;
234
- }
235
- static validate(value, def) {
236
- let currDef;
237
- if (def instanceof Array) { //Type<T>[]
238
- currDef = {
239
- type: def
240
- };
241
- }
242
- else if (typeof def === "function") { //Type<T>
243
- currDef = {
244
- type: [def]
245
- };
246
- }
247
- else { //IValidateDef<T>
248
- currDef = {
249
- ...def,
250
- type: def.type !== undefined ? def.type instanceof Array ? def.type : [def.type] : undefined
251
- };
252
- }
253
- const invalidateDef = {};
254
- if (currDef.notnull && value === undefined) {
255
- invalidateDef.notnull = currDef.notnull;
256
- }
257
- if (!currDef.notnull && value === undefined) {
258
- return undefined;
259
- }
260
- if (currDef.type !== undefined
261
- && !currDef.type.some((type) => type === value?.constructor)) {
262
- invalidateDef.type = currDef.type;
263
- }
264
- if (Number.isNaN(value)) {
265
- invalidateDef.type = currDef.type;
266
- }
267
- let message;
268
- if (currDef.validator !== undefined) {
269
- const validatorResult = currDef.validator(value);
270
- if (validatorResult !== true) {
271
- invalidateDef.validator = currDef.validator;
272
- if (typeof validatorResult === "string") {
273
- message = validatorResult;
274
- }
275
- }
276
- }
277
- if (currDef.includes !== undefined && !currDef.includes.includes(value)) {
278
- invalidateDef.includes = currDef.includes;
279
- }
280
- if (Object.keys(invalidateDef).length > 0) {
281
- return { value, invalidateDef, message };
282
- }
283
- return undefined;
284
- }
285
- static validateObject(obj, def) {
286
- const result = {};
287
- for (const defKey of Object.keys(def)) {
288
- const validateResult = ObjectUtil.validate(obj[defKey], def[defKey]);
289
- if (validateResult !== undefined) {
290
- result[defKey] = validateResult;
291
- }
292
- }
293
- return result;
294
- }
295
- static validateObjectWithThrow(displayName, obj, def) {
296
- const validateResult = ObjectUtil.validateObject(obj, def);
297
- if (Object.keys(validateResult).length > 0) {
298
- const errMessages = [];
299
- const invalidateKeys = Object.keys(validateResult);
300
- for (const invalidateKey of invalidateKeys) {
301
- const itemDisplayName = def[invalidateKey].displayName;
302
- let errMessage = `- '${itemDisplayName}'`;
303
- if (def[invalidateKey].displayValue) {
304
- const itemValue = validateResult[invalidateKey].value;
305
- if (typeof itemValue === "string"
306
- || typeof itemValue === "number"
307
- || typeof itemValue === "boolean"
308
- || typeof itemValue === "undefined"
309
- || itemValue instanceof DateTime
310
- || itemValue instanceof DateOnly) {
311
- errMessage += `: ${itemValue?.toString() ?? "undefined"}`;
312
- }
313
- }
314
- errMessages.push(errMessage);
315
- }
316
- throw new Error(`${displayName}중 잘못된 내용이 있습니다.\n` + errMessages.join("\n"));
317
- }
318
- }
319
- static validateArray(arr, def) {
320
- const result = [];
321
- for (let i = 0; i < arr.length; i++) {
322
- const item = arr[i];
323
- const validateObjectResult = ObjectUtil.validateObject(item, typeof def === "function" ? def(item) : def);
324
- if (Object.keys(validateObjectResult).length > 0) {
325
- result.push({
326
- index: i,
327
- item,
328
- result: validateObjectResult
329
- });
330
- }
331
- }
332
- return result;
333
- }
334
- static validateArrayWithThrow(displayName, arr, def) {
335
- const validateResults = ObjectUtil.validateArray(arr, def);
336
- if (validateResults.length > 0) {
337
- const errMessages = [];
338
- for (const validateResult of validateResults) {
339
- const realDef = typeof def === "function" ? def(validateResult.item) : def;
340
- const invalidateKeys = Object.keys(validateResult.result);
341
- for (const invalidateKey of invalidateKeys) {
342
- const itemDisplayName = realDef[invalidateKey].displayName;
343
- let errMessage = `- ${validateResult.index + 1}번째 항목의 '${itemDisplayName}'`;
344
- if (realDef[invalidateKey].displayValue) {
345
- const itemValue = validateResult.result[invalidateKey].value;
346
- if (typeof itemValue === "string"
347
- || typeof itemValue === "number"
348
- || typeof itemValue === "boolean"
349
- || typeof itemValue === "undefined"
350
- || itemValue instanceof DateTime
351
- || itemValue instanceof DateOnly) {
352
- errMessage += `: ${itemValue?.toString() ?? "undefined"}`;
353
- }
354
- }
355
- errMessages.push(errMessage);
356
- }
357
- }
358
- throw new Error(`${displayName}중 잘못된 내용이 있습니다.\n` + errMessages.join("\n"));
359
- }
360
- }
361
- static getChainValueByDepth(obj, key, depth, optional) {
362
- let result = obj;
363
- for (let i = 0; i < depth; i++) {
364
- if (optional) {
365
- result = result?.[key];
366
- }
367
- else {
368
- result = result[key];
369
- }
370
- }
371
- return result;
372
- }
373
- static getChainValue(obj, chain, optional) {
374
- const split = chain.split(".");
375
- let result = obj;
376
- for (const splitItem of split) {
377
- if (optional && result === undefined) {
378
- result = undefined;
379
- }
380
- else {
381
- result = result[splitItem];
382
- }
383
- }
384
- return result;
385
- }
386
- static setChainValue(obj, chain, value) {
387
- const split = chain.split(".");
388
- let curr = obj;
389
- for (const splitItem of split.slice(0, -1)) {
390
- curr = curr[splitItem];
391
- }
392
- const last = split.last();
393
- if (last === undefined) {
394
- throw new NeverEntryError();
395
- }
396
- curr[last] = value;
397
- }
398
- static deleteChainValue(obj, chain) {
399
- const split = chain.split(".");
400
- let curr = obj;
401
- for (const splitItem of split.slice(0, -1)) {
402
- curr = curr[splitItem];
403
- }
404
- const last = split.last();
405
- if (last === undefined) {
406
- throw new NeverEntryError();
407
- }
408
- delete curr[last];
409
- }
410
- static clearUndefined(obj) {
411
- if (obj == null) {
412
- return obj;
413
- }
414
- for (const key of Object.keys(obj)) {
415
- if (obj[key] === undefined) {
416
- delete obj[key];
417
- }
418
- }
419
- return obj;
420
- }
421
- static clear(obj) {
422
- for (const key of Object.keys(obj)) {
423
- delete obj[key];
424
- }
425
- return obj;
426
- }
427
- static nullToUndefined(obj) {
428
- if (obj == null) {
429
- return undefined;
430
- }
431
- if (obj instanceof Date
432
- || obj instanceof DateTime
433
- || obj instanceof DateOnly
434
- || obj instanceof Time) {
435
- return obj;
436
- }
437
- if (obj instanceof Array) {
438
- for (let i = 0; i < obj.length; i++) {
439
- obj[i] = ObjectUtil.nullToUndefined(obj[i]);
440
- }
441
- return obj;
442
- }
443
- if (typeof obj === "object") {
444
- for (const key of Object.keys(obj)) {
445
- obj[key] = ObjectUtil.nullToUndefined(obj[key]);
446
- }
447
- return obj;
448
- }
449
- return obj;
450
- }
451
- }
452
- //# sourceMappingURL=ObjectUtil.js.map
@@ -1,6 +0,0 @@
1
- export declare class SdEventEmitter {
2
- private readonly _eventListener;
3
- on(event: string | symbol, listener: (...args: any[]) => (void | Promise<void>)): this;
4
- off(event: string | symbol, listener: (...args: any[]) => (void | Promise<void>)): this;
5
- emit(event: string | symbol, ...args: any[]): Promise<void>;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdSyncEventEmitter.js","sourceRoot":"","sources":["../../../../../sd-core-common/src/utils/SdSyncEventEmitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAA3B;QACmB,mBAAc,GAAG,IAAI,GAAG,EAAmE,CAAC;IA0B/G,CAAC;IAxBQ,EAAE,CAAC,KAAsB,EAAE,QAAoD;QACpF,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChD;aACI;YACH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,KAAsB,EAAE,QAAoD;QACrF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAAsB,EAAE,GAAG,IAAW;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE;YAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;CACF"}
@@ -1,27 +0,0 @@
1
- export class SdEventEmitter {
2
- constructor() {
3
- this._eventListener = new Map();
4
- }
5
- on(event, listener) {
6
- if (this._eventListener.has(event)) {
7
- this._eventListener.get(event).push(listener);
8
- }
9
- else {
10
- this._eventListener.set(event, [listener]);
11
- }
12
- return this;
13
- }
14
- off(event, listener) {
15
- this._eventListener.get(event)?.remove((item) => item === listener);
16
- return this;
17
- }
18
- async emit(event, ...args) {
19
- const arr = this._eventListener.get(event);
20
- if (!arr)
21
- return;
22
- for (const listener of arr) {
23
- await listener(args);
24
- }
25
- }
26
- }
27
- //# sourceMappingURL=SdSyncEventEmitter.js.map
@@ -1,8 +0,0 @@
1
- export declare class StringUtil {
2
- static getSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
3
- static replaceSpecialDefaultChar(str: string): string;
4
- static toPascalCase(str: string): string;
5
- static toCamelCase(str: string): string;
6
- static toKebabCase(str: string): string;
7
- static isNullOrEmpty(str: string | null | undefined): str is ("" | undefined | null);
8
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../../../../sd-core-common/src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- export class StringUtil {
2
- static getSuffix(text, type) {
3
- const table = {
4
- "을": { t: "을", f: "를" },
5
- "은": { t: "은", f: "는" },
6
- "이": { t: "이", f: "가" },
7
- "와": { t: "과", f: "와" },
8
- "랑": { t: "이랑", f: "랑" },
9
- "로": { t: "으로", f: "로" },
10
- "라": { t: "이라", f: "라" }
11
- };
12
- // 받침존재여부
13
- const hasLast = ((text.slice(-1).charCodeAt(0) - 0xAC00) % 28) !== 0;
14
- return hasLast ? table[type].t : table[type].f;
15
- }
16
- static replaceSpecialDefaultChar(str) {
17
- return str
18
- .replace(/A/g, "A")
19
- .replace(/B/g, "B")
20
- .replace(/C/g, "C")
21
- .replace(/D/g, "D")
22
- .replace(/E/g, "E")
23
- .replace(/F/g, "F")
24
- .replace(/G/g, "G")
25
- .replace(/H/g, "H")
26
- .replace(/I/g, "I")
27
- .replace(/J/g, "J")
28
- .replace(/K/g, "K")
29
- .replace(/L/g, "L")
30
- .replace(/M/g, "M")
31
- .replace(/N/g, "N")
32
- .replace(/O/g, "O")
33
- .replace(/P/g, "P")
34
- .replace(/Q/g, "Q")
35
- .replace(/R/g, "R")
36
- .replace(/S/g, "S")
37
- .replace(/T/g, "T")
38
- .replace(/U/g, "U")
39
- .replace(/V/g, "V")
40
- .replace(/W/g, "W")
41
- .replace(/X/g, "X")
42
- .replace(/Y/g, "Y")
43
- .replace(/Z/g, "Z")
44
- .replace(/0/g, "0")
45
- .replace(/1/g, "1")
46
- .replace(/2/g, "2")
47
- .replace(/3/g, "3")
48
- .replace(/4/g, "4")
49
- .replace(/5/g, "5")
50
- .replace(/6/g, "6")
51
- .replace(/7/g, "7")
52
- .replace(/8/g, "8")
53
- .replace(/9/g, "9")
54
- .replace(/ /g, " ")
55
- .replace(/)/g, ")")
56
- .replace(/(/g, "(");
57
- }
58
- static toPascalCase(str) {
59
- return str
60
- .replace(/[-_][a-z]/g, (m) => m[1].toUpperCase())
61
- .replace(/^[a-z]/, (m) => m.toUpperCase());
62
- }
63
- static toCamelCase(str) {
64
- return str
65
- .replace(/[-_][a-z]/g, (m) => m[1].toUpperCase())
66
- .replace(/^[A-Z]/, (m) => m.toLowerCase());
67
- }
68
- static toKebabCase(str) {
69
- return str
70
- .replace(/^[A-Z]/, (m) => m.toLowerCase())
71
- .replace(/[-_]?[A-Z]/g, (m) => "-" + m.toLowerCase());
72
- }
73
- static isNullOrEmpty(str) {
74
- return str == null || str === "";
75
- }
76
- }
77
- //# sourceMappingURL=StringUtil.js.map
@@ -1,4 +0,0 @@
1
- export declare class Wait {
2
- static until(forwarder: () => boolean | Promise<boolean>, milliseconds?: number, timeout?: number): Promise<void>;
3
- static time(millisecond: number): Promise<void>;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Wait.js","sourceRoot":"","sources":["../../../../../sd-core-common/src/utils/Wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,IAAI;IACR,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAA2C,EAAE,YAAqB,EAAE,OAAgB;QAC5G,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,CAAC,MAAM,SAAS,EAAE,EAAE;YACzB,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,MAAM,IAAI,YAAY,IAAI,GAAG,CAAC;gBAC9B,IAAI,MAAM,IAAI,OAAO,EAAE;oBACrB,MAAM,IAAI,YAAY,EAAE,CAAC;iBAC1B;aACF;SACF;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,UAAU,CACR,GAAG,EAAE;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC,EACD,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,23 +0,0 @@
1
- import { TimeoutError } from "../errors/TimeoutError";
2
- export class Wait {
3
- static async until(forwarder, milliseconds, timeout) {
4
- let currMs = 0;
5
- while (!await forwarder()) {
6
- await Wait.time(milliseconds ?? 100);
7
- if (timeout !== undefined) {
8
- currMs += milliseconds ?? 100;
9
- if (currMs >= timeout) {
10
- throw new TimeoutError();
11
- }
12
- }
13
- }
14
- }
15
- static async time(millisecond) {
16
- await new Promise((resolve) => {
17
- setTimeout(() => {
18
- resolve();
19
- }, millisecond);
20
- });
21
- }
22
- }
23
- //# sourceMappingURL=Wait.js.map
@@ -1,6 +0,0 @@
1
- import "@simplysm/sd-core-common";
2
- export * from "./utils/SdProcess";
3
- export * from "./utils/SdFsWatcher";
4
- export * from "./utils/PathUtil";
5
- export * from "./utils/Logger";
6
- export * from "./utils/FsUtil";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../sd-core-node/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}