suanpan_node_sdk 1.5.13 → 1.5.15

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 (262) hide show
  1. package/dist/api/index.d.ts +6 -0
  2. package/dist/api/index.js +19 -0
  3. package/dist/api/index.js.map +1 -0
  4. package/dist/core/common/constant.d.ts +7 -0
  5. package/dist/{constant.js → core/common/constant.js} +10 -5
  6. package/dist/core/common/constant.js.map +1 -0
  7. package/dist/{common → core/common}/exec.d.ts +0 -0
  8. package/dist/{common → core/common}/exec.js +0 -0
  9. package/dist/core/common/exec.js.map +1 -0
  10. package/dist/core/common/logger.d.ts +3 -0
  11. package/dist/core/common/logger.js +13 -0
  12. package/dist/core/common/logger.js.map +1 -0
  13. package/dist/core/logger/index.d.ts +2 -0
  14. package/dist/core/logger/index.js +15 -0
  15. package/dist/core/logger/index.js.map +1 -0
  16. package/dist/core/logger/interface.d.ts +7 -0
  17. package/dist/core/logger/interface.js +3 -0
  18. package/dist/core/logger/interface.js.map +1 -0
  19. package/dist/core/logger/logkit.d.ts +27 -0
  20. package/dist/core/logger/logkit.js +126 -0
  21. package/dist/core/logger/logkit.js.map +1 -0
  22. package/dist/core/logger/winston.d.ts +15 -0
  23. package/dist/core/logger/winston.js +54 -0
  24. package/dist/core/logger/winston.js.map +1 -0
  25. package/dist/core/message/connection/channels/message-channel.d.ts +10 -0
  26. package/dist/core/message/connection/channels/message-channel.js +25 -0
  27. package/dist/core/message/connection/channels/message-channel.js.map +1 -0
  28. package/dist/core/message/connection/channels/subscribable-channel.d.ts +14 -0
  29. package/dist/core/message/connection/channels/subscribable-channel.js +26 -0
  30. package/dist/core/message/connection/channels/subscribable-channel.js.map +1 -0
  31. package/dist/core/message/connection/index.d.ts +16 -0
  32. package/dist/core/message/connection/index.js +28 -0
  33. package/dist/core/message/connection/index.js.map +1 -0
  34. package/dist/core/message/connection/redis.d.ts +8 -0
  35. package/dist/core/message/connection/redis.js +58 -0
  36. package/dist/core/message/connection/redis.js.map +1 -0
  37. package/dist/core/message/convert.d.ts +7 -0
  38. package/dist/core/message/convert.js +71 -0
  39. package/dist/core/message/convert.js.map +1 -0
  40. package/dist/core/message/index.d.ts +3 -0
  41. package/dist/core/message/index.js +29 -0
  42. package/dist/core/message/index.js.map +1 -0
  43. package/dist/core/message/messageBuilder.d.ts +12 -0
  44. package/dist/core/message/messageBuilder.js +51 -0
  45. package/dist/core/message/messageBuilder.js.map +1 -0
  46. package/dist/core/message/pubsub/index.d.ts +47 -0
  47. package/dist/core/message/pubsub/index.js +164 -0
  48. package/dist/core/message/pubsub/index.js.map +1 -0
  49. package/dist/core/message/sp.d.ts +5 -0
  50. package/dist/core/message/sp.js +101 -0
  51. package/dist/core/message/sp.js.map +1 -0
  52. package/dist/core/parameter/commandArgs.d.ts +2 -0
  53. package/dist/core/parameter/commandArgs.js +23 -0
  54. package/dist/core/parameter/commandArgs.js.map +1 -0
  55. package/dist/core/parameter/environment.d.ts +83 -0
  56. package/dist/core/parameter/environment.js +101 -0
  57. package/dist/core/parameter/environment.js.map +1 -0
  58. package/dist/core/parameter/index.d.ts +7 -0
  59. package/dist/core/parameter/index.js +34 -0
  60. package/dist/core/parameter/index.js.map +1 -0
  61. package/dist/core/script/index.d.ts +4 -0
  62. package/dist/core/script/index.js +6 -0
  63. package/dist/core/script/index.js.map +1 -0
  64. package/dist/core/script/script-babel/babel.d.ts +1 -0
  65. package/dist/{script → core/script}/script-babel/babel.js +6 -2
  66. package/dist/core/script/script-babel/babel.js.map +1 -0
  67. package/dist/{script → core/script}/script-babel/plugin.d.ts +0 -0
  68. package/dist/{script → core/script}/script-babel/plugin.js +0 -0
  69. package/dist/core/script/script-babel/plugin.js.map +1 -0
  70. package/dist/{script → core/script}/script-constant.d.ts +0 -0
  71. package/dist/{script → core/script}/script-constant.js +0 -0
  72. package/dist/core/script/script-constant.js.map +1 -0
  73. package/dist/core/script/script-context.d.ts +1 -0
  74. package/dist/{script → core/script}/script-context.js +12 -8
  75. package/dist/core/script/script-context.js.map +1 -0
  76. package/dist/core/script/script-front.d.ts +1 -0
  77. package/dist/{script → core/script}/script-front.js +18 -14
  78. package/dist/core/script/script-front.js.map +1 -0
  79. package/dist/{script → core/script}/script-insert.d.ts +0 -0
  80. package/dist/{script → core/script}/script-insert.js +1 -1
  81. package/dist/core/script/script-insert.js.map +1 -0
  82. package/dist/{script → core/script}/script-manager.d.ts +2 -3
  83. package/dist/{script → core/script}/script-manager.js +24 -19
  84. package/dist/core/script/script-manager.js.map +1 -0
  85. package/dist/{script → core/script}/script-storage.d.ts +1 -1
  86. package/dist/{script → core/script}/script-storage.js +2 -2
  87. package/dist/core/script/script-storage.js.map +1 -0
  88. package/dist/{script → core/script}/script-support.d.ts +0 -0
  89. package/dist/{script → core/script}/script-support.js +1 -1
  90. package/dist/core/script/script-support.js.map +1 -0
  91. package/dist/{script → core/script}/script-template.d.ts +0 -0
  92. package/dist/{script → core/script}/script-template.js +0 -0
  93. package/dist/core/script/script-template.js.map +1 -0
  94. package/dist/core/storage/factory.d.ts +12 -0
  95. package/dist/core/storage/factory.js +37 -0
  96. package/dist/core/storage/factory.js.map +1 -0
  97. package/dist/core/storage/index.d.ts +5 -0
  98. package/dist/core/storage/index.js +18 -0
  99. package/dist/core/storage/index.js.map +1 -0
  100. package/dist/core/storage/internal.d.ts +6 -0
  101. package/dist/core/storage/internal.js +16 -0
  102. package/dist/core/storage/internal.js.map +1 -0
  103. package/dist/core/storage/minioStorage.d.ts +27 -0
  104. package/dist/core/storage/minioStorage.js +213 -0
  105. package/dist/core/storage/minioStorage.js.map +1 -0
  106. package/dist/core/storage/objectStorage.d.ts +19 -0
  107. package/dist/core/storage/objectStorage.js +4 -0
  108. package/dist/core/storage/objectStorage.js.map +1 -0
  109. package/dist/core/storage/ossStorage.d.ts +26 -0
  110. package/dist/core/storage/ossStorage.js +203 -0
  111. package/dist/core/storage/ossStorage.js.map +1 -0
  112. package/dist/core/storage/storageLogger.d.ts +20 -0
  113. package/dist/core/storage/storageLogger.js +117 -0
  114. package/dist/core/storage/storageLogger.js.map +1 -0
  115. package/dist/core/storage/storagePath.d.ts +17 -0
  116. package/dist/core/storage/storagePath.js +53 -0
  117. package/dist/core/storage/storagePath.js.map +1 -0
  118. package/dist/core/storage/test.d.ts +1 -0
  119. package/dist/core/storage/test.js +37 -0
  120. package/dist/core/storage/test.js.map +1 -0
  121. package/dist/core/utils/flusher.d.ts +15 -0
  122. package/dist/core/utils/flusher.js +63 -0
  123. package/dist/core/utils/flusher.js.map +1 -0
  124. package/dist/core/utils/helper.d.ts +5 -0
  125. package/dist/core/utils/helper.js +54 -0
  126. package/dist/core/utils/helper.js.map +1 -0
  127. package/dist/core/utils/http.d.ts +3 -0
  128. package/dist/core/utils/http.js +36 -0
  129. package/dist/core/utils/http.js.map +1 -0
  130. package/dist/core/utils/index.d.ts +63 -0
  131. package/dist/core/utils/index.js +262 -0
  132. package/dist/core/utils/index.js.map +1 -0
  133. package/dist/core/utils/number.d.ts +2 -0
  134. package/dist/core/utils/number.js +20 -0
  135. package/dist/core/utils/number.js.map +1 -0
  136. package/dist/{common → core/utils}/retry.d.ts +0 -0
  137. package/dist/{common → core/utils}/retry.js +0 -0
  138. package/dist/core/utils/retry.js.map +1 -0
  139. package/dist/core/utils/suanpan.d.ts +20 -0
  140. package/dist/core/utils/suanpan.js +93 -0
  141. package/dist/core/utils/suanpan.js.map +1 -0
  142. package/dist/{web → core/web}/app.d.ts +0 -0
  143. package/dist/{web → core/web}/app.js +5 -5
  144. package/dist/core/web/app.js.map +1 -0
  145. package/dist/{web → core/web}/server.d.ts +0 -0
  146. package/dist/{web → core/web}/server.js +18 -11
  147. package/dist/core/web/server.js.map +1 -0
  148. package/dist/main.d.ts +2 -26
  149. package/dist/main.js +13 -46
  150. package/dist/main.js.map +1 -1
  151. package/dist/types/conmonTypes.d.ts +15 -0
  152. package/dist/types/conmonTypes.js +10 -0
  153. package/dist/types/conmonTypes.js.map +1 -0
  154. package/dist/types/index.d.ts +6 -0
  155. package/dist/types/index.js +19 -0
  156. package/dist/types/index.js.map +1 -0
  157. package/dist/types/loggerTypes.d.ts +18 -0
  158. package/dist/types/loggerTypes.js +12 -0
  159. package/dist/types/loggerTypes.js.map +1 -0
  160. package/dist/types/messsageTypes.d.ts +28 -0
  161. package/dist/types/messsageTypes.js +27 -0
  162. package/dist/types/messsageTypes.js.map +1 -0
  163. package/dist/types/pubsubTypes.d.ts +21 -0
  164. package/dist/types/pubsubTypes.js +3 -0
  165. package/dist/types/pubsubTypes.js.map +1 -0
  166. package/dist/types/storageTypes.d.ts +85 -0
  167. package/dist/types/{storage-types.js → storageTypes.js} +1 -1
  168. package/dist/types/storageTypes.js.map +1 -0
  169. package/dist/types/streamTypes.d.ts +32 -0
  170. package/dist/types/streamTypes.js +3 -0
  171. package/dist/types/streamTypes.js.map +1 -0
  172. package/package.json +1 -1
  173. package/dist/arguments.d.ts +0 -74
  174. package/dist/arguments.js +0 -70
  175. package/dist/arguments.js.map +0 -1
  176. package/dist/commandArgs.d.ts +0 -10
  177. package/dist/commandArgs.js +0 -18
  178. package/dist/commandArgs.js.map +0 -1
  179. package/dist/common/exec.js.map +0 -1
  180. package/dist/common/file.d.ts +0 -1
  181. package/dist/common/file.js +0 -18
  182. package/dist/common/file.js.map +0 -1
  183. package/dist/common/log.d.ts +0 -3
  184. package/dist/common/log.js +0 -11
  185. package/dist/common/log.js.map +0 -1
  186. package/dist/common/retry.js.map +0 -1
  187. package/dist/common/streamUtility.d.ts +0 -7
  188. package/dist/common/streamUtility.js +0 -42
  189. package/dist/common/streamUtility.js.map +0 -1
  190. package/dist/common/util.d.ts +0 -44
  191. package/dist/common/util.js +0 -170
  192. package/dist/common/util.js.map +0 -1
  193. package/dist/constant.d.ts +0 -1
  194. package/dist/constant.js.map +0 -1
  195. package/dist/dyParameter.d.ts +0 -5
  196. package/dist/dyParameter.js +0 -34
  197. package/dist/dyParameter.js.map +0 -1
  198. package/dist/eventLogger.d.ts +0 -33
  199. package/dist/eventLogger.js +0 -125
  200. package/dist/eventLogger.js.map +0 -1
  201. package/dist/global.d.ts +0 -9
  202. package/dist/global.js +0 -42
  203. package/dist/global.js.map +0 -1
  204. package/dist/latestStorage/minio.d.ts +0 -18
  205. package/dist/latestStorage/minio.js +0 -135
  206. package/dist/latestStorage/minio.js.map +0 -1
  207. package/dist/latestStorage/oss.d.ts +0 -16
  208. package/dist/latestStorage/oss.js +0 -105
  209. package/dist/latestStorage/oss.js.map +0 -1
  210. package/dist/latestStorage/path.d.ts +0 -9
  211. package/dist/latestStorage/path.js +0 -30
  212. package/dist/latestStorage/path.js.map +0 -1
  213. package/dist/latestStorage/storage.d.ts +0 -27
  214. package/dist/latestStorage/storage.js +0 -59
  215. package/dist/latestStorage/storage.js.map +0 -1
  216. package/dist/latestStorage/wrapperStorage.d.ts +0 -7
  217. package/dist/latestStorage/wrapperStorage.js +0 -31
  218. package/dist/latestStorage/wrapperStorage.js.map +0 -1
  219. package/dist/mq.d.ts +0 -5
  220. package/dist/mq.js +0 -106
  221. package/dist/mq.js.map +0 -1
  222. package/dist/parameter.d.ts +0 -14
  223. package/dist/parameter.js +0 -94
  224. package/dist/parameter.js.map +0 -1
  225. package/dist/port.d.ts +0 -7
  226. package/dist/port.js +0 -73
  227. package/dist/port.js.map +0 -1
  228. package/dist/previousStorage/local.d.ts +0 -12
  229. package/dist/previousStorage/local.js +0 -90
  230. package/dist/previousStorage/local.js.map +0 -1
  231. package/dist/previousStorage/minio.d.ts +0 -10
  232. package/dist/previousStorage/minio.js +0 -201
  233. package/dist/previousStorage/minio.js.map +0 -1
  234. package/dist/previousStorage/oss.d.ts +0 -27
  235. package/dist/previousStorage/oss.js +0 -153
  236. package/dist/previousStorage/oss.js.map +0 -1
  237. package/dist/previousStorage/storage.d.ts +0 -21
  238. package/dist/previousStorage/storage.js +0 -21
  239. package/dist/previousStorage/storage.js.map +0 -1
  240. package/dist/script/script-babel/babel.d.ts +0 -1
  241. package/dist/script/script-babel/babel.js.map +0 -1
  242. package/dist/script/script-babel/plugin.js.map +0 -1
  243. package/dist/script/script-constant.js.map +0 -1
  244. package/dist/script/script-context.d.ts +0 -121
  245. package/dist/script/script-context.js.map +0 -1
  246. package/dist/script/script-front.d.ts +0 -39
  247. package/dist/script/script-front.js.map +0 -1
  248. package/dist/script/script-insert.js.map +0 -1
  249. package/dist/script/script-manager.js.map +0 -1
  250. package/dist/script/script-storage.js.map +0 -1
  251. package/dist/script/script-support.js.map +0 -1
  252. package/dist/script/script-template.js.map +0 -1
  253. package/dist/socketSever.d.ts +0 -1
  254. package/dist/socketSever.js +0 -47
  255. package/dist/socketSever.js.map +0 -1
  256. package/dist/staticServer.d.ts +0 -5
  257. package/dist/staticServer.js +0 -30
  258. package/dist/staticServer.js.map +0 -1
  259. package/dist/types/storage-types.d.ts +0 -19
  260. package/dist/types/storage-types.js.map +0 -1
  261. package/dist/web/app.js.map +0 -1
  262. package/dist/web/server.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toResponseStream = exports.convertToInputMessage = exports.convertToErrorResponseStream = exports.convertToResponseStream = exports.buildResponseStream = exports.convetToInputData = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const constant_1 = require("../common/constant");
9
+ const environment_1 = require("../parameter/environment");
10
+ const utils_1 = require("../utils");
11
+ const types_1 = require("../../types");
12
+ function convetToInputData(request) {
13
+ return lodash_1.default.pickBy(request, (value, key) => key.match(constant_1.PORT_IN_REG));
14
+ }
15
+ exports.convetToInputData = convetToInputData;
16
+ function buildResponseStream(outputData) {
17
+ const res = {
18
+ request_id: utils_1.generateRequestId(),
19
+ extra: '',
20
+ node_id: environment_1.Environment.stream.nodeId,
21
+ success: 'true',
22
+ type: 'call'
23
+ };
24
+ return Object.assign(res, outputData);
25
+ }
26
+ exports.buildResponseStream = buildResponseStream;
27
+ function convertToResponseStream(requestStream, outputData) {
28
+ const res = {
29
+ request_id: requestStream.id,
30
+ extra: requestStream.extra,
31
+ node_id: environment_1.Environment.stream.nodeId,
32
+ success: 'true',
33
+ type: 'call'
34
+ };
35
+ return Object.assign(res, outputData);
36
+ }
37
+ exports.convertToResponseStream = convertToResponseStream;
38
+ function convertToErrorResponseStream(requestStream, errMsg) {
39
+ return {
40
+ request_id: requestStream.id,
41
+ extra: requestStream.extra,
42
+ node_id: environment_1.Environment.stream.nodeId,
43
+ success: 'false',
44
+ type: 'call',
45
+ msg: errMsg
46
+ };
47
+ }
48
+ exports.convertToErrorResponseStream = convertToErrorResponseStream;
49
+ function convertToInputMessage(request) {
50
+ const inputData = lodash_1.default.pickBy(request, (value, key) => key.match(constant_1.PORT_IN_REG));
51
+ const headers = {
52
+ requestId: request.id,
53
+ timestamp: new Date().getTime(),
54
+ // TODO:
55
+ extra: {}
56
+ };
57
+ return new types_1.InputMessage(headers, inputData);
58
+ }
59
+ exports.convertToInputMessage = convertToInputMessage;
60
+ function toResponseStream(outputMessage) {
61
+ const r = {
62
+ request_id: outputMessage.headers.requestId,
63
+ extra: JSON.stringify(outputMessage.headers.extra),
64
+ node_id: environment_1.Environment.stream.nodeId,
65
+ success: 'true',
66
+ type: 'call'
67
+ };
68
+ return Object.assign(r, outputMessage.payload);
69
+ }
70
+ exports.toResponseStream = toResponseStream;
71
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/core/message/convert.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AAEvB,iDAAiD;AACjD,0DAAuD;AACvD,oCAA6C;AAC7C,uCAA4H;AAE5H,SAAgB,iBAAiB,CAAC,OAAoB;IACpD,OAAO,gBAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAW,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,8CAEC;AAED,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,MAAM,GAAG,GAAiB;QACxB,UAAU,EAAE,yBAAiB,EAAE;QAC/B,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAgB;QAC5C,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AATD,kDASC;AAED,SAAgB,uBAAuB,CAAC,aAA0B,EAAE,UAAsB;IACxF,MAAM,GAAG,GAAiB;QACxB,UAAU,EAAE,aAAa,CAAC,EAAE;QAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAgB;QAC5C,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AATD,0DASC;AAED,SAAgB,4BAA4B,CAAC,aAA0B,EAAE,MAAc;IACrF,OAAO;QACL,UAAU,EAAE,aAAa,CAAC,EAAE;QAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAgB;QAC5C,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;KACZ,CAAC;AACJ,CAAC;AATD,oEASC;AAED,SAAgB,qBAAqB,CAAC,OAAoB;IACxD,MAAM,SAAS,GAAG,gBAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAW,CAAC,CAAc,CAAC;IACzF,MAAM,OAAO,GAAmB;QAC9B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QAC/B,QAAQ;QACR,KAAK,EAAE,EAAE;KACV,CAAC;IACF,OAAO,IAAI,oBAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AATD,sDASC;AAED,SAAgB,gBAAgB,CAAC,aAA4B;IAC3D,MAAM,CAAC,GAAiB;QACtB,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS;QAC3C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QAClD,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAM;QAClC,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AATD,4CASC"}
@@ -0,0 +1,3 @@
1
+ export * as sp from './sp';
2
+ export * from './pubsub';
3
+ export * from './messageBuilder';
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.sp = void 0;
26
+ exports.sp = __importStar(require("./sp"));
27
+ __exportStar(require("./pubsub"), exports);
28
+ __exportStar(require("./messageBuilder"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/message/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC"}
@@ -0,0 +1,12 @@
1
+ import { Message, OutputData, OutputMessage } from '../../types';
2
+ export declare class MessageBuilder {
3
+ private static readonly defaultHeaders;
4
+ private static _payload;
5
+ private static _headers;
6
+ static fromMessagePayload(message: OutputMessage): typeof MessageBuilder;
7
+ static fromMessageHeaders(message: Message): typeof MessageBuilder;
8
+ static withPayload(payload: OutputData): typeof MessageBuilder;
9
+ static setHeader(key: string, value: string): typeof MessageBuilder;
10
+ static setHeaderIfAbsent(key: string, value: string): typeof MessageBuilder;
11
+ static build(): OutputMessage;
12
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBuilder = void 0;
4
+ const utils_1 = require("../utils");
5
+ const types_1 = require("../../types");
6
+ class MessageBuilder {
7
+ static fromMessagePayload(message) {
8
+ this._payload = message.payload;
9
+ return this;
10
+ }
11
+ static fromMessageHeaders(message) {
12
+ for (const [headerName, headerValue] of Object.entries(message.headers)) {
13
+ this.setHeader(headerName, headerValue);
14
+ }
15
+ return this;
16
+ }
17
+ static withPayload(payload) {
18
+ this._payload = payload;
19
+ return this;
20
+ }
21
+ static setHeader(key, value) {
22
+ this._headers[key] = value;
23
+ return this;
24
+ }
25
+ static setHeaderIfAbsent(key, value) {
26
+ if (!this._headers[key]) {
27
+ this._headers[key] = value;
28
+ }
29
+ return this;
30
+ }
31
+ static build() {
32
+ if (!this._payload) {
33
+ throw new Error('payload must be passed in.');
34
+ }
35
+ if (!this._headers.requestId) {
36
+ this._headers.requestId = utils_1.generateUUID().split('-').join('');
37
+ }
38
+ if (!this._headers.timestamp) {
39
+ this._headers.timestamp = new Date().getTime();
40
+ }
41
+ return new types_1.OutputMessage(this._headers, this._payload);
42
+ }
43
+ }
44
+ exports.MessageBuilder = MessageBuilder;
45
+ MessageBuilder.defaultHeaders = {
46
+ requestId: '',
47
+ extra: {},
48
+ timestamp: 0
49
+ };
50
+ MessageBuilder._headers = MessageBuilder.defaultHeaders;
51
+ //# sourceMappingURL=messageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../../../src/core/message/messageBuilder.ts"],"names":[],"mappings":";;;AAAA,oCAAwC;AACxC,uCAAiF;AACjF,MAAa,cAAc;IAWzB,MAAM,CAAC,kBAAkB,CAAC,OAAsB;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAgB;QACxC,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAmB;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAa;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,oBAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;SAChD;QACD,OAAO,IAAI,qBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;;AArDH,wCAsDC;AApDyB,6BAAc,GAAmB;IACvD,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,CAAC;CACb,CAAC;AAGa,uBAAQ,GAAG,cAAc,CAAC,cAAc,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { Handler, Topic, SubscriberToken, IPubSub } from '../../../types';
2
+ declare class StreamPubSub implements IPubSub {
3
+ private recieiveQueue;
4
+ private sendQueue;
5
+ private _channel;
6
+ private _channelSubscribed;
7
+ private _topicHandlersMap;
8
+ private _subscriberTokenMap;
9
+ constructor(recieiveQueue?: any, sendQueue?: any);
10
+ private _getChannel;
11
+ private _getHandlers;
12
+ private _subscribeChannel;
13
+ /**
14
+ * Publishes a topic asynchronously, passing the data to its subscribers.
15
+ * Asynchronous publication helps in that the originator of the topics will not be blocked while consumers process them.
16
+ * @param topic The topic's name
17
+ * @param payload The data to be passed to its subscribers
18
+ */
19
+ publish(topic: string, payload: string): void;
20
+ /**
21
+ * Subscribe to events of interest with a specific topic name and a callback function, to be executed when the topic/event is observed.
22
+ * @param topic The topic's name.
23
+ * @param handler Callback function to execute on topic message, taking one argument: {string} payload. The payload passed when publishing a message to channel.
24
+ * @return The subscriber's token
25
+ */
26
+ subscribe(topic: string, handler: Handler): SubscriberToken;
27
+ /**
28
+ * Checks if there are subscribers for a specific topic. If topic is not provided, checks if there is at least one subscriber.
29
+ * @return true if the topic exist and has subscribers, otherwise false.
30
+ */
31
+ hasSubscribers(topic?: Topic): boolean;
32
+ /**
33
+ * @returns true if the topic exist and has been removed, or false if the topic does not exist.
34
+ */
35
+ unSubsribeByTopic(topic: Topic): boolean;
36
+ /**
37
+ * @returns true if the subscriber token exist and has been removed, or false the subscriber token does not exist.
38
+ */
39
+ unSubsribeByToken(token: SubscriberToken): boolean;
40
+ /**
41
+ * @returns true if the subscriber handler exist and has been removed, or false the subscriber handler does not exist.
42
+ */
43
+ unSubsribeByHandler(handler: Handler): boolean;
44
+ clearAllSubscriptions(): void;
45
+ }
46
+ export declare const PubSub: StreamPubSub;
47
+ export {};
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PubSub = void 0;
13
+ const index_1 = require("../connection/index");
14
+ const environment_1 = require("../../parameter/environment");
15
+ const utils_1 = require("../../utils");
16
+ class StreamPubSub {
17
+ constructor(recieiveQueue = environment_1.Environment.mq.eventQueue, sendQueue = environment_1.Environment.mq.eventQueue) {
18
+ this.recieiveQueue = recieiveQueue;
19
+ this.sendQueue = sendQueue;
20
+ this._channelSubscribed = false;
21
+ this._topicHandlersMap = new Map();
22
+ this._subscriberTokenMap = new Map();
23
+ }
24
+ _getChannel() {
25
+ if (!this._channel) {
26
+ this._channel = index_1.Connection.newConenction()
27
+ .createSubscribableChannel(this.recieiveQueue, this.sendQueue);
28
+ }
29
+ return this._channel;
30
+ }
31
+ _getHandlers(eventHeaders) {
32
+ const topic = eventHeaders.event_name;
33
+ const headerAppId = eventHeaders.app_id;
34
+ if (environment_1.Environment.stream.appId === headerAppId) {
35
+ const handlers = this._topicHandlersMap.get(topic);
36
+ if (handlers) {
37
+ return handlers;
38
+ }
39
+ }
40
+ return new Set();
41
+ }
42
+ _subscribeChannel() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ if (!this._channelSubscribed) {
45
+ this._channelSubscribed = true; // modify "_channelSubscribed" to true before "subscribe", otherwise it will cause the problem of creating queues multiple times
46
+ yield this._getChannel().subscribe((appEventStream) => __awaiter(this, void 0, void 0, function* () {
47
+ const appEvent = appEventStream.data;
48
+ const payload = appEvent.data;
49
+ const headers = utils_1.tryJSONParse(appEvent.header);
50
+ const handlers = this._getHandlers(headers);
51
+ if (handlers) {
52
+ for (const handler of handlers) {
53
+ yield handler(payload);
54
+ }
55
+ }
56
+ }));
57
+ }
58
+ });
59
+ }
60
+ /**
61
+ * Publishes a topic asynchronously, passing the data to its subscribers.
62
+ * Asynchronous publication helps in that the originator of the topics will not be blocked while consumers process them.
63
+ * @param topic The topic's name
64
+ * @param payload The data to be passed to its subscribers
65
+ */
66
+ publish(topic, payload) {
67
+ const header = {
68
+ app_id: environment_1.Environment.stream.appId,
69
+ node_id: environment_1.Environment.stream.nodeId,
70
+ event_name: topic
71
+ };
72
+ const appEvent = {
73
+ data: payload,
74
+ header: JSON.stringify(header)
75
+ };
76
+ this._getChannel().sendMessage(appEvent);
77
+ }
78
+ /**
79
+ * Subscribe to events of interest with a specific topic name and a callback function, to be executed when the topic/event is observed.
80
+ * @param topic The topic's name.
81
+ * @param handler Callback function to execute on topic message, taking one argument: {string} payload. The payload passed when publishing a message to channel.
82
+ * @return The subscriber's token
83
+ */
84
+ subscribe(topic, handler) {
85
+ this._subscribeChannel();
86
+ let handlerSet = this._topicHandlersMap.get(topic);
87
+ if (!handlerSet) {
88
+ handlerSet = new Set();
89
+ this._topicHandlersMap.set(topic, handlerSet);
90
+ }
91
+ handlerSet.add(handler);
92
+ let token = this._subscriberTokenMap.get(handler);
93
+ if (!token) {
94
+ token = `_${topic}_token_${handlerSet.size}_`;
95
+ this._subscriberTokenMap.set(handler, token);
96
+ }
97
+ return token;
98
+ }
99
+ /**
100
+ * Checks if there are subscribers for a specific topic. If topic is not provided, checks if there is at least one subscriber.
101
+ * @return true if the topic exist and has subscribers, otherwise false.
102
+ */
103
+ hasSubscribers(topic) {
104
+ if (!topic) {
105
+ return this._topicHandlersMap.size > 0;
106
+ }
107
+ const handlers = this._topicHandlersMap.get(topic);
108
+ if (!handlers) {
109
+ return false;
110
+ }
111
+ return handlers.size > 0;
112
+ }
113
+ /**
114
+ * @returns true if the topic exist and has been removed, or false if the topic does not exist.
115
+ */
116
+ unSubsribeByTopic(topic) {
117
+ const handlers = this._topicHandlersMap.get(topic);
118
+ if (handlers) {
119
+ handlers.forEach(h => {
120
+ this._subscriberTokenMap.delete(h);
121
+ });
122
+ this._topicHandlersMap.delete(topic);
123
+ return true;
124
+ }
125
+ return false;
126
+ }
127
+ /**
128
+ * @returns true if the subscriber token exist and has been removed, or false the subscriber token does not exist.
129
+ */
130
+ unSubsribeByToken(token) {
131
+ for (const [subscriberHandler, subscribeToken] of this._subscriberTokenMap) {
132
+ if (subscribeToken === token) {
133
+ this._subscriberTokenMap.delete(subscriberHandler);
134
+ for (const [, handlers] of this._topicHandlersMap) {
135
+ if (handlers.has(subscriberHandler)) {
136
+ handlers.delete(subscriberHandler);
137
+ break;
138
+ }
139
+ }
140
+ return true;
141
+ }
142
+ }
143
+ return false;
144
+ }
145
+ /**
146
+ * @returns true if the subscriber handler exist and has been removed, or false the subscriber handler does not exist.
147
+ */
148
+ unSubsribeByHandler(handler) {
149
+ const isDeleted = this._subscriberTokenMap.delete(handler);
150
+ if (!isDeleted) {
151
+ return false;
152
+ }
153
+ for (const [, handlers] of this._topicHandlersMap) {
154
+ handlers.delete(handler);
155
+ }
156
+ return true;
157
+ }
158
+ clearAllSubscriptions() {
159
+ this._topicHandlersMap.clear();
160
+ this._subscriberTokenMap.clear();
161
+ }
162
+ }
163
+ exports.PubSub = new StreamPubSub();
164
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/message/pubsub/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { OutputData, OnCallHandler, OutputMessage, OnMessageHandler } from '../../types';
2
+ export declare function onCall(handler: OnCallHandler): void;
3
+ export declare function send(data: OutputData): Promise<void>;
4
+ export declare function onMessage(handler: OnMessageHandler): void;
5
+ export declare function sendMessage(message: OutputMessage): Promise<void>;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.sendMessage = exports.onMessage = exports.send = exports.onCall = void 0;
32
+ require("lodash");
33
+ const Utils = __importStar(require("./convert"));
34
+ const connection_1 = require("./connection");
35
+ const logger_1 = require("../logger");
36
+ const environment_1 = require("../parameter/environment");
37
+ function onCall(handler) {
38
+ const recieiveQueue = environment_1.Environment.mq.receiveQueue;
39
+ const sendQueue = environment_1.Environment.mq.sendQueue;
40
+ const messageChannel = connection_1.Connection.getInstance().createSubscribableChannel(recieiveQueue, sendQueue);
41
+ messageChannel.subscribe((inputStream) => __awaiter(this, void 0, void 0, function* () {
42
+ const requestData = inputStream.data;
43
+ try {
44
+ const inputData = Utils.convetToInputData(requestData);
45
+ const outputData = yield handler(inputData);
46
+ if (outputData) {
47
+ const responseStream = Utils.convertToResponseStream(requestData, outputData);
48
+ yield messageChannel.sendMessage(responseStream);
49
+ }
50
+ }
51
+ catch (e) {
52
+ logger_1.EventLogger.Instance.error(e);
53
+ const errorResponseStream = Utils.convertToErrorResponseStream(requestData, e.message);
54
+ yield messageChannel.sendMessage(errorResponseStream);
55
+ throw e;
56
+ }
57
+ }));
58
+ }
59
+ exports.onCall = onCall;
60
+ function send(data) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const sendQueue = environment_1.Environment.mq.sendQueue;
63
+ yield connection_1.Connection.getInstance()
64
+ .createMessageChannel(sendQueue)
65
+ .sendMessage(Utils.buildResponseStream(data));
66
+ });
67
+ }
68
+ exports.send = send;
69
+ function onMessage(handler) {
70
+ const recieiveQueue = environment_1.Environment.mq.receiveQueue;
71
+ const sendQueue = environment_1.Environment.mq.sendQueue;
72
+ const messageChannel = connection_1.Connection.getInstance().createSubscribableChannel(recieiveQueue, sendQueue);
73
+ messageChannel.subscribe((inputStream) => __awaiter(this, void 0, void 0, function* () {
74
+ const requestData = inputStream.data;
75
+ try {
76
+ const inputMessage = Utils.convertToInputMessage(requestData);
77
+ const outputMessage = yield handler(inputMessage);
78
+ if (outputMessage) {
79
+ const responseStream = Utils.toResponseStream(outputMessage);
80
+ yield messageChannel.sendMessage(responseStream);
81
+ }
82
+ }
83
+ catch (e) {
84
+ logger_1.EventLogger.Instance.error(e);
85
+ const errorResponseStream = Utils.convertToErrorResponseStream(requestData, e.message);
86
+ yield messageChannel.sendMessage(errorResponseStream);
87
+ throw e;
88
+ }
89
+ }));
90
+ }
91
+ exports.onMessage = onMessage;
92
+ function sendMessage(message) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const sendQueue = environment_1.Environment.mq.sendQueue;
95
+ yield connection_1.Connection.getInstance()
96
+ .createMessageChannel(sendQueue)
97
+ .sendMessage(Utils.toResponseStream(message));
98
+ });
99
+ }
100
+ exports.sendMessage = sendMessage;
101
+ //# sourceMappingURL=sp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sp.js","sourceRoot":"","sources":["../../../src/core/message/sp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { AnyJSON } from '../../types/index';
2
+ export declare const argvs: AnyJSON<any>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.argvs = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const split_string_1 = __importDefault(require("split-string"));
9
+ const yargs_1 = require("yargs");
10
+ const yargs = yargs_1.parserConfiguration({
11
+ 'camel-case-expansion': false
12
+ });
13
+ function getArgvFromEnvSpParam() {
14
+ const spParam = !lodash_1.default.isString(process.env.SP_PARAM) ? '' : process.env.SP_PARAM;
15
+ const textSpParam = Buffer.from(spParam, 'base64').toString('utf8');
16
+ return yargs.parse(split_string_1.default(textSpParam.trim(), {
17
+ separator: ' ',
18
+ quotes: ['"', '\''],
19
+ brackets: true
20
+ }));
21
+ }
22
+ exports.argvs = Object.assign(yargs.argv, getArgvFromEnvSpParam());
23
+ //# sourceMappingURL=commandArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandArgs.js","sourceRoot":"","sources":["../../../src/core/parameter/commandArgs.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,gEAAiC;AACjC,iCAA4C;AAG5C,MAAM,KAAK,GAAG,2BAAmB,CAAC;IAChC,sBAAsB,EAAE,KAAK;CAC9B,CAAC,CAAC;AAEH,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,KAAK,CAAC,sBAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;QAC3C,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAEY,QAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,EAAE,CAAiB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { Platform } from '../../types';
2
+ export declare function getPlatform(): Platform;
3
+ export declare class Environment {
4
+ /**
5
+ * Gets a value indicating the type of the current operating system.
6
+ */
7
+ static readonly platform: Platform;
8
+ /**
9
+ * Gets a value indicating whether the current operating system is `Linux`.
10
+ */
11
+ static readonly isLinux: boolean;
12
+ /**
13
+ * Gets a value indicating whether the current operating system is `Macintosh`.
14
+ */
15
+ static readonly isMac: boolean;
16
+ /**
17
+ * Gets a value indicating whether the current operating system is `Windows`.
18
+ */
19
+ static readonly isWindows: boolean;
20
+ static readonly stream: {
21
+ userId: any;
22
+ appId: any;
23
+ nodeId: any;
24
+ componentId: any;
25
+ };
26
+ static readonly suanpan: {
27
+ protocol: boolean | "" | undefined;
28
+ apiHost: any;
29
+ host: string | undefined;
30
+ port: string | undefined;
31
+ affinity: string | undefined;
32
+ accessSecret: string | undefined;
33
+ field: {
34
+ userIdHeader: string;
35
+ userSignature: string;
36
+ userSignVersionHeader: string;
37
+ };
38
+ };
39
+ static readonly mq: {
40
+ type: any;
41
+ host: any;
42
+ port: any;
43
+ sendQueue: any;
44
+ receiveQueue: any;
45
+ sendQueueMaxLength: any;
46
+ sendQueueTrimImmediately: any;
47
+ eventQueue: any;
48
+ };
49
+ static readonly oss: {
50
+ endpoint: any;
51
+ bucketName: any;
52
+ accessId: any;
53
+ accessKey: any;
54
+ tempStore: any;
55
+ globalStore: any;
56
+ };
57
+ static readonly minio: {
58
+ endpoint: any;
59
+ bucketName: any;
60
+ accessId: any;
61
+ accessKey: any;
62
+ tempStore: any;
63
+ globalStore: any;
64
+ };
65
+ static readonly local: {
66
+ tempStore: any;
67
+ globalStore: any;
68
+ };
69
+ static readonly spConfig: {
70
+ mstorageType: any;
71
+ storageType: any;
72
+ mqType: any;
73
+ dwType: any;
74
+ debug: boolean;
75
+ };
76
+ static readonly logkit: {
77
+ uri: string | undefined;
78
+ path: string;
79
+ logLevel: string;
80
+ namespace: string;
81
+ eventName: string;
82
+ };
83
+ }