@blazedpath/commons 0.2.1 → 0.3.1

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 (626) hide show
  1. package/README.md +4 -1
  2. package/dist/blz-base/health/index.d.ts +1 -0
  3. package/dist/blz-base/health/index.js +1 -0
  4. package/dist/blz-base/index.d.ts +108 -0
  5. package/dist/blz-base/index.js +1 -0
  6. package/dist/blz-cache/LruCache.d.ts +31 -0
  7. package/dist/blz-cache/LruCache.js +1 -0
  8. package/dist/blz-cache/index.d.ts +2 -0
  9. package/dist/blz-cache/index.js +1 -0
  10. package/dist/blz-config/index.d.ts +16 -0
  11. package/dist/blz-config/index.js +1 -0
  12. package/dist/blz-core/index.d.ts +32 -0
  13. package/dist/blz-core/index.js +1 -0
  14. package/dist/blz-cryptography/index.d.ts +2 -0
  15. package/dist/blz-cryptography/index.js +1 -0
  16. package/dist/blz-datetimes/index.d.ts +35 -0
  17. package/dist/blz-datetimes/index.js +1 -0
  18. package/dist/blz-file/fileService.d.ts +25 -0
  19. package/dist/blz-file/fileService.js +1 -0
  20. package/dist/blz-file/index.d.ts +2 -0
  21. package/dist/blz-file/index.js +1 -0
  22. package/dist/blz-file/index.test.js +1 -0
  23. package/dist/blz-file/lab.js +1 -0
  24. package/dist/blz-hazelcast/index.d.ts +25 -0
  25. package/dist/blz-hazelcast/index.js +1 -0
  26. package/dist/blz-hazelcast/lib/credentials.d.ts +10 -0
  27. package/dist/blz-hazelcast/lib/credentials.js +1 -0
  28. package/dist/blz-hazelcast/lib/credentialsFactory.d.ts +1 -0
  29. package/dist/blz-hazelcast/lib/credentialsFactory.js +1 -0
  30. package/dist/blz-hazelcast/lib/hazelcastCache.d.ts +27 -0
  31. package/dist/blz-hazelcast/lib/hazelcastCache.js +1 -0
  32. package/dist/blz-iterable/index.d.ts +49 -0
  33. package/dist/blz-iterable/index.js +1 -0
  34. package/dist/blz-json-schema/index.d.ts +1 -0
  35. package/dist/blz-json-schema/index.js +1 -0
  36. package/dist/blz-jwt/index.d.ts +12 -0
  37. package/dist/blz-jwt/index.js +1 -0
  38. package/dist/blz-kafka/index.d.ts +9 -0
  39. package/dist/blz-kafka/index.js +1 -0
  40. package/dist/blz-math/index.d.ts +22 -0
  41. package/dist/blz-math/index.js +1 -0
  42. package/dist/blz-mongodb/index.d.ts +28 -0
  43. package/dist/blz-mongodb/index.js +1 -0
  44. package/dist/blz-rds/__test__/scape.test.js +1 -0
  45. package/dist/blz-rds/blz-rds-executor.d.ts +4 -0
  46. package/dist/blz-rds/blz-rds-executor.js +1 -0
  47. package/dist/blz-rds/blz-rds-helper.d.ts +5 -0
  48. package/dist/blz-rds/blz-rds-helper.js +1 -0
  49. package/dist/blz-rds/commands/core/add.d.ts +2 -0
  50. package/dist/blz-rds/commands/core/add.js +1 -0
  51. package/dist/blz-rds/commands/core/and.d.ts +3 -0
  52. package/dist/blz-rds/commands/core/and.js +1 -0
  53. package/dist/blz-rds/commands/core/asc.d.ts +2 -0
  54. package/dist/blz-rds/commands/core/asc.js +1 -0
  55. package/dist/blz-rds/commands/core/avg.d.ts +2 -0
  56. package/dist/blz-rds/commands/core/avg.js +1 -0
  57. package/dist/blz-rds/commands/core/column-ref.d.ts +2 -0
  58. package/dist/blz-rds/commands/core/column-ref.js +1 -0
  59. package/dist/blz-rds/commands/core/count-distinct.d.ts +2 -0
  60. package/dist/blz-rds/commands/core/count-distinct.js +1 -0
  61. package/dist/blz-rds/commands/core/count.d.ts +2 -0
  62. package/dist/blz-rds/commands/core/count.js +1 -0
  63. package/dist/blz-rds/commands/core/decimal.d.ts +2 -0
  64. package/dist/blz-rds/commands/core/decimal.js +1 -0
  65. package/dist/blz-rds/commands/core/desc.d.ts +2 -0
  66. package/dist/blz-rds/commands/core/desc.js +1 -0
  67. package/dist/blz-rds/commands/core/distinct.d.ts +2 -0
  68. package/dist/blz-rds/commands/core/distinct.js +1 -0
  69. package/dist/blz-rds/commands/core/divide.d.ts +2 -0
  70. package/dist/blz-rds/commands/core/divide.js +1 -0
  71. package/dist/blz-rds/commands/core/embedded-exists.d.ts +3 -0
  72. package/dist/blz-rds/commands/core/embedded-exists.js +1 -0
  73. package/dist/blz-rds/commands/core/embedded-select.d.ts +2 -0
  74. package/dist/blz-rds/commands/core/embedded-select.js +1 -0
  75. package/dist/blz-rds/commands/core/equals.d.ts +3 -0
  76. package/dist/blz-rds/commands/core/equals.js +1 -0
  77. package/dist/blz-rds/commands/core/false.d.ts +2 -0
  78. package/dist/blz-rds/commands/core/false.js +1 -0
  79. package/dist/blz-rds/commands/core/greater-or-equal.d.ts +3 -0
  80. package/dist/blz-rds/commands/core/greater-or-equal.js +1 -0
  81. package/dist/blz-rds/commands/core/greater.d.ts +3 -0
  82. package/dist/blz-rds/commands/core/greater.js +1 -0
  83. package/dist/blz-rds/commands/core/in.d.ts +3 -0
  84. package/dist/blz-rds/commands/core/in.js +1 -0
  85. package/dist/blz-rds/commands/core/integer.d.ts +2 -0
  86. package/dist/blz-rds/commands/core/integer.js +1 -0
  87. package/dist/blz-rds/commands/core/is-not-null.d.ts +3 -0
  88. package/dist/blz-rds/commands/core/is-not-null.js +1 -0
  89. package/dist/blz-rds/commands/core/is-null-or-value.d.ts +3 -0
  90. package/dist/blz-rds/commands/core/is-null-or-value.js +1 -0
  91. package/dist/blz-rds/commands/core/is-null.d.ts +3 -0
  92. package/dist/blz-rds/commands/core/is-null.js +1 -0
  93. package/dist/blz-rds/commands/core/less-or-equal.d.ts +3 -0
  94. package/dist/blz-rds/commands/core/less-or-equal.js +1 -0
  95. package/dist/blz-rds/commands/core/less-unary.d.ts +2 -0
  96. package/dist/blz-rds/commands/core/less-unary.js +1 -0
  97. package/dist/blz-rds/commands/core/less.d.ts +3 -0
  98. package/dist/blz-rds/commands/core/less.js +1 -0
  99. package/dist/blz-rds/commands/core/like.d.ts +3 -0
  100. package/dist/blz-rds/commands/core/like.js +1 -0
  101. package/dist/blz-rds/commands/core/max.d.ts +2 -0
  102. package/dist/blz-rds/commands/core/max.js +1 -0
  103. package/dist/blz-rds/commands/core/min.d.ts +2 -0
  104. package/dist/blz-rds/commands/core/min.js +1 -0
  105. package/dist/blz-rds/commands/core/multiply.d.ts +2 -0
  106. package/dist/blz-rds/commands/core/multiply.js +1 -0
  107. package/dist/blz-rds/commands/core/not-equals.d.ts +3 -0
  108. package/dist/blz-rds/commands/core/not-equals.js +1 -0
  109. package/dist/blz-rds/commands/core/not-in.d.ts +3 -0
  110. package/dist/blz-rds/commands/core/not-in.js +1 -0
  111. package/dist/blz-rds/commands/core/not.d.ts +3 -0
  112. package/dist/blz-rds/commands/core/not.js +1 -0
  113. package/dist/blz-rds/commands/core/null.d.ts +2 -0
  114. package/dist/blz-rds/commands/core/null.js +1 -0
  115. package/dist/blz-rds/commands/core/nvl.d.ts +2 -0
  116. package/dist/blz-rds/commands/core/nvl.js +1 -0
  117. package/dist/blz-rds/commands/core/or.d.ts +3 -0
  118. package/dist/blz-rds/commands/core/or.js +1 -0
  119. package/dist/blz-rds/commands/core/parameter.d.ts +2 -0
  120. package/dist/blz-rds/commands/core/parameter.js +1 -0
  121. package/dist/blz-rds/commands/core/remainder.d.ts +2 -0
  122. package/dist/blz-rds/commands/core/remainder.js +1 -0
  123. package/dist/blz-rds/commands/core/string.d.ts +2 -0
  124. package/dist/blz-rds/commands/core/string.js +1 -0
  125. package/dist/blz-rds/commands/core/subtract.d.ts +2 -0
  126. package/dist/blz-rds/commands/core/subtract.js +1 -0
  127. package/dist/blz-rds/commands/core/sum.d.ts +2 -0
  128. package/dist/blz-rds/commands/core/sum.js +1 -0
  129. package/dist/blz-rds/commands/core/true.d.ts +2 -0
  130. package/dist/blz-rds/commands/core/true.js +1 -0
  131. package/dist/blz-rds/commands/core/tuple.d.ts +2 -0
  132. package/dist/blz-rds/commands/core/tuple.js +1 -0
  133. package/dist/blz-rds/commands/datetimes/add-days.d.ts +2 -0
  134. package/dist/blz-rds/commands/datetimes/add-days.js +1 -0
  135. package/dist/blz-rds/commands/datetimes/add-hours.d.ts +2 -0
  136. package/dist/blz-rds/commands/datetimes/add-hours.js +1 -0
  137. package/dist/blz-rds/commands/datetimes/add-milliseconds.d.ts +2 -0
  138. package/dist/blz-rds/commands/datetimes/add-milliseconds.js +1 -0
  139. package/dist/blz-rds/commands/datetimes/add-minutes.d.ts +2 -0
  140. package/dist/blz-rds/commands/datetimes/add-minutes.js +1 -0
  141. package/dist/blz-rds/commands/datetimes/add-months.d.ts +2 -0
  142. package/dist/blz-rds/commands/datetimes/add-months.js +1 -0
  143. package/dist/blz-rds/commands/datetimes/add-seconds.d.ts +2 -0
  144. package/dist/blz-rds/commands/datetimes/add-seconds.js +1 -0
  145. package/dist/blz-rds/commands/datetimes/add-years.d.ts +2 -0
  146. package/dist/blz-rds/commands/datetimes/add-years.js +1 -0
  147. package/dist/blz-rds/commands/datetimes/date-diff.d.ts +2 -0
  148. package/dist/blz-rds/commands/datetimes/date-diff.js +1 -0
  149. package/dist/blz-rds/commands/datetimes/date.d.ts +2 -0
  150. package/dist/blz-rds/commands/datetimes/date.js +1 -0
  151. package/dist/blz-rds/commands/datetimes/datetime-diff.d.ts +2 -0
  152. package/dist/blz-rds/commands/datetimes/datetime-diff.js +1 -0
  153. package/dist/blz-rds/commands/datetimes/datetime.d.ts +2 -0
  154. package/dist/blz-rds/commands/datetimes/datetime.js +1 -0
  155. package/dist/blz-rds/commands/datetimes/day.d.ts +2 -0
  156. package/dist/blz-rds/commands/datetimes/day.js +1 -0
  157. package/dist/blz-rds/commands/datetimes/hour.d.ts +2 -0
  158. package/dist/blz-rds/commands/datetimes/hour.js +1 -0
  159. package/dist/blz-rds/commands/datetimes/millisecond.d.ts +2 -0
  160. package/dist/blz-rds/commands/datetimes/millisecond.js +1 -0
  161. package/dist/blz-rds/commands/datetimes/minute.d.ts +2 -0
  162. package/dist/blz-rds/commands/datetimes/minute.js +1 -0
  163. package/dist/blz-rds/commands/datetimes/month-text.d.ts +2 -0
  164. package/dist/blz-rds/commands/datetimes/month-text.js +1 -0
  165. package/dist/blz-rds/commands/datetimes/month.d.ts +2 -0
  166. package/dist/blz-rds/commands/datetimes/month.js +1 -0
  167. package/dist/blz-rds/commands/datetimes/now.d.ts +2 -0
  168. package/dist/blz-rds/commands/datetimes/now.js +1 -0
  169. package/dist/blz-rds/commands/datetimes/second.d.ts +2 -0
  170. package/dist/blz-rds/commands/datetimes/second.js +1 -0
  171. package/dist/blz-rds/commands/datetimes/subtract-days.d.ts +2 -0
  172. package/dist/blz-rds/commands/datetimes/subtract-days.js +1 -0
  173. package/dist/blz-rds/commands/datetimes/subtract-hours.d.ts +2 -0
  174. package/dist/blz-rds/commands/datetimes/subtract-hours.js +1 -0
  175. package/dist/blz-rds/commands/datetimes/subtract-milliseconds.d.ts +2 -0
  176. package/dist/blz-rds/commands/datetimes/subtract-milliseconds.js +1 -0
  177. package/dist/blz-rds/commands/datetimes/subtract-minutes.d.ts +2 -0
  178. package/dist/blz-rds/commands/datetimes/subtract-minutes.js +1 -0
  179. package/dist/blz-rds/commands/datetimes/subtract-seconds.d.ts +2 -0
  180. package/dist/blz-rds/commands/datetimes/subtract-seconds.js +1 -0
  181. package/dist/blz-rds/commands/datetimes/time-diff.d.ts +2 -0
  182. package/dist/blz-rds/commands/datetimes/time-diff.js +1 -0
  183. package/dist/blz-rds/commands/datetimes/time.d.ts +2 -0
  184. package/dist/blz-rds/commands/datetimes/time.js +1 -0
  185. package/dist/blz-rds/commands/datetimes/today.d.ts +2 -0
  186. package/dist/blz-rds/commands/datetimes/today.js +1 -0
  187. package/dist/blz-rds/commands/datetimes/week-day-text.d.ts +2 -0
  188. package/dist/blz-rds/commands/datetimes/week-day-text.js +1 -0
  189. package/dist/blz-rds/commands/datetimes/week-day.d.ts +2 -0
  190. package/dist/blz-rds/commands/datetimes/week-day.js +1 -0
  191. package/dist/blz-rds/commands/datetimes/week.d.ts +2 -0
  192. package/dist/blz-rds/commands/datetimes/week.js +1 -0
  193. package/dist/blz-rds/commands/datetimes/year.d.ts +2 -0
  194. package/dist/blz-rds/commands/datetimes/year.js +1 -0
  195. package/dist/blz-rds/commands/math/abs.d.ts +2 -0
  196. package/dist/blz-rds/commands/math/abs.js +1 -0
  197. package/dist/blz-rds/commands/math/acos.d.ts +2 -0
  198. package/dist/blz-rds/commands/math/acos.js +1 -0
  199. package/dist/blz-rds/commands/math/asin.d.ts +2 -0
  200. package/dist/blz-rds/commands/math/asin.js +1 -0
  201. package/dist/blz-rds/commands/math/atan.d.ts +2 -0
  202. package/dist/blz-rds/commands/math/atan.js +1 -0
  203. package/dist/blz-rds/commands/math/atan2.d.ts +2 -0
  204. package/dist/blz-rds/commands/math/atan2.js +1 -0
  205. package/dist/blz-rds/commands/math/ceil.d.ts +2 -0
  206. package/dist/blz-rds/commands/math/ceil.js +1 -0
  207. package/dist/blz-rds/commands/math/cos.d.ts +2 -0
  208. package/dist/blz-rds/commands/math/cos.js +1 -0
  209. package/dist/blz-rds/commands/math/cosh.d.ts +2 -0
  210. package/dist/blz-rds/commands/math/cosh.js +1 -0
  211. package/dist/blz-rds/commands/math/exp.d.ts +2 -0
  212. package/dist/blz-rds/commands/math/exp.js +1 -0
  213. package/dist/blz-rds/commands/math/floor.d.ts +2 -0
  214. package/dist/blz-rds/commands/math/floor.js +1 -0
  215. package/dist/blz-rds/commands/math/log.d.ts +2 -0
  216. package/dist/blz-rds/commands/math/log.js +1 -0
  217. package/dist/blz-rds/commands/math/log10.d.ts +2 -0
  218. package/dist/blz-rds/commands/math/log10.js +1 -0
  219. package/dist/blz-rds/commands/math/pow.d.ts +2 -0
  220. package/dist/blz-rds/commands/math/pow.js +1 -0
  221. package/dist/blz-rds/commands/math/random.d.ts +2 -0
  222. package/dist/blz-rds/commands/math/random.js +1 -0
  223. package/dist/blz-rds/commands/math/round.d.ts +2 -0
  224. package/dist/blz-rds/commands/math/round.js +1 -0
  225. package/dist/blz-rds/commands/math/sign.d.ts +2 -0
  226. package/dist/blz-rds/commands/math/sign.js +1 -0
  227. package/dist/blz-rds/commands/math/sin.d.ts +2 -0
  228. package/dist/blz-rds/commands/math/sin.js +1 -0
  229. package/dist/blz-rds/commands/math/sinh.d.ts +2 -0
  230. package/dist/blz-rds/commands/math/sinh.js +1 -0
  231. package/dist/blz-rds/commands/math/sqrt.d.ts +2 -0
  232. package/dist/blz-rds/commands/math/sqrt.js +1 -0
  233. package/dist/blz-rds/commands/math/tan.d.ts +2 -0
  234. package/dist/blz-rds/commands/math/tan.js +1 -0
  235. package/dist/blz-rds/commands/math/tanh.d.ts +2 -0
  236. package/dist/blz-rds/commands/math/tanh.js +1 -0
  237. package/dist/blz-rds/commands/math/trunc.d.ts +2 -0
  238. package/dist/blz-rds/commands/math/trunc.js +1 -0
  239. package/dist/blz-rds/commands/strings/concat.d.ts +2 -0
  240. package/dist/blz-rds/commands/strings/concat.js +1 -0
  241. package/dist/blz-rds/commands/strings/contains.d.ts +3 -0
  242. package/dist/blz-rds/commands/strings/contains.js +1 -0
  243. package/dist/blz-rds/commands/strings/ends-with.d.ts +3 -0
  244. package/dist/blz-rds/commands/strings/ends-with.js +1 -0
  245. package/dist/blz-rds/commands/strings/index-of.d.ts +2 -0
  246. package/dist/blz-rds/commands/strings/index-of.js +1 -0
  247. package/dist/blz-rds/commands/strings/is-null-or-empty.d.ts +3 -0
  248. package/dist/blz-rds/commands/strings/is-null-or-empty.js +1 -0
  249. package/dist/blz-rds/commands/strings/is-null-or-white-space.d.ts +3 -0
  250. package/dist/blz-rds/commands/strings/is-null-or-white-space.js +1 -0
  251. package/dist/blz-rds/commands/strings/join.d.ts +2 -0
  252. package/dist/blz-rds/commands/strings/join.js +1 -0
  253. package/dist/blz-rds/commands/strings/last-index-of.d.ts +2 -0
  254. package/dist/blz-rds/commands/strings/last-index-of.js +1 -0
  255. package/dist/blz-rds/commands/strings/length.d.ts +2 -0
  256. package/dist/blz-rds/commands/strings/length.js +1 -0
  257. package/dist/blz-rds/commands/strings/pad-left.d.ts +2 -0
  258. package/dist/blz-rds/commands/strings/pad-left.js +1 -0
  259. package/dist/blz-rds/commands/strings/pad-right.d.ts +2 -0
  260. package/dist/blz-rds/commands/strings/pad-right.js +1 -0
  261. package/dist/blz-rds/commands/strings/replace.d.ts +2 -0
  262. package/dist/blz-rds/commands/strings/replace.js +1 -0
  263. package/dist/blz-rds/commands/strings/starts-with.d.ts +3 -0
  264. package/dist/blz-rds/commands/strings/starts-with.js +1 -0
  265. package/dist/blz-rds/commands/strings/substring.d.ts +2 -0
  266. package/dist/blz-rds/commands/strings/substring.js +1 -0
  267. package/dist/blz-rds/commands/strings/to-lower.d.ts +2 -0
  268. package/dist/blz-rds/commands/strings/to-lower.js +1 -0
  269. package/dist/blz-rds/commands/strings/to-upper.d.ts +2 -0
  270. package/dist/blz-rds/commands/strings/to-upper.js +1 -0
  271. package/dist/blz-rds/commands/strings/trim-end.d.ts +2 -0
  272. package/dist/blz-rds/commands/strings/trim-end.js +1 -0
  273. package/dist/blz-rds/commands/strings/trim-start.d.ts +2 -0
  274. package/dist/blz-rds/commands/strings/trim-start.js +1 -0
  275. package/dist/blz-rds/commands/strings/trim.d.ts +2 -0
  276. package/dist/blz-rds/commands/strings/trim.js +1 -0
  277. package/dist/blz-rds/index.d.ts +53 -0
  278. package/dist/blz-rds/index.js +1 -0
  279. package/dist/blz-rds-mysql/base.d.ts +83 -0
  280. package/dist/blz-rds-mysql/base.js +1 -0
  281. package/dist/blz-rds-mysql/connection-manager.d.ts +8 -0
  282. package/dist/blz-rds-mysql/connection-manager.js +1 -0
  283. package/dist/blz-rds-mysql/execute-bulk-insert.d.ts +2 -0
  284. package/dist/blz-rds-mysql/execute-bulk-insert.js +1 -0
  285. package/dist/blz-rds-mysql/execute-bulk-merge.d.ts +2 -0
  286. package/dist/blz-rds-mysql/execute-bulk-merge.js +1 -0
  287. package/dist/blz-rds-mysql/execute-non-query.d.ts +14 -0
  288. package/dist/blz-rds-mysql/execute-non-query.js +1 -0
  289. package/dist/blz-rds-mysql/execute-query.d.ts +11 -0
  290. package/dist/blz-rds-mysql/execute-query.js +1 -0
  291. package/dist/blz-rds-mysql/index.d.ts +9 -0
  292. package/dist/blz-rds-mysql/index.js +1 -0
  293. package/dist/blz-rds-mysql/stored-procedure.d.ts +19 -0
  294. package/dist/blz-rds-mysql/stored-procedure.js +1 -0
  295. package/dist/blz-rds-mysqlx/base.d.ts +83 -0
  296. package/dist/blz-rds-mysqlx/base.js +1 -0
  297. package/dist/blz-rds-mysqlx/connection-manager.d.ts +6 -0
  298. package/dist/blz-rds-mysqlx/connection-manager.js +1 -0
  299. package/dist/blz-rds-mysqlx/execute-bulk-insert.d.ts +2 -0
  300. package/dist/blz-rds-mysqlx/execute-bulk-insert.js +1 -0
  301. package/dist/blz-rds-mysqlx/execute-bulk-merge.d.ts +2 -0
  302. package/dist/blz-rds-mysqlx/execute-bulk-merge.js +1 -0
  303. package/dist/blz-rds-mysqlx/execute-non-query.d.ts +4 -0
  304. package/dist/blz-rds-mysqlx/execute-non-query.js +1 -0
  305. package/dist/blz-rds-mysqlx/execute-query.d.ts +7 -0
  306. package/dist/blz-rds-mysqlx/execute-query.js +1 -0
  307. package/dist/blz-rds-mysqlx/index.d.ts +9 -0
  308. package/dist/blz-rds-mysqlx/index.js +1 -0
  309. package/dist/blz-rds-mysqlx/stored-procedure.d.ts +20 -0
  310. package/dist/blz-rds-mysqlx/stored-procedure.js +1 -0
  311. package/dist/blz-rds-oracle/index.d.ts +25 -0
  312. package/dist/blz-rds-oracle/index.js +1 -0
  313. package/dist/blz-rds-postgres/base.d.ts +94 -0
  314. package/dist/blz-rds-postgres/base.js +1 -0
  315. package/dist/blz-rds-postgres/connection-manager.d.ts +6 -0
  316. package/dist/blz-rds-postgres/connection-manager.js +1 -0
  317. package/dist/blz-rds-postgres/execute-bulk-insert.d.ts +5 -0
  318. package/dist/blz-rds-postgres/execute-bulk-insert.js +1 -0
  319. package/dist/blz-rds-postgres/execute-bulk-merge.d.ts +4 -0
  320. package/dist/blz-rds-postgres/execute-bulk-merge.js +1 -0
  321. package/dist/blz-rds-postgres/execute-non-query.d.ts +12 -0
  322. package/dist/blz-rds-postgres/execute-non-query.js +1 -0
  323. package/dist/blz-rds-postgres/execute-query.d.ts +4 -0
  324. package/dist/blz-rds-postgres/execute-query.js +1 -0
  325. package/dist/blz-rds-postgres/index.d.ts +9 -0
  326. package/dist/blz-rds-postgres/index.js +1 -0
  327. package/dist/blz-rds-postgres/result-set.js +1 -0
  328. package/dist/blz-rds-postgres/stored-procedure.d.ts +19 -0
  329. package/dist/blz-rds-postgres/stored-procedure.js +1 -0
  330. package/dist/blz-redis/index.d.ts +31 -0
  331. package/dist/blz-redis/index.js +1 -0
  332. package/dist/blz-redis/lib/redisCache.d.ts +33 -0
  333. package/dist/blz-redis/lib/redisCache.js +1 -0
  334. package/dist/blz-regex/index.d.ts +3 -0
  335. package/dist/blz-regex/index.js +1 -0
  336. package/dist/blz-security/__test__/autorization.test.js +1 -0
  337. package/dist/blz-security/__test__/autorizationKpn.test.js +1 -0
  338. package/dist/blz-security/__test__/orderManagement.test.js +1 -0
  339. package/dist/blz-security/__test__/secureUrl.test.js +1 -0
  340. package/dist/blz-security/__test__/solveMergeRule.test.js +1 -0
  341. package/dist/blz-security/__test__/sqlInjectionGuard.test.js +1 -0
  342. package/dist/blz-security/__test__/xssGuard.test.js +1 -0
  343. package/dist/blz-security/authorizationService.d.ts +42 -0
  344. package/dist/blz-security/authorizationService.js +2 -0
  345. package/dist/blz-security/config/global.js +1 -0
  346. package/dist/blz-security/filescanner/index.d.ts +24 -0
  347. package/dist/blz-security/filescanner/index.js +1 -0
  348. package/dist/blz-security/helpers/consts.d.ts +28 -0
  349. package/dist/blz-security/helpers/consts.js +1 -0
  350. package/dist/blz-security/helpers/utils.d.ts +82 -0
  351. package/dist/blz-security/helpers/utils.js +1 -0
  352. package/dist/blz-security/implementations/cache.d.ts +58 -0
  353. package/dist/blz-security/implementations/cache.js +1 -0
  354. package/dist/blz-security/implementations/oidc.d.ts +100 -0
  355. package/dist/blz-security/implementations/oidc.js +1 -0
  356. package/dist/blz-security/implementations/pkceCacheStore.d.ts +2 -0
  357. package/dist/blz-security/implementations/pkceCacheStore.js +1 -0
  358. package/dist/blz-security/implementations/saml.js +1 -0
  359. package/dist/blz-security/implementations/uma.d.ts +31 -0
  360. package/dist/blz-security/implementations/uma.js +1 -0
  361. package/dist/blz-security/implementations/webAuthn.js +1 -0
  362. package/dist/blz-security/implementations/wstg.js +1 -0
  363. package/dist/blz-security/index.d.ts +4 -0
  364. package/dist/blz-security/index.js +2 -0
  365. package/dist/blz-security/lab/index.js +1 -0
  366. package/dist/blz-security/middleware/HapiServerAzureAd.d.ts +26 -0
  367. package/dist/blz-security/middleware/HapiServerAzureAd.js +1 -0
  368. package/dist/blz-security/middleware/HapiServerKeycloak.d.ts +47 -0
  369. package/dist/blz-security/middleware/HapiServerKeycloak.js +1 -0
  370. package/dist/blz-security/middleware/HapiServerSimToken.d.ts +13 -0
  371. package/dist/blz-security/middleware/HapiServerSimToken.js +1 -0
  372. package/dist/blz-security/middleware/hapi.d.ts +14 -0
  373. package/dist/blz-security/middleware/hapi.js +1 -0
  374. package/dist/blz-security/middleware/hapiServer.js +1 -0
  375. package/dist/blz-security/navigationMemoryRepository.d.ts +6 -0
  376. package/dist/blz-security/navigationMemoryRepository.js +1 -0
  377. package/dist/blz-security/navigationMongoDbRepository.d.ts +15 -0
  378. package/dist/blz-security/navigationMongoDbRepository.js +1 -0
  379. package/dist/blz-security/secureUrlService.d.ts +7 -0
  380. package/dist/blz-security/secureUrlService.js +1 -0
  381. package/dist/blz-security/securityService.d.ts +72 -0
  382. package/dist/blz-security/securityService.js +1 -0
  383. package/dist/blz-security/sqlInjectionGuard.d.ts +37 -0
  384. package/dist/blz-security/sqlInjectionGuard.js +1 -0
  385. package/dist/blz-security/xssGuard.d.ts +14 -0
  386. package/dist/blz-security/xssGuard.js +1 -0
  387. package/dist/blz-strings/index.d.ts +42 -0
  388. package/dist/blz-strings/index.js +1 -0
  389. package/dist/blz-uuid/index.d.ts +1 -0
  390. package/dist/blz-uuid/index.js +1 -0
  391. package/dist/blz-yaml/index.d.ts +2 -0
  392. package/dist/blz-yaml/index.js +1 -0
  393. package/dist/index.d.ts +34 -0
  394. package/dist/index.js +1 -0
  395. package/dist/process-managers/index.d.ts +25 -0
  396. package/dist/process-managers/index.js +1 -0
  397. package/package.json +53 -42
  398. package/blz-base/health/index.js +0 -215
  399. package/blz-base/index.js +0 -1466
  400. package/blz-cache/LruCache.js +0 -44
  401. package/blz-cache/index.js +0 -29
  402. package/blz-config/index.js +0 -434
  403. package/blz-core/index.js +0 -364
  404. package/blz-cryptography/index.js +0 -54
  405. package/blz-datetimes/index.js +0 -356
  406. package/blz-file/example.dat +0 -2545
  407. package/blz-file/fileService.js +0 -205
  408. package/blz-file/index.js +0 -94
  409. package/blz-file/index.test.js +0 -31
  410. package/blz-file/lab.js +0 -33
  411. package/blz-hazelcast/index.js +0 -189
  412. package/blz-hazelcast/lib/credentials.js +0 -25
  413. package/blz-hazelcast/lib/credentialsFactory.js +0 -12
  414. package/blz-hazelcast/lib/hazelcastCache.js +0 -234
  415. package/blz-iterable/index.js +0 -446
  416. package/blz-json-schema/index.js +0 -11
  417. package/blz-jwt/index.js +0 -121
  418. package/blz-kafka/index.js +0 -522
  419. package/blz-math/index.js +0 -131
  420. package/blz-mongodb/index.js +0 -326
  421. package/blz-rds/__test__/scape.test.js +0 -58
  422. package/blz-rds/blz-rds-executor.js +0 -578
  423. package/blz-rds/blz-rds-helper.js +0 -310
  424. package/blz-rds/commands/core/add.js +0 -13
  425. package/blz-rds/commands/core/and.js +0 -18
  426. package/blz-rds/commands/core/asc.js +0 -10
  427. package/blz-rds/commands/core/avg.js +0 -10
  428. package/blz-rds/commands/core/column-ref.js +0 -8
  429. package/blz-rds/commands/core/count-distinct.js +0 -10
  430. package/blz-rds/commands/core/count.js +0 -10
  431. package/blz-rds/commands/core/decimal.js +0 -8
  432. package/blz-rds/commands/core/desc.js +0 -10
  433. package/blz-rds/commands/core/distinct.js +0 -10
  434. package/blz-rds/commands/core/divide.js +0 -11
  435. package/blz-rds/commands/core/embedded-exists.js +0 -17
  436. package/blz-rds/commands/core/embedded-select.js +0 -17
  437. package/blz-rds/commands/core/equals.js +0 -9
  438. package/blz-rds/commands/core/false.js +0 -8
  439. package/blz-rds/commands/core/greater-or-equal.js +0 -9
  440. package/blz-rds/commands/core/greater.js +0 -9
  441. package/blz-rds/commands/core/in.js +0 -9
  442. package/blz-rds/commands/core/integer.js +0 -8
  443. package/blz-rds/commands/core/is-not-null.js +0 -11
  444. package/blz-rds/commands/core/is-null-or-value.js +0 -10
  445. package/blz-rds/commands/core/is-null.js +0 -11
  446. package/blz-rds/commands/core/less-or-equal.js +0 -9
  447. package/blz-rds/commands/core/less-unary.js +0 -12
  448. package/blz-rds/commands/core/less.js +0 -9
  449. package/blz-rds/commands/core/like.js +0 -12
  450. package/blz-rds/commands/core/max.js +0 -10
  451. package/blz-rds/commands/core/min.js +0 -10
  452. package/blz-rds/commands/core/multiply.js +0 -13
  453. package/blz-rds/commands/core/not-equals.js +0 -9
  454. package/blz-rds/commands/core/not-in.js +0 -9
  455. package/blz-rds/commands/core/not.js +0 -13
  456. package/blz-rds/commands/core/null.js +0 -8
  457. package/blz-rds/commands/core/nvl.js +0 -11
  458. package/blz-rds/commands/core/or.js +0 -13
  459. package/blz-rds/commands/core/parameter.js +0 -34
  460. package/blz-rds/commands/core/remainder.js +0 -16
  461. package/blz-rds/commands/core/string.js +0 -8
  462. package/blz-rds/commands/core/subtract.js +0 -13
  463. package/blz-rds/commands/core/sum.js +0 -10
  464. package/blz-rds/commands/core/true.js +0 -8
  465. package/blz-rds/commands/core/tuple.js +0 -13
  466. package/blz-rds/commands/datetimes/add-days.js +0 -11
  467. package/blz-rds/commands/datetimes/add-hours.js +0 -11
  468. package/blz-rds/commands/datetimes/add-milliseconds.js +0 -11
  469. package/blz-rds/commands/datetimes/add-minutes.js +0 -11
  470. package/blz-rds/commands/datetimes/add-months.js +0 -11
  471. package/blz-rds/commands/datetimes/add-seconds.js +0 -11
  472. package/blz-rds/commands/datetimes/add-years.js +0 -11
  473. package/blz-rds/commands/datetimes/date-diff.js +0 -11
  474. package/blz-rds/commands/datetimes/date.js +0 -12
  475. package/blz-rds/commands/datetimes/datetime-diff.js +0 -11
  476. package/blz-rds/commands/datetimes/datetime.js +0 -15
  477. package/blz-rds/commands/datetimes/day.js +0 -10
  478. package/blz-rds/commands/datetimes/hour.js +0 -10
  479. package/blz-rds/commands/datetimes/millisecond.js +0 -10
  480. package/blz-rds/commands/datetimes/minute.js +0 -10
  481. package/blz-rds/commands/datetimes/month-text.js +0 -10
  482. package/blz-rds/commands/datetimes/month.js +0 -10
  483. package/blz-rds/commands/datetimes/now.js +0 -9
  484. package/blz-rds/commands/datetimes/second.js +0 -10
  485. package/blz-rds/commands/datetimes/subtract-days.js +0 -11
  486. package/blz-rds/commands/datetimes/subtract-hours.js +0 -11
  487. package/blz-rds/commands/datetimes/subtract-milliseconds.js +0 -11
  488. package/blz-rds/commands/datetimes/subtract-minutes.js +0 -11
  489. package/blz-rds/commands/datetimes/subtract-seconds.js +0 -11
  490. package/blz-rds/commands/datetimes/time-diff.js +0 -11
  491. package/blz-rds/commands/datetimes/time.js +0 -13
  492. package/blz-rds/commands/datetimes/today.js +0 -9
  493. package/blz-rds/commands/datetimes/week-day-text.js +0 -10
  494. package/blz-rds/commands/datetimes/week-day.js +0 -10
  495. package/blz-rds/commands/datetimes/week.js +0 -10
  496. package/blz-rds/commands/datetimes/year.js +0 -10
  497. package/blz-rds/commands/math/abs.js +0 -10
  498. package/blz-rds/commands/math/acos.js +0 -10
  499. package/blz-rds/commands/math/asin.js +0 -10
  500. package/blz-rds/commands/math/atan.js +0 -10
  501. package/blz-rds/commands/math/atan2.js +0 -11
  502. package/blz-rds/commands/math/ceil.js +0 -10
  503. package/blz-rds/commands/math/cos.js +0 -10
  504. package/blz-rds/commands/math/cosh.js +0 -10
  505. package/blz-rds/commands/math/exp.js +0 -10
  506. package/blz-rds/commands/math/floor.js +0 -10
  507. package/blz-rds/commands/math/log.js +0 -18
  508. package/blz-rds/commands/math/log10.js +0 -10
  509. package/blz-rds/commands/math/pow.js +0 -11
  510. package/blz-rds/commands/math/random.js +0 -9
  511. package/blz-rds/commands/math/round.js +0 -18
  512. package/blz-rds/commands/math/sign.js +0 -10
  513. package/blz-rds/commands/math/sin.js +0 -10
  514. package/blz-rds/commands/math/sinh.js +0 -10
  515. package/blz-rds/commands/math/sqrt.js +0 -10
  516. package/blz-rds/commands/math/tan.js +0 -10
  517. package/blz-rds/commands/math/tanh.js +0 -10
  518. package/blz-rds/commands/math/trunc.js +0 -18
  519. package/blz-rds/commands/strings/concat.js +0 -20
  520. package/blz-rds/commands/strings/contains.js +0 -12
  521. package/blz-rds/commands/strings/ends-with.js +0 -12
  522. package/blz-rds/commands/strings/index-of.js +0 -11
  523. package/blz-rds/commands/strings/is-null-or-empty.js +0 -11
  524. package/blz-rds/commands/strings/is-null-or-white-space.js +0 -11
  525. package/blz-rds/commands/strings/join.js +0 -22
  526. package/blz-rds/commands/strings/last-index-of.js +0 -11
  527. package/blz-rds/commands/strings/length.js +0 -10
  528. package/blz-rds/commands/strings/pad-left.js +0 -20
  529. package/blz-rds/commands/strings/pad-right.js +0 -20
  530. package/blz-rds/commands/strings/replace.js +0 -12
  531. package/blz-rds/commands/strings/starts-with.js +0 -12
  532. package/blz-rds/commands/strings/substring.js +0 -12
  533. package/blz-rds/commands/strings/to-lower.js +0 -10
  534. package/blz-rds/commands/strings/to-upper.js +0 -10
  535. package/blz-rds/commands/strings/trim-end.js +0 -10
  536. package/blz-rds/commands/strings/trim-start.js +0 -10
  537. package/blz-rds/commands/strings/trim.js +0 -10
  538. package/blz-rds/index.js +0 -744
  539. package/blz-rds-mysql/base.js +0 -857
  540. package/blz-rds-mysql/connection-manager.js +0 -129
  541. package/blz-rds-mysql/execute-bulk-insert.js +0 -35
  542. package/blz-rds-mysql/execute-bulk-merge.js +0 -45
  543. package/blz-rds-mysql/execute-non-query.js +0 -34
  544. package/blz-rds-mysql/execute-query.js +0 -50
  545. package/blz-rds-mysql/index.js +0 -41
  546. package/blz-rds-mysql/stored-procedure.js +0 -207
  547. package/blz-rds-mysqlx/base.js +0 -846
  548. package/blz-rds-mysqlx/connection-manager.js +0 -141
  549. package/blz-rds-mysqlx/execute-bulk-insert.js +0 -35
  550. package/blz-rds-mysqlx/execute-bulk-merge.js +0 -45
  551. package/blz-rds-mysqlx/execute-non-query.js +0 -29
  552. package/blz-rds-mysqlx/execute-query.js +0 -39
  553. package/blz-rds-mysqlx/index.js +0 -41
  554. package/blz-rds-mysqlx/stored-procedure.js +0 -179
  555. package/blz-rds-oracle/index.js +0 -539
  556. package/blz-rds-postgres/base.js +0 -861
  557. package/blz-rds-postgres/connection-manager.js +0 -225
  558. package/blz-rds-postgres/execute-bulk-insert.js +0 -81
  559. package/blz-rds-postgres/execute-bulk-merge.js +0 -93
  560. package/blz-rds-postgres/execute-non-query.js +0 -23
  561. package/blz-rds-postgres/execute-query.js +0 -37
  562. package/blz-rds-postgres/index.js +0 -41
  563. package/blz-rds-postgres/result-set.js +0 -51
  564. package/blz-rds-postgres/stored-procedure.js +0 -116
  565. package/blz-redis/index.js +0 -217
  566. package/blz-redis/lib/redisCache.js +0 -265
  567. package/blz-regex/index.js +0 -25
  568. package/blz-security/.eslintrc.js +0 -15
  569. package/blz-security/__test__/AuthorizationKpn.yaml +0 -1149
  570. package/blz-security/__test__/FinancingSetting.yaml +0 -177
  571. package/blz-security/__test__/KpnConfigPortal.yaml +0 -330
  572. package/blz-security/__test__/OrderManagement.yaml +0 -5190
  573. package/blz-security/__test__/Security.yaml +0 -128
  574. package/blz-security/__test__/autorization.test.js +0 -105
  575. package/blz-security/__test__/autorizationKpn.test.js +0 -42
  576. package/blz-security/__test__/orderManagement.test.js +0 -26
  577. package/blz-security/__test__/secureUrl.test.js +0 -79
  578. package/blz-security/__test__/solveMergeRule.test.js +0 -109
  579. package/blz-security/__test__/sqlInjectionGuard.test.js +0 -203
  580. package/blz-security/__test__/xssGuard.test.js +0 -204
  581. package/blz-security/authorizationService.js +0 -537
  582. package/blz-security/config/global.js +0 -8
  583. package/blz-security/config/welcome +0 -8
  584. package/blz-security/doc/README.md +0 -75
  585. package/blz-security/filescanner/index.js +0 -46
  586. package/blz-security/helpers/consts.js +0 -229
  587. package/blz-security/helpers/utils.js +0 -267
  588. package/blz-security/implementations/cache.js +0 -90
  589. package/blz-security/implementations/oidc.js +0 -404
  590. package/blz-security/implementations/pkceCacheStore.js +0 -23
  591. package/blz-security/implementations/saml.js +0 -10
  592. package/blz-security/implementations/uma.js +0 -63
  593. package/blz-security/implementations/webAuthn.js +0 -9
  594. package/blz-security/implementations/wstg.js +0 -72
  595. package/blz-security/index.js +0 -77
  596. package/blz-security/lab/index.js +0 -43
  597. package/blz-security/middleware/HapiServerAzureAd.js +0 -681
  598. package/blz-security/middleware/HapiServerKeycloak.js +0 -876
  599. package/blz-security/middleware/HapiServerSimToken.js +0 -286
  600. package/blz-security/middleware/hapi.js +0 -555
  601. package/blz-security/middleware/hapiServer.js +0 -1008
  602. package/blz-security/navigationMemoryRepository.js +0 -15
  603. package/blz-security/navigationMongoDbRepository.js +0 -73
  604. package/blz-security/secureUrlService.js +0 -47
  605. package/blz-security/securityService.js +0 -413
  606. package/blz-security/sqlInjectionGuard.js +0 -162
  607. package/blz-security/templates/forbidden.html +0 -0
  608. package/blz-security/templates/session-iframe-azure-ad.html +0 -7
  609. package/blz-security/templates/session-iframe.html +0 -73
  610. package/blz-security/templates/unauthorized.html +0 -1
  611. package/blz-security/xssGuard.js +0 -87
  612. package/blz-strings/index.js +0 -167
  613. package/blz-uuid/index.js +0 -7
  614. package/blz-yaml/index.js +0 -19
  615. package/index.js +0 -84
  616. package/process-managers/index.js +0 -422
  617. /package/{blz-rds-mysql → dist/blz-rds-mysql}/syntaxis.json +0 -0
  618. /package/{blz-rds-mysqlx → dist/blz-rds-mysqlx}/syntaxis.json +0 -0
  619. /package/{blz-rds-oracle → dist/blz-rds-oracle}/syntaxis.json +0 -0
  620. /package/{blz-rds-postgres → dist/blz-rds-postgres}/syntaxis.json +0 -0
  621. /package/{blz-security → dist/blz-security}/lab/ConfigurationAdmin.agent.json +0 -0
  622. /package/{blz-security → dist/blz-security}/lab/frontend.json +0 -0
  623. /package/{blz-security → dist/blz-security}/lab/result.json +0 -0
  624. /package/{blz-security → dist/blz-security}/lab/resultOnWeb.json +0 -0
  625. /package/{blz-security → dist/blz-security}/lab/rules.json +0 -0
  626. /package/{blz-security → dist/blz-security}/lab/securityRules.json +0 -0
package/README.md CHANGED
@@ -11,5 +11,8 @@ npm login
11
11
  Publish:
12
12
 
13
13
  ```sh
14
- npm publish
14
+ npm version patch
15
+ npm run build
16
+ npm pack --dry-run
17
+ npm publish --access public
15
18
  ```
@@ -0,0 +1 @@
1
+ export function getHealthStatus(_buildSystem: any, _connections: any): Promise<{}>;
@@ -0,0 +1 @@
1
+ const fetch=require("node-fetch"),logger=require("pino")(),safeRequire=function(e){try{return require.resolve(e),require(e)}catch(t){if("MODULE_NOT_FOUND"===t.code){let t=e.replace(/^\.\.\//,"");return e!==t?safeRequire(t):void 0}throw t}},mongoDb=safeRequire("../../../essentials/extensions/blz-mongodb/sources-backend-nodejs/index.js")||safeRequire("../../blz-mongodb/backend/index.js"),kafka=safeRequire("../../../essentials/extensions/blz-kafka/sources-backend-nodejs/index.js")||safeRequire("../../blz-kafka/backend/index.js"),rds=safeRequire("../../../essentials/extensions/blz-rds/sources-backend-nodejs/index.js")||safeRequire("../../blz-rds/backend/index.js");async function healthCheckMicroservice(e){let t={};const a=e.healthCheckPath?new URL(healthCheckPath.healthCheckPath,e.url).toString():new URL("/blz-health-status",e.url).toString();try{const n=await fetch(a);if(n.ok){const a=await n.json();t={name:e.name,type:e.type,status:n.status,statusCode:n.statusCode,error:"-",internal:a}}else t={name:e.name,type:e.type,status:"error",error:`HTTP Error: ${n.statusText}`}}catch(a){t={name:e.name,type:e.type,status:"error",error:a.message}}return t}async function healthCheckAllPossibleUrl(e){let t=["/blz-health-status","/health","/actuator/health","/"];e.healthCheckPath&&t.unshift(e.healthCheckPath);for(const a of t){const t=new URL(a,e.url).toString();try{const e=await fetch(t);if(e.ok&&"/blz-health-status"===a){const a=await e.json();return{status:e.status,url:t,data:a}}if(e.ok&&"/health"===a)return{status:e.status,url:t,data:"Connected with /Health API. httpCode 200."};if(e.ok)return{status:e.status,url:t,data:"Connected with standard Http code 200 protocol. Endpoint: "+a}}catch(e){logger.info(e)}}return{status:"error",message:"No valid health check endpoint found"}}async function getHealthStatus(e,t){let a=e.name,n=e.type,s={};s[a]={name:a,type:"Self",status:"ok",error:"-"};const r=[];for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const s=t[e];if(s.name!==a){const e=(async()=>{switch(s.type){case"Microservice":case"ProcessEngine":return{name:s.name,result:await healthCheckMicroservice(s)};case"RestApi":return{name:s.name,result:await healthCheckAllPossibleUrl(s)};case"Mongodb":{if(!mongoDb)return{name:s.name,type:s.type,result:{name:s.name,type:s.type,error:"mongoDb module not present"}};const e=await mongoDb.mongodbConnectionHealthCheck(s);return{name:s.name,result:{name:s.name,type:s.type,...e}}}case"Kafka":{if(!kafka)return{name:s.name,type:s.type,error:"kafka module not present"};const e=await kafka.kafkaConnectionHealthCheck(s);return{name:s.name,result:{name:s.name,type:s.type,...e}}}case"RelationalDatabase":{if(!rds)return{name:s.name,type:s.type,error:"rds module not present"};const e={callStack:[],callVariables:{},currentUrl:"",description:"GET /health",systemName:a,systemType:n},t=await rds.rdsConnectionHealthCheck(s,e);return{name:s.name,result:{name:s.name,type:s.type,...t}}}default:return{name:s.name,result:{name:s.name,type:s.type,status:"Not Implemented",error:"Not Implemented"}}}})();r.push(e)}}const o=await Promise.all(r);for(const{name:e,result:t}of o)s[e]=t;return s}function assembleHealthResponseObject(e,t){return{name:e.name,type:e.type,status:t.status,statusCode:t.statusCode,error:t.error,internal:t.internal}}module.exports={getHealthStatus:getHealthStatus};
@@ -0,0 +1,108 @@
1
+ export function deepClone(obj: any): any;
2
+ export function beginTransaction(context: any, type: any): void;
3
+ export function commitTransaction(context: any, type: any): Promise<void>;
4
+ export function rollbackTransaction(context: any, type: any): Promise<void>;
5
+ export function closeTransaction(context: any, type: any): Promise<void>;
6
+ export function compare(value1: any, value2: any): any;
7
+ export function stringifyObject(obj: any, options?: {}): string;
8
+ export function checkDuplicateKeysInEnv(environmentPath: any): void;
9
+ export function normalizeConfig(config?: {}): void;
10
+ export function safeRequire(path: any): any;
11
+ import { getHealthStatus } from "./health/index";
12
+ export declare function setMetadata(metadata: any): void;
13
+ export declare function getMetadataItem(metadataItemName: any): any;
14
+ export declare function getConnection(connectionName: any): any;
15
+ export declare function setConnections(connections: any): void;
16
+ export declare function getConfigParameterValue(configParameterName: any): any;
17
+ export declare function setConfigParameters(configParameters: any): void;
18
+ export declare function setTransformations(transformations: any): void;
19
+ export declare function transform(callContext: any, transformationName: any, source: any, writer: any): Promise<any>;
20
+ export declare function writer(callContext: any, functionName: any, extraArgs: any): {
21
+ isWriter: boolean;
22
+ fn: any;
23
+ extraArgs: any;
24
+ write: (callContext: any, obj: any) => Promise<any>;
25
+ };
26
+ export declare function getValue(root: any, bind: any): any;
27
+ export declare function setValue(root: any, bind: any, value: any): void;
28
+ export declare function divide(dividend: any, divisor: any): number;
29
+ export declare function remainder(dividend: any, divisor: any): number;
30
+ export declare let httpErrors: {
31
+ 400: string;
32
+ 401: string;
33
+ 402: string;
34
+ 403: string;
35
+ 404: string;
36
+ 405: string;
37
+ 406: string;
38
+ 407: string;
39
+ 408: string;
40
+ 409: string;
41
+ 410: string;
42
+ 411: string;
43
+ 412: string;
44
+ 500: string;
45
+ 501: string;
46
+ 502: string;
47
+ 503: string;
48
+ 504: string;
49
+ 524: string;
50
+ };
51
+ export declare namespace httpStatuses {
52
+ let BadRequest: number;
53
+ let Unauthorized: number;
54
+ let PaymentRequired: number;
55
+ let Forbidden: number;
56
+ let NotFound: number;
57
+ let MethodNotAllowed: number;
58
+ let NotAcceptable: number;
59
+ let ProxyAuthenticationRequired: number;
60
+ let RequestTimeout: number;
61
+ let Conflict: number;
62
+ let Gone: number;
63
+ let LengthRequired: number;
64
+ let PreconditionFailed: number;
65
+ let InternalServerError: number;
66
+ let NotImplemented: number;
67
+ let BadGateway: number;
68
+ let ServiceUnavailable: number;
69
+ let GatewayTimeout: number;
70
+ let Timeout: number;
71
+ }
72
+ export declare function getHttpStatus(err: any): any;
73
+ export declare function httpCall(httpRequest: any): Promise<{
74
+ status: any;
75
+ body: any;
76
+ }>;
77
+ export declare function internalCall(callContext: any, functionName: any, args: any): Promise<any>;
78
+ export declare function externalCall(callContext: any, connection: any, functionName: any, values: any): Promise<any>;
79
+ export declare function error(code: any, data: any, innerError: any): Error;
80
+ export declare function convertToString(value: any): any;
81
+ export declare function convertToInteger(value: any): number;
82
+ export declare function convertToDecimal(value: any): any;
83
+ export declare function convertToBoolean(value: any): any;
84
+ export declare function convertToDatetime(value: any): any;
85
+ export declare function convertToDate(value: any): Date;
86
+ export declare function convertToTime(value: any): Date;
87
+ export declare function ensureDashedFormat(str: any): string;
88
+ export declare function mapRoutingParameters(request: any, routingParameters: any): {};
89
+ export declare function decodeApiKey(request: any, apiKeyIn: any, apiKeyName: any): {
90
+ key: any;
91
+ };
92
+ export declare function decodeBasicAuth(request: any): {
93
+ user: string;
94
+ password: string;
95
+ };
96
+ export declare function decodeBearerToken(request: any): {
97
+ token: any;
98
+ };
99
+ export declare function loadResource(path: any): Promise<any>;
100
+ export declare function callRest(connection: any, restMapping: any, functionName: any, values: any, request: any, configParameters: any, callContext: any): Promise<any>;
101
+ export declare function callSoap(connection: any, soapMapping: any, functionName: any, values: any, request: any, configParameters: any, callContext: any): Promise<any>;
102
+ export declare function getFullUrl(request: any): string;
103
+ export declare function setCache(key: any, value: any, maxAge: any): void;
104
+ export declare function getCache(key: any): {};
105
+ export declare function existsPath(sourcePath: any): Promise<any>;
106
+ export declare function resolvePath(source: any): any;
107
+ export declare function readFile(filePath: any): Promise<any>;
108
+ export { getHealthStatus };
@@ -0,0 +1 @@
1
+ const _=require("underscore"),Got=require("got"),Soap=require("soap"),Fs=require("fs-extra"),Path=require("path"),Util=require("util"),{LRUCache:LRUCache}=require("lru-cache"),securityService=require("../blz-security/index"),configService=require("../blz-config/index"),jsyaml=require("js-yaml"),{getHealthStatus:getHealthStatus}=require("./health/index");let _metadata=null,_connections=null,_configParameters=null,_transformations=null,_externalRestCallId=null,_externalSoapCallId=null;class MandatoryTransactionViolation extends Error{constructor(){super("Any transaction exists over transaction stack"),this.code=this.constructor.name}}class NeverTransactionViolation extends Error{constructor(){super("A transaction exists over transaction stack"),this.code=this.constructor.name}}class StackEmptyViolation extends Error{constructor(){super("Stack transaction is empty"),this.code=this.constructor.name}}class InvalidStackViolation extends Error{constructor(){super("Invalid stack. You dont have any (valid) connection"),this.code=this.constructor.name}}function transactionsContext(e){return e.rdsTransactionContext||(e.rdsTransactionContext=[]),e.rdsTransactionContext}function checkValidTransaction(e){let t=_.last(e);if("not-supported"==t.propagationType||"never"==t.propagationType)throw new InvalidStackViolation;if(!t.connection)throw new InvalidStackViolation}function beginRequiredNew(e){_.isEmpty(e)||checkValidTransaction(e),e.push({propagationType:"requires-new",connection:Object.create(null)})}const beginRequired=function(e){if(_.isEmpty(e))e.push({propagationType:"requires-new",connection:Object.create(null)});else{checkValidTransaction(e);let t=_.last(e);e.push({propagationType:"required",connection:t.connection})}},beginNested=function(e){if(_.isEmpty(e))e.push({propagationType:"requires-new",connection:Object.create(null)});else{checkValidTransaction(e);let t=_.last(e);e.push({propagationType:"nested",connection:t.connection})}},beginNotSupported=function(e){e.push({propagationType:"not-supported",connection:null})},beginSupports=function(e){if(_.isEmpty(e))return void e.push({propagationType:"supports",connection:null});let t=_.last(e);t.connection?e.push({propagationType:"supports",connection:t.connection}):e.push({propagationType:"supports",connection:null})},beginMandatory=function(e){if(_.isEmpty(e))throw new MandatoryTransactionViolation;let t=_.last(e);if(!t.connection)throw new MandatoryTransactionViolation;e.push({propagationType:"mandatory",connection:t.connection})},beginNever=function(e){if(!_.isEmpty(e)){if(_.last(e).connection)throw new NeverTransactionViolation}e.push({propagationType:"never",connection:null})},beginTransaction=function(e,t){let r=transactionsContext(e);switch(t){case"nested":beginNested(r);break;case"never":beginNever(r);break;case"not-supported":beginNotSupported(r);break;case"mandatory":beginMandatory(r);break;case"required":beginRequired(r);break;case"requires-new":beginRequiredNew(r);break;case"supports":beginSupports(r);break;default:throw new Error(`${t} is not supported yet`)}},commitTransaction=async function(e,t){let r=transactionsContext(e);if(_.isEmpty(r))return;let n=r[r.length-1];switch(n.propagationType){case"nested":case"requires-new":for(let e in n.connection)await n.connection[e].commitTransaction()}},rollbackTransaction=async function(e,t){let r=transactionsContext(e);if(_.isEmpty(r))return;let n=r[r.length-1];switch(n.propagationType){case"nested":case"requires-new":for(let e in n.connection)await n.connection[e].rollbackTransaction()}},closeTransaction=async function(e,t){let r=transactionsContext(e);if(_.isEmpty(r))return;let n=r.pop();switch(n.propagationType){case"nested":case"never":case"not-supported":case"mandatory":case"required":case"supports":default:break;case"requires-new":for(let e in n.connection)await n.connection[e].close()}},tryParse=function(e,t=null){try{return e&&"string"==typeof e?JSON.parse(e):t}catch(e){return t}},compare=function(e,t){if(null===e&&null===t)return 0;if(null===e&&null!==t)return-1;if(null!==e&&null===t)return 1;let r=toString.call(e),n=toString.call(t),a=null,o=null;if("[object String]"===r&&"[object String]"===n||"[object Number]"===r&&"[object Number]"===n)a=e,o=t;else if("[object Boolean]"===r&&"[object Boolean]"===n)a=e?1:0,o=t?1:0;else if("[object Date]"===r&&"[object Date]"===n)a=e.getTime(),o=t.getTime();else if("[object Object]"===r&&"[object Object]"===n)a=JSON.stringify(e),o=JSON.stringify(t);else{if("[object Array]"===r&&"[object Array]"===n){let r=compare(e.length,t.length);if(0!==r)return r;for(let n=0;n<e.length;n++){let a=e[n],o=t[n];if(r=compare(a,o),0!==r)return r}return 0}a="[object String]"===r?e:"[object Number]"===r?e.toString():"[object Boolean]"===r?e?"1":"0":"[object Date]"===r?e.toJSON():e.toString(),o="[object String]"===n?t:"[object Number]"===n?t.toString():"[object Boolean]"===n?t?"1":"0":"[object Date]"===n?t.toJSON():t.toString()}return a===o?0:a<o?-1:a>o?1:null},convertToListOf=function(e,t){if(Array.isArray(e)){let r=[];for(let n=0;n<e.length;n++)r.push(t(e[n]));return r}return[t(e)]},convertMilliseconds=function(e){return e?(e.length<3&&(e=e.padEnd(3,"0")),e.length>3&&(e=e.substr(0,3)),Number(e)):0},simplifyName=function(e){return e.toUpperCase().replace("-","").replace("_","")},fixSoapValue=function(e){if(null!==e&&"object"==typeof e)for(let t in e){let r=e[t];isSoapNull(r)?e[t]=null:fixSoapValue(r)}},isSoapNull=function(e){return e&&e.attributes&&e.attributes["xsi:nil"]&&"true"===e.attributes["xsi:nil"]},STRINGIFY_OBJECT_DEFAULT_OPTIONS={showHidden:!0,depth:5},stringifyObject=function(e,t={}){const r={...STRINGIFY_OBJECT_DEFAULT_OPTIONS,...t};return Util.inspect(e,r)},checkDuplicateKeysInEnv=function(e){const t=Fs.readFileSync(e,"utf8").split("\n"),r=[],n=[];if(t.forEach(e=>{if(""===(e=e.trim())||e.startsWith("#"))return;const[t]=e.split("=");r.includes(t)&&n.push(t),r.push(t)}),n.length>0)throw new Error(`Error. Duplicate keys in .env file: ${JSON.stringify([...new Set(n)])}`)},normalizeConfig=function(e={}){for(const t in e.connections){const r=e.connections[t];if("Mongodb"!==r.type)continue;const n=Boolean(r.database&&r.database.trim()),a=Boolean(r.databaseName&&r.databaseName.trim()),o=n&&!a;n&&a&&(console.warn(`Warning: Your are using the old format ("blz_${t}_database") and the new format ("blz_${t}_databaseName"). We will use the new one ("blz_${t}_databaseName"). Please, consider to remove the old format to avoid confusion.`),delete r.database),o&&(console.warn(`Warning: Your are using the "blz_${t}_database" variable, but you need to use "blz_${t}_databaseName" instead. Environment variables for MongoDb databases with "blz_xxx_database" format may will disappear in the future. Please, update it.`),r.databaseName=r.database,delete r.database)}},deepClone=e=>{if("object"!=typeof e||null===e)return e;let t=Array.isArray(e)?[]:{};for(let r in e)e.hasOwnProperty(r)&&(t[r]=deepClone(e[r]));return t};let cache=new LRUCache({max:500,maxSize:5e3,ttl:108e5,sizeCalculation:(e,t)=>1});const safeRequire=function(e){try{return require.resolve(e),require(e)}catch(t){if("MODULE_NOT_FOUND"===t.code){let t=e.replace(/^\.\.\//,"");return e!==t?safeRequire(t):void 0}throw t}};module.exports={deepClone:deepClone,beginTransaction:beginTransaction,commitTransaction:commitTransaction,rollbackTransaction:rollbackTransaction,closeTransaction:closeTransaction,compare:compare,stringifyObject:stringifyObject,checkDuplicateKeysInEnv:checkDuplicateKeysInEnv,normalizeConfig:normalizeConfig,setMetadata:function(e){_metadata=e},getMetadataItem:function(e){return void 0===_metadata[e]?null:_metadata[e]},getConnection:function(e){return _connections[e]||console.log(`The connectionName: "${e}" does not seem to be defined. Please review the .env or yaml build configuration.`),_connections[e]},setConnections:function(e){_connections=e},getConfigParameterValue:function(e){return void 0===_configParameters[e]?(console.log(`The configParameter: "${e}" does not seem to be defined. Please review the .env or yaml build configuration.`),null):_configParameters[e]},setConfigParameters:function(e){_configParameters=e},setTransformations:function(e){_transformations=e},transform:async function(e,t,r,n){let a=_metadata[t],o=require(Path.join(_metadata.appPath,"../sources/",a.sourceFileName));if(r){if(r._blz_reader){let t=r;return n?await t.read(e,a.sourceCodePaths,async function(t){return await n.write(e,await o(e,t))}):await t.read(e,a.sourceCodePaths,async function(t){return await o(e,t)})}if(Array.isArray(r)){if(n){let t=[];for(let a=0;a<r.length;a++){let i=r[a];t.push(await n.write(e,await o(e,i)))}return t}{let t=[];for(let n=0;n<r.length;n++){let a=r[n];t.push(await o(e,a))}return t}}return n?await n.write(e,o(e,r)):await o(e,r)}return null},writer:function(e,t,r){let n;try{n=require(Path.join(_metadata.appPath,"../sources/",module.exports.ensureDashedFormat(t)+".js"))}catch(e){throw this.error("InvalidFunction",{functionName:t})}return{isWriter:!0,fn:n,extraArgs:r,write:async function(e,t){return this.extraArgs?await this.fn(e,t,...this.extraArgs):await this.fn(e,t)}}},getValue:function(e,t){if(null===e)return null;if(t||0===t){let r=toString.call(e);if("[object Object]"===r||"[object Error]"===r){let r=t.split("."),n=e;for(let e=0;e<r.length;e++){let t=r[e];if(null===n[t]||void 0===n[t])return null;n=n[t]}return n}return"[object Array]"===r?e[t]:null}return e},setValue:function(e,t,r){let n=t.split("."),a=e;for(let e=0;e<n.length-1;e++){let t=n[e];null!==a[t]&&void 0!==a[t]||(a[t]={}),a=a[t]}a[n[n.length-1]]=r},divide:function(e,t){if(null===t||0===t){let r=new Error;throw r.code="DivisionByZero",r.data={dividend:e,divisor:t},r}return e/t},remainder:function(e,t){if(null===t||0===t){let r=new Error;throw r.code="RemainderByZero",r.data={dividend:e,divisor:t},r}return e%t},httpErrors:{400:"BadRequest",401:"Unauthorized",402:"PaymentRequired",403:"Forbidden",404:"NotFound",405:"MethodNotAllowed",406:"NotAcceptable",407:"ProxyAuthenticationRequired",408:"RequestTimeout",409:"Conflict",410:"Gone",411:"LengthRequired",412:"PreconditionFailed",500:"InternalServerError",501:"NotImplemented",502:"BadGateway",503:"ServiceUnavailable",504:"GatewayTimeout",524:"Timeout"},httpStatuses:{BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,Timeout:524},getHttpStatus:function(e){return this.httpStatuses[e.code]},httpCall:async function(e){let t=e.url,r={method:e.method,headers:{},throwHttpErrors:!1};if("GET"!==e.method&&(r.body=e.body),e.headers)for(let t=0;t<e.headers.length;t++){let n=e.headers[t];r.headers[n.name]=n.value}t.match(/https.*/)&&(r={...r,https:{requestCert:!0,rejectUnauthorized:!1,agent:!1}});let n=await Got(t,r),a=this.httpErrors[n.statusCode];if(a){let e=new Error;e.code=a;try{e.data=JSON.parse(n.body)}catch(e){}throw e}return{status:n.statusCode,body:n.body}},internalCall:async function(e,t,r){let n=null;try{n=require(Path.join(_metadata.appPath,"../sources/",module.exports.ensureDashedFormat(t)+".js"))}catch(e){throw this.error("InvalidFunction",{functionName:t})}return r?await n(e,...r):await n(e)},externalCall:async function(e,t,r,n){if("Microservice"===t.type||"RestApi"===t.type||"ProcessEngine"===t.type){let a=_metadata._rest_mappings;return await module.exports.callRest(t,a[t.name],r,n,null,_configParameters,e)}if("SoapApi"===t.type){let a=_metadata._soap_mappings;return await module.exports.callSoap(t,a[t.name],r,n,null,_configParameters,e)}},error:function(e,t,r){let n=new Error;return n.code=e,t&&(n.data=t),r&&(n.innerError=r),n},convertToString:function(e){if(null==e)return null;let t=toString.call(e);if("[object String]"===t)return e;if("[object Number]"===t)return e.toString();if("[object Boolean]"===t)return e?"true":"false";if("[object Date]"===t)return e.toJSON();if("[object Object]"===t&&"Buffer"===e.type&&e.data)return Buffer.from(e.data).toString();if(Buffer.isBuffer(e))return e.toString();throw this.error("InvalidConversion",{value:e,targetType:"string"})},convertToInteger:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t&&!isNaN(e))return Math.round(Number(e));if("[object Number]"===t)return Math.round(e);if("[object Boolean]"===t)return e?1:0;throw this.error("InvalidConversion",{value:e,targetType:"integer"})},convertToDecimal:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t&&!isNaN(e))return Number(e);if("[object Number]"===t)return e;if("[object Boolean]"===t)return e?1:0;throw this.error("InvalidConversion",{value:e,targetType:"decimal"})},convertToBoolean:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){if("1"===e||"T"===e.toUpperCase()||"TRUE"===e.toUpperCase()||"Y"===e.toUpperCase()||"YES"===e.toUpperCase())return!0;if("0"===e||"F"===e.toUpperCase()||"FALSE"===e.toUpperCase()||"N"===e.toUpperCase()||"NO"===e.toUpperCase())return!1}if("[object Number]"===t){if(1===e)return!0;if(0===e)return!1}if("[object Boolean]"===t)return e;throw this.error("InvalidConversion",{value:e,targetType:"boolean"})},convertToDatetime:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),Number(t[4]),Number(t[5]),Number(t[6]||0),convertMilliseconds(t[7])))}if("[object Date]"===t)return e;throw this.error("InvalidConversion",{value:e,targetType:"datetime"})},convertToDate:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),0,0,0,0));let r=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(r)return new Date(Date.UTC(Number(r[1]),Number(r[2])-1,Number(r[3]),0,0,0,0))}if("[object Date]"===t)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));throw this.error("InvalidConversion",{value:e,targetType:"date"})},convertToTime:function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^(\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?$/.exec(e);if(t)return new Date(Date.UTC(1970,0,1,Number(t[1]),Number(t[2]),Number(t[3]),convertMilliseconds(t[4])));let r=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(r)return new Date(Date.UTC(1970,0,1,Number(r[4]),Number(r[5]),Number(r[6]||0),convertMilliseconds(r[7])))}if("[object Date]"===t)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));throw this.error("InvalidConversion",{value:e,targetType:"time"})},ensureDashedFormat:function(e){if(null===e)return null;let t="",r="";for(let n=0;n<e.length;n++){let a=e[n];a.match(/[0-9]/)?t+=a:r.match(/[A-Z]/)&&a.match(/[A-Z]/)?t+=a.toLowerCase():r.match(/[A-Z]/)&&a.match(/[a-z]/)?t+=a:r.match(/[a-z]/)&&a.match(/[A-Z]/)?t+="-"+a.toLowerCase():r.match(/[a-z]/)&&a.match(/[a-z]/)?t+=a:a.match(/[A-Z]/)?t+=a.toLowerCase():a.match(/[a-z]/)&&(t+=a),r=a}return t},mapRoutingParameters:function(e,t){let r={};if(t){const n=Object.keys(e.headers||{}).map(e=>[e.toLowerCase(),e]),a=Object.fromEntries(n);for(let n=0;n<t.length;n++){let o=t[n];if(o.name&&o.type)if("Path"===o.in||"Query"===o.in||"Header"===o.in){let t=null;if("Path"===o.in)e.params&&e.params[o.name]&&(t=e.params[o.name]);else if("Query"===o.in)e.query&&e.query[o.name]&&(t=e.query[o.name]);else if("Header"===o.in){const r=a[o.name.toLowerCase()],n=r&&e.headers&&e.headers[r];n&&(t=n)}t&&("string"===o.type?this.setValue(r,o.bind,this.convertToString(t)):"integer"===o.type?this.setValue(r,o.bind,this.convertToInteger(t)):"decimal"===o.type?this.setValue(r,o.bind,this.convertToDecimal(t)):"boolean"===o.type?this.setValue(r,o.bind,this.convertToBoolean(t)):"datetime"===o.type?this.setValue(r,o.bind,this.convertToDatetime(t)):"date"===o.type?this.setValue(r,o.bind,this.convertToDate(t)):"time"===o.type?this.setValue(r,o.bind,this.convertToTime(t)):"list(string)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToString)):"list(integer)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToInteger)):"list(decimal)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToDecimal)):"list(boolean)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToBoolean)):"list(datetime)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToDatetime)):"list(date)"===o.type?this.setValue(r,o.bind,convertToListOf(t,this.convertToDate)):"list(time)"===o.type&&this.setValue(r,o.bind,convertToListOf(t,this.convertToTime)))}else"Body"===o.in&&this.setValue(r,o.bind,e.payload)}}return r},decodeApiKey:function(e,t,r){switch(t){case"Header":if(e.headers){let t=e.headers[r];if(t)return{key:t}}break;case"Query":if(e.query){let t=e.query[r];if(t)return{key:t}}}return null},decodeBasicAuth:function(e){if(e.headers){let t=e.headers.authorization;if(t&&t.startsWith("Basic"))try{let e=Buffer.from(t.split(" ")[1],"base64").toString().split(":");return{user:e[0],password:e[1]}}catch(e){}}return null},decodeBearerToken:function(e){if(e.headers){let t=e.headers.authorization;if(t&&t.startsWith("Bearer"))return{token:t.split(" ")[1]}}return null},loadResource:async function(e){try{let t=await Fs.readFile(Path.join(_metadata.appPath,"../resources",e),"utf8");return e.endsWith(".json")?JSON.parse(t):e.endsWith(".yaml")||e.endsWith(".yml")?jsyaml.load(t):t}catch(e){if("ENOENT"!==e.code)throw e}let t=new Error;throw t.code="ResourceNotFound",t.data={path:e},t},callRest:async function(e,t,r,n,a,o,i){let s=t[r],l=e.url.trim(),c=l.length-1;for(;c>=0&&"/"===l[c];)c--;l=l.substring(0,c+1)+s.path;let u={method:s.method,headers:{"Content-Type":"application/json"},throwHttpErrors:!1};s.timeout&&s.timeout>0&&(u.timeout=s.timeout);var d=!0;if(s.parameters)for(let t=0;t<s.parameters.length;t++){let r=s.parameters[t],a=r.bind.split("."),o=n;for(let e=0;e<a.length;e++){let t=a[e];o&&(o=o[t])}if(null===o&&"Path"===r.in)throw new Error("Error trying to call ["+e.url+s.path+"]. The parameter ["+r.name+"] is mandatory.");if(null!=o)if("Path"===r.in)l=l.split("{"+r.name+"}").join(encodeURIComponent(this.convertToString(o)));else if("Query"===r.in)if(Array.isArray(o))for(let e=0;e<o.length;e++)l+=(d?"?":"&")+encodeURIComponent(r.name)+"="+encodeURIComponent(this.convertToString(o[e])),d=!1;else l+=(d?"?":"&")+encodeURIComponent(r.name)+"="+encodeURIComponent(this.convertToString(o)),d=!1;else"Header"===r.in?u.headers[r.name]=this.convertToString(o):"Body"===r.in&&(u.body=JSON.stringify(o))}if(s.security){let e=!1;for(let t=0;t<s.security.length;t++)if(!e){let r=s.security[t],n=!0,c=[];for(let e=0;e<r.length;e++){let t=r[e],s=null;switch(t.source){case"ConfigParameter":s=o[t.configParameterName];break;case"AccessToken":{const e=securityService.getCookieName("session_state");let t=a.state[e];t||(t=a.state.session_state);const r=await securityService.getUseToken(t,a);if(r)s=r;else{const e=securityService.getCookieName("access_token");s=a.state[e]}break}case"Cookie":s=a.state[t.cookieName];break;case"CallVariable":s=i.callVariables[t.callVariableName]}s?c.push(s):n=!1}if(n){for(let e=0;e<r.length;e++){let t=r[e],n=c[e];switch(t.securityType){case"ApiKey":switch(t.apiKeyIn){case"Query":l+=(d?"?":"&")+encodeURIComponent(t.apiKeyName)+"="+encodeURIComponent(n),d=!1;break;case"Header":u.headers[t.apiKeyName]=n}break;case"BasicAuth":u.headers.Authorization="Basic "+Buffer.from(n.user+":"+n.password,"ascii").toString("base64");break;case"BearerToken":u.headers.Authorization="Bearer "+n}}e=!0}}}securityService.validateSecureRequest(a);let p=process.env.blz_propagateAuthToken;if(p){let t=process.env.blz_propagateAuthTokenIgnoreSystems;if(!(t?t.split(","):[]).includes(e.name)){let e=null;const t=securityService.getCookieName("session_state");if(a){let r=a.state[t];if(r||(r=a.state.session_state),r){const t=await securityService.getUseToken(r,a);if(t)e=t;else{const t=securityService.getCookieName("access_token");e=a.state[t]}}else e=await securityService.extractTokenhNoDecode(a)}else e=i&&i.callVariables&&i.callVariables["CallVariable-BearerToken"]?i.callVariables["CallVariable-BearerToken"]:null;if("BearerToken"===p)/^Bearer /.test(e)?u.headers.Authorization=e:u.headers.Authorization="Bearer "+e}}l.match(/https.*/)&&(u={...u,https:{requestCert:!0,rejectUnauthorized:!1,agent:!1}});let h=Date.now();const f=(new Date).toISOString();void 0===_externalRestCallId?_externalRestCallId=1:_externalRestCallId++;const m=_externalRestCallId;"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceExternalRestCalls||console.log((i.devTime?"":f+" | ")+"EXTERNAL REST CALL ("+m+") | "+e.name+" | "+u.method+" "+l+" | HEADERS: "+JSON.stringify(u.headers)+(u.body?" | BODY: "+u.body:""));try{const t=await Got(l,u),r=Date.now()-h;"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceExternalRestCalls||console.log((i.devTime?"":f+" | ")+"EXTERNAL REST CALL ("+m+") | "+e.name+" | STATUS: "+t.statusCode+" | BODY: "+t.body+" | TIME: "+r+" milliseconds"),a&&(a.httpRequestLog={url:a.path,method:u.method,headers:Object.entries(u.headers),body:u.body,clientInfo:a.clientInfo},a.httpResponseLog={status:t.statusCode,headers:Object.entries(t.headers),body:t.body});let n=this.httpErrors[t.statusCode];if(a&&a.headers["x-navigation-info"])try{const n=a.headers["x-navigation-info"],o=await securityService.getUserInfo(a),i=configService.getConfig();securityService.pushNavigation({app:i.buildSystem.name,username:o.user_name,date:f,client:{nav:JSON.parse(Buffer.from(n,"base64").toString("utf-8")),ip:a.headers["x-forwarded-for"]||a.info.remoteAddress,userAgent:a.headers["user-agent"],lang:a.headers["accept-language"],host:a.info.host,protocol:a.headers["x-forwarded-proto"]||a.server.info.protocol,id:a.info.id},request:{traceId:m,traceStartTime:h,connection:e.name,method:a.method,path:a.path,url:l,body:u.body},response:{status:t.statusCode,body:t.body,time:r}})}catch(e){console.error("Error saving navigation in security service",e)}if(n){let e=new Error;e.code=n;try{if("production"===process.env.NODE_ENV){const r={requestUrl:l,responseStatus:t.statusCode,responseBody:tryParse(t.body,t.body)};console.log(`Handle error ${e.code}: ${r}`)}else e.data={requestUrl:l,responseStatus:t.statusCode,responseBody:tryParse(t.body,t.body)}}catch(t){console.log(`Handle error ${e.code}: ${t}`)}throw e}return tryParse(t.body,t.body)}catch(e){if("ETIMEDOUT"==e.code){let e=new Error;throw e.code="GatewayTimeout",e.data={requestUrl:l,responseStatus:this.httpStatuses.GatewayTimeout,responseBody:""},console.error(e),e}throw console.error(e),e}},callSoap:async function(e,t,r,n,a,o,i){let s=await Soap.createClientAsync(t.wsdlFileName,{endpoint:e.url});if("true"===process.env.blz_traceAll||"true"===process.env.blz_traceExternalSoapCalls){let t=null,r=null;s.on("request",function(n){void 0===_externalSoapCallId?_externalSoapCallId=1:_externalSoapCallId++,t=_externalSoapCallId,r=Date.now(),console.log((i.devTime?"":(new Date).toISOString()+" | ")+"EXTERNAL SOAP CALL ("+t+") | "+e.name+" | POST "+e.url+" | HEADERS: {} | BODY: "+n)}.bind(this)),s.on("response",function(n,a){console.log((i.devTime?"":(new Date).toISOString()+" | ")+"EXTERNAL SOAP CALL ("+t+") | "+e.name+" | STATUS: "+a.statusCode+" | BODY: "+a.body+" | TIME: "+(Date.now()-r)+" milliseconds")}.bind(this))}if(t.security){let e=null;switch(t.security.source){case"ConfigParameter":e=o[t.security.configParameterName];break;case"AccessToken":e=a.state.access_token;break;case"Cookie":e=a.state[t.security.cookieName];break;case"CallVariable":e=i.callVariables[t.security.callVariableName]}switch(t.security.securityType){case"BasicAuth":s.setSecurity(new Soap.BasicAuthSecurity(e.user,e.password));break;case"BearerToken":s.setSecurity(new Soap.BearerSecurity(e))}}let l=r+"Async";if(s[l]){let e=(await s[l](n.request))[0];return isSoapNull(e)?null:(fixSoapValue(e),e)}let c=simplifyName(l);for(let e in s)if(c===simplifyName(e)){let t=(await s[e](n.request))[0];return isSoapNull(t)?null:(fixSoapValue(t),t)}throw new Error('Soap Function "'+l+'" not recognized.')},getFullUrl(e){let{protocol:t,host:r,pathname:n}=e.url;return t=((e.headers["x-forwarded-proto"]||t).match(/[a-z]+/gim)||["https"])[0],`${t}://${e.headers["x-forwarded-host"]||r}${n}`},setCache(e,t,r){cache.set(e,t,r)},getCache:e=>cache.get(e),existsPath:async function(e){const t=this.resolvePath(e);return new Promise(e=>{Fs.access(t,t=>{e(!t)})})},resolvePath:function(e){const t=e.trim();return t.startsWith(".")?Path.join(process.cwd(),e):t.startsWith("~")?t.replace("~",process.env.HOME):e},readFile:async function(e){const t=this.resolvePath(e);return await this.existsPath(t)?new Promise((e,r)=>{Fs.readFile(t,(t,n)=>t?r(t):e(n.toString("utf8")))}):null},safeRequire:safeRequire,getHealthStatus:getHealthStatus};
@@ -0,0 +1,31 @@
1
+ export const lruCache: LruCache;
2
+ declare class LruCache {
3
+ _cache: LRUCache<{}, {}, unknown>;
4
+ /**
5
+ * @name set
6
+ * @api private
7
+ * @description Maximum age in ms.
8
+ * @param {*} key key to be cached.
9
+ * @param {*} value value to be cached.
10
+ * @param {*} expire Maximum age in ms.
11
+ */
12
+ set(key: any, value: any, expire: any): Promise<void>;
13
+ /**
14
+ * @name get
15
+ * @api private
16
+ * @description Get the value that was cached.
17
+ * @param {*} key
18
+ * @returns
19
+ */
20
+ get(key: any): Promise<{}>;
21
+ /**
22
+ * @name del
23
+ * @api private
24
+ * @description It was removing the value that was in the cache.
25
+ * @param {*} key
26
+ * @returns
27
+ */
28
+ del(key: any): Promise<void>;
29
+ }
30
+ import { LRUCache } from "lru-cache";
31
+ export {};
@@ -0,0 +1 @@
1
+ const{LRUCache:LRUCache}=require("lru-cache");class LruCache{constructor(){this._cache=new LRUCache({max:500,maxSize:5e3,ttl:108e5,sizeCalculation:(e,c)=>1})}async set(e,c,a){this._cache.set(e,c,a)}async get(e){return this._cache.get(e)}async del(e){this._cache.delete(e)}}const lruCache=new LruCache;module.exports={lruCache:lruCache};
@@ -0,0 +1,2 @@
1
+ declare const _exports: any;
2
+ export = _exports;
@@ -0,0 +1 @@
1
+ const{lruCache:lruCache}=require("./LruCache");module.exports=void 0===module.exports?{}:module.exports,module.exports.localCacheGet=function(e){return lruCache.get(e)},module.exports.localCacheRemove=function(e){lruCache.del(e)},module.exports.localCacheSet=function(e,o,l){lruCache.set(e,o,l||0)};
@@ -0,0 +1,16 @@
1
+ export = blzConfig;
2
+ declare const blzConfig: BlzConfig;
3
+ declare class BlzConfig {
4
+ _config: any;
5
+ initialize(configToOverride: {}, appPath: any): Promise<void>;
6
+ loadConfig(configToOverride: any, appPath: any): Promise<any>;
7
+ setAliasParams(config: any): void;
8
+ checkDuplicateKeysInEnv(environmentPath: any): void;
9
+ getValue(value: any): any;
10
+ getFormatValue(value: any, format: any): any;
11
+ normalizeConfig(config?: {}): void;
12
+ validateOrConvertToNumber(value: any, name: any, defaultValue: any): any;
13
+ validateConfig(config: any): void;
14
+ getConfig(): any;
15
+ setConfig(config?: {}): void;
16
+ }
@@ -0,0 +1 @@
1
+ const Path=require("path"),Fs=require("fs-extra"),{h3lp:h3lp}=require("h3lp");class BlzConfig{constructor(){this._config=null}async initialize(e={},r){null!=this._config&&console.warn("You are call BlzConfig.initialize multiple times. We will override the config"),this._config=await this.loadConfig(e,r),this.normalizeConfig(this._config),this.validateConfig(this._config)}async loadConfig(e,r){const t=Path.join(r,"../config.json");if(!Fs.existsSync(t))throw new Error(`${t} config file not exists`);let i=JSON.parse(Fs.readFileSync(t),"utf8");i={...i,...e};let a=i.connections?Object.keys(i.connections):[],n=null;Fs.existsSync(Path.join(r,"../.env"))?n=Path.join(r,"../.env"):Fs.existsSync(Path.join(r,"../../.env"))&&(n=Path.join(r,"../../.env")),n&&this.checkDuplicateKeysInEnv(n),Fs.existsSync(n)&&require("dotenv").config({path:n});for(let e in process.env)if(e.startsWith("blz_"))if(e.startsWith("blz_"+i.name+"_param_")&&e.endsWith("_user")&&e!=="blz_"+i.name+"_param_user"){let r=e.replace("blz_"+i.name+"_param_","");r=r.substring(0,r.length-5),i.parameters||(i.parameters={}),i.parameters[r]||(i.parameters[r]={}),i.parameters[r].user=this.getValue(process.env[e])}else if(e.startsWith("blz_"+i.name+"_param_")&&e.endsWith("_password")&&e!=="blz_"+i.name+"_param_password"){let r=e.replace("blz_"+i.name+"_param_","");r=r.substring(0,r.length-9),i.parameters||(i.parameters={}),i.parameters[r]||(i.parameters[r]={}),i.parameters[r].password=this.getValue(process.env[e])}else if(e.startsWith("blz_"+i.name+"_param_")){let r=e.replace("blz_"+i.name+"_param_","");i.parameters||(i.parameters={}),i.visibleParameters||(i.visibleParameters={});const t=i.configParameters&&i.configParameters[r]?i.configParameters[r].format:null,a=!(!i.configParameters||!i.configParameters[r])&&i.configParameters[r].hidden;try{const n=this.getFormatValue(process.env[e],t);i.parameters[r]=n,!0!==a&&(i.visibleParameters[r]=n)}catch(r){throw new Error(`Error: Bad value for parameter "${e}" defined in the environment.\n- ${r.message}`)}}else if(e.startsWith("blz_"+i.name+"_auth_")){let r=e.replace("blz_"+i.name+"_auth_","");i.authServer||(i.authServer={}),i.authServer[r]=this.getValue(process.env[e])}else if(e==="blz_"+i.name+"_enableKafkaConsumers"){const r=(this.getValue(process.env[e])||"").trim().split(",").filter(Boolean).map(e=>e.trim()),t=[...new Set(r)];i.enableKafkaConsumers=t}else if(e.startsWith("blz_"+i.name+"_")){i[e.replace("blz_"+i.name+"_","")]=this.getValue(process.env[e])}else{let r=e.replace("blz_",""),t=r.indexOf("_"),n=r.substring(0,t);if(a.includes(n)){let t=r.replace(n+"_","");i.connections[n][t]=this.getValue(process.env[e])}else i[e]=this.getValue(process.env[e])}return this.setAliasParams(i),i}setAliasParams(e){e.parameters?.SecurityApiSanitizeSqlInjection&&(e.blz_securityApiSanitizeSqlInjection=e.parameters.SecurityApiSanitizeSqlInjection,process.env.blz_securityApiSanitizeSqlInjection=e.parameters.SecurityApiSanitizeSqlInjection),e.parameters?.SecurityApiSanitizeOnlyLog&&(process.env.blz_securityApiSanitizeOnlyLog=e.parameters.SecurityApiSanitizeOnlyLog),e.parameters?.SecurityExcludeSanitizePaths&&(process.env.blz_securityExcludeSanitizePaths=e.parameters.SecurityExcludeSanitizePaths),e.parameters?.SecurityApiSanitizeDangerousParamPatterns&&(process.env.blz_securityApiSanitizeDangerousParamPatterns=e.parameters.SecurityApiSanitizeDangerousParamPatterns),e.parameters?.SecurityApiSanitizeDangerousSqlPatterns&&(process.env.blz_securityApiSanitizeDangerousSqlPatterns=e.parameters.SecurityApiSanitizeDangerousSqlPatterns),e.parameters?.SecurityApiSanitizeAllowedSqlInputPatterns&&(process.env.blz_securityApiSanitizeAllowedSqlInputPatterns=e.parameters.SecurityApiSanitizeAllowedSqlInputPatterns),e.parameters?.SecurityApiSanitizeAllowedInputPatterns&&(process.env.blz_securityApiSanitizeAllowedInputPatterns=e.parameters.SecurityApiSanitizeAllowedInputPatterns),e.parameters?.HttpRequestLimiterTimeframe&&(e.httpRequestLimiterTimeframe=e.parameters.HttpRequestLimiterTimeframe),e.parameters?.HttpRequestLimiterCount&&(e.httpRequestLimiterCount=e.parameters.HttpRequestLimiterCount),void 0!==e.parameters?.HttpRequestLimiterAddressOnly&&(e.httpRequestLimiterAddressOnly=e.parameters.HttpRequestLimiterAddressOnly),void 0!==e.parameters?.HttpRequestLimiterTrustProxy&&(e.httpRequestLimiterTrustProxy=e.parameters.HttpRequestLimiterTrustProxy),process.env.blz_secureUrlCookieKey&&(e.parameters.SecureUrlCookieKey=process.env.blz_secureUrlCookieKey),process.env.blz_secureUrlTimeoutMs&&(e.parameters.SecureUrlTimeoutMs=process.env.blz_secureUrlTimeoutMs)}checkDuplicateKeysInEnv(e){const r=Fs.readFileSync(e,"utf8").split("\n"),t=[],i=[];if(r.forEach(e=>{if(""===(e=e.trim())||e.startsWith("#"))return;const[r]=e.split("=");t.includes(r)&&i.push(r),t.push(r)}),i.length>0)throw new Error(`Error. Duplicate keys in .env file: ${JSON.stringify([...new Set(i)])}`)}getValue(e){if(null===e)return null;if("string"==typeof e){if("false"===e.toLocaleLowerCase().trim())return!1;if("true"===e.toLocaleLowerCase().trim())return!0;let r=e,t=r.indexOf("${"),i=-1;for(t>-1&&(i=r.indexOf("}",t));t>-1&&i>t;)r=r.substring(0,t)+process.env[r.substring(t+2,i)]+r.substring(i+1,r.length),t=r.indexOf("${"),i=-1,t>-1&&(i=r.indexOf("}",t));return r}return e}getFormatValue(e,r){if(null==e)return null;if(!r)return this.getValue(e);switch(r){case"String":return this.getValue(e);case"Numeric":{const r=Number(e);if(isNaN(r))throw new Error(`Invalid Numeric value. Detected: "${e}"`);return parseFloat(e)}case"Boolean":{const r=e.toLocaleLowerCase().trim();if(!["true","false"].includes(r))throw new Error(`Invalid Boolean value (only allowed "true" or "false"). Detected: "${e}"`);return"true"===r}default:return e}}normalizeConfig(e={}){for(const r in e.connections){const t=e.connections[r];if("Mongodb"===t.type){const e=Boolean(t.database&&t.database.trim()),i=Boolean(t.databaseName&&t.databaseName.trim()),a=e&&!i;e&&i&&(console.warn(`Warning: Your are using the old format ("blz_${r}_database") and the new format ("blz_${r}_databaseName"). We will use the new one ("blz_${r}_databaseName"). Please, consider to remove the old format to avoid confusion.`),delete t.database),a&&(console.warn(`Warning: Your are using the "blz_${r}_database" variable, but you need to use "blz_${r}_databaseName" instead. Environment variables for MongoDb databases with "blz_xxx_database" format may will disappear in the future. Please, update it.`),t.databaseName=t.database,delete t.database)}else"Kafka"===t.type&&(t.requestTimeout=this.validateOrConvertToNumber(t.requestTimeout,"requestTimeout",3e4),t.connectionTimeout=this.validateOrConvertToNumber(t.connectionTimeout,"connectionTimeout",3e3),t.connectionRetries=this.validateOrConvertToNumber(t.connectionRetries,"connectionRetries",3),t.connectionInitialRetryTime=this.validateOrConvertToNumber(t.connectionInitialRetryTime,"connectionInitialRetryTime",3e3),t.connectionMaxRetryTime=this.validateOrConvertToNumber(t.connectionMaxRetryTime,"connectionMaxRetryTime",6e4),t.connectionRetryFactor=this.validateOrConvertToNumber(t.connectionRetryFactor,"connectionRetryFactor",1.5))}}validateOrConvertToNumber(e,r,t){if(null==e)return t;if("string"==typeof e&&h3lp.val.isNumber(e))return h3lp.val.isDecimal(e)?parseFloat(e):Path.parse(e);if("number"==typeof e)return connection.requestTimeout;throw new Error(`Error: ${r} ${e} not supported`)}validateConfig(e){if(void 0===e)throw new Error("Error: config not found");if(void 0===e.type)throw new Error("Error: config type undefined");if(void 0===e.name)throw new Error("Error: config name undefined");switch(e.type){case"Microservice":case"ProcessEngine":case"RestApi":if(void 0===e.port)throw new Error(`Error: Environment variable blz_${e.name}_port is required`);break;case"Mongodb":case"RelationalDatabase":case"BeeAuthServer":case"SmtpServer":case"WebFrontend":case"MobileApp":case"Custom":break;default:throw new Error(`Error: type ${e.type} not supported`)}if(void 0!==e.connections)for(const r in e.connections){const t=e.connections[r];switch(t.type){case"Microservice":case"ProcessEngine":case"RestApi":if(void 0===t.url||""===t.url.trim())throw new Error(`Error: Environment variable blz_${r}_url is required`);break;case"Mongodb":if(void 0===t.url||""===t.url.trim())throw new Error(`Error: Environment variable blz_${r}url is required`);if(void 0===t.databaseName||""===t.databaseName.trim())throw new Error(`Error: Environment variable blz_${r}_databaseName is required`);break;case"RelationalDatabase":if(void 0===t.providerName||""===t.providerName.trim())throw new Error(`Error: Environment variable blz_${r}_providerName is required`);if(t.customUrl){if(void 0===t.protocol||""===t.protocol.trim())throw new Error(`Error: Environment variable blz_${r}_protocol is required`);if(void 0===t.url||""===t.url.trim())throw new Error(`Error: Environment variable blz_${r}_url is required`)}else{if("Oracle"===t.providerName){if(void 0===t.dataSource||""===t.dataSource.trim())throw new Error(`Error: Environment variable blz_${r}_dataSource is required`)}else{if(void 0===t.host||""===t.host.trim())throw new Error(`Error: Environment variable blz_${r}_host is required`);if(void 0===t.port||""===t.port.trim())throw new Error(`Error: Environment variable blz_${r}_port is required`);if(void 0===t.database||""===t.database.trim())throw new Error(`Error: Environment variable blz_${r}_database is required`)}if(void 0===t.user||""===t.user.trim())throw new Error(`Error: Environment variable blz_${r}_user is required`);if(void 0===t.password||""===t.password.trim())throw new Error(`Error: Environment variable blz_${r}_password is required`)}break;case"Redis":case"Hazelcast":if(void 0===t.providerName||""===t.providerName.trim())throw new Error(`Error: Environment variable blz_${r}_providerName is required`);if(void 0===t.host||""===t.host.trim())throw new Error(`Error: Environment variable blz_${r}_host is required`);if(void 0===t.port||""===t.port.trim())throw new Error(`Error: Environment variable blz_${r}_port is required`);if(void 0===t.database||""===t.database.trim())throw new Error(`Error: Environment variable blz_${r}_database is required`);if(void 0===t.password||""===t.password.trim())throw new Error(`Error: Environment variable blz_${r}_password is required`)}}if(void 0!==e.configParameters)for(const r in e.configParameters){const t=e.configParameters[r];switch(t.format){case"String":case"Numeric":case"Json":case"Boolean":if(void 0===e.parameters[r])throw new Error(`Error: Environment variable blz_${e.name}_param_${r} is required`);break;case"Credentials":if(void 0===e.parameters[r+"_user"])throw new Error(`Error: Environment variable blz_${e.name}_param_${r}_user is required`);if(void 0===e.parameters[r+"_password"])throw new Error(`Error: Environment variable blz_${e.name}_param_${r}_password is required`);break;default:throw new Error(`Error: parameter ${r} format ${t.format} not supported`)}}}getConfig(){return this._config}setConfig(e={}){this.setAliasParams(e),this._config={...e}}}const blzConfig=new BlzConfig;module.exports=blzConfig;
@@ -0,0 +1,32 @@
1
+ export declare function errorUndefinedArgument(argName: any): Error;
2
+ export declare function errorInvalidConversion(value: any, targetType: any): Error;
3
+ export declare function compare(value1: any, value2: any): any;
4
+ export declare function convertMilliseconds(strMilliseconds: any): number;
5
+ export declare function apply(obj1: any, obj2: any): {};
6
+ export declare function base64Decode(value: any): Buffer;
7
+ export declare function base64Encode(value: any): string;
8
+ export declare function convertToBinary(value: any): Buffer;
9
+ export declare function convertToBoolean(value: any): any;
10
+ export declare function convertToDate(value: any): Date;
11
+ export declare function convertToDatetime(value: any): any;
12
+ export declare function convertToDecimal(value: any): any;
13
+ export declare function convertToInteger(value: any): number;
14
+ export declare function convertToString(value: any): any;
15
+ export declare function convertToTime(value: any): Date;
16
+ export declare function entries(obj: any): [string, any][];
17
+ export declare function format(value: any, format: any): any;
18
+ export declare function htmlEncode(value: any): any;
19
+ export declare function htmlDecode(value: any): any;
20
+ export declare function _if(condition: any, valueIfConditionIsTrue: any, valueIfConditionIsFalse: any): any;
21
+ export { _if as if };
22
+ export declare function isNotNull(value: any): boolean;
23
+ export declare function isNull(value: any): boolean;
24
+ export declare function isNullOrValue(value: any, valueToCompare: any): boolean;
25
+ export declare function jsonParse(value: any): any;
26
+ export declare function jsonStringify(value: any, spaces: any): string;
27
+ export declare function keys(obj: any): string[];
28
+ export declare function map(source: any, fnSelection: any): any;
29
+ export declare function nvl(value: any, replacementValue: any): any;
30
+ export declare function urlEncode(value: any): string;
31
+ export declare function urlDecode(value: any): string;
32
+ export declare function values(obj: any): any[];
@@ -0,0 +1 @@
1
+ module.exports={errorUndefinedArgument:function(e){let r=new Error;return r.code="UndefinedArgument",r.data={argName:e},r},errorInvalidConversion:function(e,r){let t=new Error;return t.code="InvalidConversion",t.data={value:e,targetType:r},t},compare:function(e,r){if(null===e&&null===r)return 0;if(null===e&&null!==r)return-1;if(null!==e&&null===r)return 1;let t=toString.call(e),n=toString.call(r),o=null,i=null;if("[object String]"===t&&"[object String]"===n||"[object Number]"===t&&"[object Number]"===n)o=e,i=r;else if("[object Boolean]"===t&&"[object Boolean]"===n)o=e?1:0,i=r?1:0;else if("[object Date]"===t&&"[object Date]"===n)o=e.getTime(),i=r.getTime();else if("[object Object]"===t&&"[object Object]"===n)o=JSON.stringify(e),i=JSON.stringify(r);else{if("[object Array]"===t&&"[object Array]"===n){let t=this.compare(e.length,r.length);if(0!==t)return t;for(let n=0;n<e.length;n++){let o=e[n],i=r[n];if(t=this.compare(o,i),0!==t)return t}return 0}o="[object String]"===t?e:"[object Number]"===t?e.toString():"[object Boolean]"===t?e?"1":"0":"[object Date]"===t?e.toJSON():e.toString(),i="[object String]"===n?r:"[object Number]"===n?r.toString():"[object Boolean]"===n?r?"1":"0":"[object Date]"===n?r.toJSON():r.toString()}return o===i?0:o<i?-1:o>i?1:null},convertMilliseconds:function(e){return e?(e.length<3&&(e=e.padEnd(3,"0")),e.length>3&&(e=e.substr(0,3)),Number(e)):0},apply:function(e,r){let t=null;if(e){t={};for(let r in e)t[r]=e[r];if(r)for(let e in r)t[e]=r[e]}return t},base64Decode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");return null===e?null:Buffer.from(e,"base64")},base64Encode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");return null===e?null:Buffer.from(e).toString("base64")},convertToBinary:function(e){if(null==e)return null;if(e&&"Buffer"===e.type)return Buffer.from(e);if(Buffer.isBuffer(e))return e;if(Array.isArray(e)||"string"==typeof e)return Buffer.from(e);throw this.errorInvalidConversion(e,"binary")},convertToBoolean:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r){if("1"===e||"T"===e.toUpperCase()||"TRUE"===e.toUpperCase()||"Y"===e.toUpperCase()||"YES"===e.toUpperCase())return!0;if("0"===e||"F"===e.toUpperCase()||"FALSE"===e.toUpperCase()||"N"===e.toUpperCase()||"NO"===e.toUpperCase())return!1}if("[object Number]"===r){if(1===e)return!0;if(0===e)return!1}if("[object Boolean]"===r)return e;throw this.errorInvalidConversion(e,"boolean")},convertToDate:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r){let r=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(e);if(r)return new Date(Date.UTC(Number(r[1]),Number(r[2])-1,Number(r[3]),0,0,0,0));let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),0,0,0,0));let n=/^(\d{4})-(\d{1,2})-(\d{1,2})[T\s](\d{1,2}):(\d{1,2}):(\d{1,2})(?:\.(\d+))?([+-]\d{2}:\d{2})?$/.exec(e);if(n)return new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]),0,0,0,0))}if("[object Date]"===r)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));throw this.errorInvalidConversion(e,"date")},convertToDatetime:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r){let r=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(r&&void 0!==r[7])return new Date(Date.UTC(Number(r[1]),Number(r[2])-1,Number(r[3]),Number(r[4]),Number(r[5]),Number(r[6]||0),this.convertMilliseconds(r[7])));let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T\s](\d{1,2}):(\d{1,2}):(\d{1,2})(?:\.(\d+))?([+-]\d{2}:\d{2})?$/.exec(e);if(t){let e=Number(t[1]),r=Number(t[2])-1,n=Number(t[3]),o=Number(t[4]),i=Number(t[5]),u=Number(t[6]||0),l=this.convertMilliseconds(t[7]),f=t[8];if(f){let e="+"===f[0]?1:-1,[r,t]=f.slice(1).split(":").map(Number);o-=e*r,i-=e*t}return new Date(Date.UTC(e,r,n,o,i,u,l))}{const r=new Date(e);if("Invalid Date"!==r.toString())return r}}if("[object Date]"===r)return e;throw this.errorInvalidConversion(e,"datetime")},convertToDecimal:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r&&""!==e&&!isNaN(e))return Number(e);if("[object Number]"===r)return e;if("[object Boolean]"===r)return e?1:0;throw this.errorInvalidConversion(e,"decimal")},convertToInteger:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r&&""!==e&&!isNaN(e))return Math.round(Number(e));if("[object Number]"===r)return Math.round(e);if("[object Boolean]"===r)return e?1:0;throw this.errorInvalidConversion(e,"integer")},convertToString:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r)return e;if("[object Number]"===r)return e.toString();if("[object Uint8Array]"===r)return e.toString();if("[object Boolean]"===r)return e?"true":"false";if("[object Date]"===r)return e.toJSON();if("[object Object]"===r&&"Buffer"===e.type&&e.data)return Buffer.from(e.data).toString();throw this.errorInvalidConversion(e,"string")},convertToTime:function(e){if(null===e)return null;let r=toString.call(e);if("[object String]"===r){let r=/^(\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?$/.exec(e);if(r)return new Date(Date.UTC(1970,0,1,Number(r[1]),Number(r[2]),Number(r[3]),this.convertMilliseconds(r[4])));let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(t)return new Date(Date.UTC(1970,0,1,Number(t[4]),Number(t[5]),Number(t[6]||0),this.convertMilliseconds(t[7])))}if("[object Date]"===r)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));throw this.errorInvalidConversion(e,"time")},entries:function(e){if(void 0===e)throw this.errorUndefinedArgument("obj");return null===e?null:Object.entries(e)},format:function(e,r){return"undefined"!=typeof Blz&&Blz.format?Blz.format(e,r):null!=e&&e.toString?e.toString():""},htmlEncode:function(e){return e?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/"/g,"&quot;"):e},htmlDecode:function(e){return e?e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"'):e},if:function(e,r,t){return e?r:t},isNotNull:function(e){return null!=e},isNull:function(e){return null==e},isNullOrValue:function(e,r){return null==e||0===this.compare(e,r)},jsonParse:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;return JSON.parse(e)},jsonStringify:function(e,r){if(void 0===e)throw this.errorUndefinedArgument("value");return null===e?null:null==r?JSON.stringify(e):JSON.stringify(e,null,r)},keys:function(e){if(void 0===e)throw this.errorUndefinedArgument("obj");return null===e?null:Object.keys(e)},map:function(e,r){if(Array.isArray(e)){const t=new Array(e.length);for(let n=0;n<e.length;++n){const o=e[n];t[n]=r(o)}return t}return e?r(e):null},nvl:function(e,r){return null!=e?e:r},urlEncode:function(e){return encodeURIComponent(e)},urlDecode:function(e){return decodeURIComponent(e)},values:function(e){if(void 0===e)throw this.errorUndefinedArgument("obj");return null===e?null:Object.values(e)}};
@@ -0,0 +1,2 @@
1
+ export function encrypt(value: any, secret: any, algorithm: any): any;
2
+ export function decrypt(encryptedValue: any, secret: any, algorithm: any): any;
@@ -0,0 +1 @@
1
+ const CryptoJs=require("crypto-js");module.exports={encrypt:function(r,t,n){switch(n){case"MD5":return CryptoJs.MD5(r).toString();case"SHA1":return CryptoJs.SHA1(r).toString();case"SHA256":return CryptoJs.SHA256(r).toString();case"SHA384":return CryptoJs.SHA384(r).toString();case"SHA512":return CryptoJs.SHA512(r).toString();case"HMAC-MD5":return CryptoJs.HmacMD5(r,t).toString();case"HMAC-SHA1":return CryptoJs.HmacSHA1(r,t).toString();case"HMAC-SHA256":return CryptoJs.HmacSHA256(r,t).toString();case"HMAC-SHA384":return CryptoJs.HmacSHA384(r,t).toString();case"HMAC-SHA512":return CryptoJs.HmacSHA512(r,t).toString();case"AES":return CryptoJs.AES.encrypt(r,t).toString();default:throw new Error("Invalid encryption algorithm")}},decrypt:function(r,t,n){if("AES"===n)return CryptoJs.AES.decrypt(r,t).toString(CryptoJs.enc.Utf8);throw new Error("Invalid encryption algorithm")}};
@@ -0,0 +1,35 @@
1
+ export function convertMilliseconds(strMilliseconds: any): number;
2
+ export function tryDatetime(value: any): any;
3
+ export function tryDate(value: any): Date;
4
+ export function tryTime(value: any): Date;
5
+ export function addDays(value: any, days: any): any;
6
+ export function addHours(value: any, hours: any): any;
7
+ export function addMilliseconds(value: any, milliseconds: any): any;
8
+ export function addMinutes(value: any, minutes: any): any;
9
+ export function addMonths(value: any, months: any): any;
10
+ export function addSeconds(value: any, seconds: any): any;
11
+ export function addYears(value: any, years: any): any;
12
+ export function date(year: any, month: any, day: any): Date;
13
+ export function dateDiff(date1: any, date2: any): any;
14
+ export function datetime(year: any, month: any, day: any, hour: any, minute: any, second: any, milliseconds: any): Date;
15
+ export function datetimeDiff(datetime1: any, datetime2: any): any;
16
+ export function day(value: any): any;
17
+ export function hour(value: any): any;
18
+ export function millisecond(value: any): any;
19
+ export function minute(value: any): any;
20
+ export function month(value: any): any;
21
+ export function monthText(value: any): "January" | "February" | "March" | "April" | "May" | "June" | "July" | "August" | "September" | "October" | "November" | "December";
22
+ export function now(): Date;
23
+ export function second(value: any): any;
24
+ export function subtractDays(value: any, days: any): any;
25
+ export function subtractHours(value: any, hours: any): any;
26
+ export function subtractMilliseconds(value: any, milliseconds: any): any;
27
+ export function subtractMinutes(value: any, minutes: any): any;
28
+ export function subtractSeconds(value: any, seconds: any): any;
29
+ export function time(hour: any, minute: any, second: any, milliseconds: any): Date;
30
+ export function timeDiff(time1: any, time2: any): any;
31
+ export function today(): Date;
32
+ export function week(value: any): number;
33
+ export function weekDay(value: any): any;
34
+ export function weekDayText(value: any): "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday";
35
+ export function year(value: any): any;
@@ -0,0 +1 @@
1
+ module.exports={convertMilliseconds:function(e){return e?(e.length<3&&(e=e.padEnd(3,"0")),e.length>3&&(e=e.substr(0,3)),Number(e)):0},tryDatetime:function(e){let t=toString.call(e);if("[object Date]"===t)return e;if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(t&&void 0!==t[7])return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),Number(t[4]),Number(t[5]),Number(t[6]||0),this.convertMilliseconds(t[7])));let n=/^(\d{4})-(\d{1,2})-(\d{1,2})[T\s](\d{1,2}):(\d{1,2}):(\d{1,2})(?:\.(\d+))?([+-]\d{2}:\d{2})?$/.exec(e);if(n){let e=Number(n[1]),t=Number(n[2])-1,r=Number(n[3]),u=Number(n[4]),l=Number(n[5]),i=Number(n[6]||0),a=this.convertMilliseconds(n[7]),s=n[8];if(s){let e="+"===s[0]?1:-1,[t,n]=s.slice(1).split(":").map(Number);u-=e*t,l-=e*n}return new Date(Date.UTC(e,t,r,u,l,i,a))}{const t=new Date(e);if("Invalid Date"!==t.toString())return t}}let n=new Error;throw n.code="InvalidDatetime",n.data={value:e},n},tryDate:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),0,0,0,0))}let n=new Error;throw n.code="InvalidDate",n.data={value:e},n},tryTime:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));if("[object String]"===t){let t=/^(\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?$/.exec(e);if(t)return new Date(Date.UTC(1970,0,1,Number(t[1]),Number(t[2]),Number(t[3]),this.convertMilliseconds(t[4])))}let n=new Error;throw n.code="InvalidTime",n.data={value:e},n},addDays:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()+t,n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()))},addHours:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours()+t,n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()))},addMilliseconds:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()+t))},addMinutes:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes()+t,n.getUTCSeconds(),n.getUTCMilliseconds()))},addMonths:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e),r=n.getUTCFullYear(),u=n.getUTCMonth()+t,l=n.getUTCDate(),i=n.getUTCHours(),a=n.getUTCMinutes(),s=n.getUTCSeconds(),T=n.getUTCMilliseconds(),o=new Date(Date.UTC(r,u,l,i,a,s,T));for(;l>o.getUTCDate();)l--,o=new Date(Date.UTC(r,u,l,i,a,s,T));return o},addSeconds:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds()+t,n.getUTCMilliseconds()))},addYears:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e),r=n.getUTCFullYear()+t,u=n.getUTCMonth(),l=n.getUTCDate(),i=n.getUTCHours(),a=n.getUTCMinutes(),s=n.getUTCSeconds(),T=n.getUTCMilliseconds(),o=new Date(Date.UTC(r,u,l,i,a,s,T));for(;l>o.getUTCDate();)l--,o=new Date(Date.UTC(r,u,l,i,a,s,T));return o},date:function(e,t,n){return null==e||null==t||null==n?null:new Date(Date.UTC(e,t-1,n))},dateDiff:function(e,t){return null==e?null:null==t?e:(this.tryDate(e)-this.tryDate(t))/864e5},datetime:function(e,t,n,r,u,l,i){return null==e||null==t||null==n||null==r||null==u||null==l?null:new Date(Date.UTC(e,t-1,n,r,u,l,0))},datetimeDiff:function(e,t){return null==e?null:null==t?e:this.tryDatetime(e)-this.tryDatetime(t)},day:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCDate()},hour:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCHours()},millisecond:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCMilliseconds()},minute:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCMinutes()},month:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCMonth()+1},monthText:function(e){if(null==e)return null;switch(this.tryDatetime(e).getUTCMonth()){case 0:return"January";case 1:return"February";case 2:return"March";case 3:return"April";case 4:return"May";case 5:return"June";case 6:return"July";case 7:return"August";case 8:return"September";case 9:return"October";case 10:return"November";case 11:return"December"}},now:function(){let e=new Date(Date.now());return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))},second:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCSeconds()},subtractDays:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()-t,n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()))},subtractHours:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours()-t,n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()))},subtractMilliseconds:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds()-t))},subtractMinutes:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes()-t,n.getUTCSeconds(),n.getUTCMilliseconds()))},subtractSeconds:function(e,t){if(null==e)return null;if(null==t)return e;let n=this.tryDatetime(e);return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds()-t,n.getUTCMilliseconds()))},time:function(e,t,n,r){return null==e||null==t||null==n?null:new Date(Date.UTC(1970,0,1,e,t,n,0))},timeDiff:function(e,t){return null==e?null:null==t?e:this.tryTime(e)-this.tryTime(t)},today:function(){let e=new Date(Date.now());return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0))},week:function(e){if(null==e)return null;let t=this.tryDatetime(e),n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),r=n.getUTCDay()||7;n.setUTCDate(n.getUTCDate()+4-r);let u=new Date(Date.UTC(n.getUTCFullYear(),0,1));return Math.ceil(((n-u)/864e5+1)/7)},weekDay:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCDay()},weekDayText:function(e){if(null==e)return null;switch(this.tryDatetime(e).getUTCDay()){case 0:return"Sunday";case 1:return"Monday";case 2:return"Tuesday";case 3:return"Wednesday";case 4:return"Thursday";case 5:return"Friday";case 6:return"Saturday"}},year:function(e){if(null==e)return null;return this.tryDatetime(e).getUTCFullYear()}};
@@ -0,0 +1,25 @@
1
+ export = fileService;
2
+ declare const fileService: FileService;
3
+ declare class FileService {
4
+ join(paths: any): string;
5
+ append(filePath: any, content: any): Promise<void>;
6
+ read(filePath: any): Promise<string>;
7
+ appendLines(filePath: any, lines: any, start: any): Promise<void>;
8
+ readLines(filePath: any, start: any, count: any): Promise<any>;
9
+ createLineIterable(filePath: any): {
10
+ [Symbol.iterator](): {
11
+ next(): {
12
+ value: any;
13
+ done: boolean;
14
+ };
15
+ };
16
+ };
17
+ remove(filePath: any): Promise<void>;
18
+ exists(sourcePath: any): Promise<boolean>;
19
+ lines(filePath: any): Promise<any>;
20
+ size(filePath: any): Promise<number>;
21
+ _read(filePath: any, start: any, count: any): Promise<any>;
22
+ _lines(filePath: any): Promise<any>;
23
+ createDirIfNotExists(sourcePath: any): Promise<any>;
24
+ resolvePath(sourcePath: any): any;
25
+ }
@@ -0,0 +1 @@
1
+ const fs=require("fs"),path=require("path"),readline=require("readline");class FileService{join(e){if(!e)throw new Error("paths is required");return path.join(...e)}async append(e,r){if(!e)throw new Error("filePath is required");if(!r)throw new Error("content is required");const t=this.resolvePath(e);await this.createDirIfNotExists(t),await fs.promises.appendFile(t,r)}async read(e){if(!e)throw new Error("filePath is required");const r=this.resolvePath(e);return fs.promises.readFile(r,"utf-8")}async appendLines(e,r,t){if(!e)throw new Error("filePath is required");if(!r)throw new Error("lines is required");const i=this.resolvePath(e);if(await this.createDirIfNotExists(i),null!=t){const e=(await fs.promises.readFile(i,"utf-8")).split("\n");e.splice(t,0,...r),await fs.promises.writeFile(i,e.join("\n")+"\n")}else await fs.promises.appendFile(i,r.join("\n")+"\n")}async readLines(e,r,t){if(!e)throw new Error("filePath is required");const i=this.resolvePath(e);let s=[];return s=null!=r?await this._read(i,r,t):(await fs.promises.readFile(i,"utf-8")).split("\n"),s.filter(e=>null==e||""!==e.trim())}createLineIterable(e){if(!e)throw new Error("filePath is required");const r=this.resolvePath(e),t=fs.createReadStream(r),i=readline.createInterface({input:t,crlfDelay:1/0});return{[Symbol.iterator]:()=>({next(){const e=i[Symbol.iterator]().next().value;return{value:e,done:void 0===e}}})}}async remove(e){if(!e)throw new Error("filePath is required");const r=this.resolvePath(e);await fs.promises.unlink(r)}async exists(e){if(!e)throw new Error("sourcePath is required");try{return await fs.promises.access(e),!0}catch(e){if("ENOENT"===e.code)return!1;throw e}}async lines(e){if(!e)throw new Error("path is required");const r=this.resolvePath(e);return this._lines(r)}async size(e){if(!e)throw new Error("filePath is required");const r=this.resolvePath(e);return(await fs.promises.stat(r)).size}async _read(e,r,t){return new Promise((i,s)=>{const a=readline.createInterface({input:fs.createReadStream(e),crlfDelay:1/0});let n=[],o=0;a.on("line",e=>{o>=r&&(!t||n.length<t)&&n.push(e),o++}),a.on("close",()=>{i(n)}),a.on("error",e=>{s(e)})})}async _lines(e){return new Promise((r,t)=>{const i=fs.createReadStream(e,{encoding:"utf-8"});let s=0;i.on("data",e=>{s+=(e.match(/\n/g)||[]).length}),i.on("end",()=>{r(s+1)}),i.on("error",e=>{t(e)})})}async createDirIfNotExists(e){const r=this.resolvePath(e),t=path.dirname(r);if(!await this.exists(t))return new Promise((e,r)=>{fs.mkdir(t,{recursive:!0},t=>t?r(t):e())})}resolvePath(e){if(!e)throw new Error("sourcePath is required");const r=e.trim();return r.startsWith(".")?path.join(process.cwd(),e):r.startsWith("~")?r.replace("~",process.env.HOME):e}}const fileService=new FileService;exports=module.exports=fileService,exports.default=fileService;
@@ -0,0 +1,2 @@
1
+ declare const _exports: any;
2
+ export = _exports;
@@ -0,0 +1 @@
1
+ const fileService=require("./fileService.js"),path=require("path");module.exports=void 0===module.exports?{}:module.exports,module.exports.pathJoin=async function(e){if(!e)throw new Error("paths is required");return path.join(...e)},module.exports.fileAppend=async function(e,i){await fileService.append(e,i)},module.exports.fileRead=async function(e){return fileService.read(e)},module.exports.fileAppendLines=async function(e,i,r){await fileService.appendLines(e,i,r)},module.exports.fileReadLines=async function(e,i,r){return fileService.readLines(e,i,r)},module.exports.fileCreateLineIterable=async function(e){return fileService.createLineIterable(e)},module.exports.fileExists=async function(e){return fileService.exists(e)},module.exports.fileLines=async function(e){return fileService.lines(e)},module.exports.fileSize=async function(e){return fileService.size(e)},module.exports.fileRemove=async function(e){return fileService.remove(e)};
@@ -0,0 +1 @@
1
+ const app=require("./index"),path=require("path"),examplePath=path.join(__dirname,"example.dat"),{v4:uuidv4}=require("uuid");describe("FileService",()=>{test("Size",async()=>{const e=await app.fileSize(examplePath);expect(2841450).toStrictEqual(e)}),test("Lines",async()=>{const e=await app.fileLines(examplePath);expect(2546).toStrictEqual(e)}),test("Read and append lines",async()=>{const e=await app.fileRead(examplePath),a=path.join(__dirname,"example_"+uuidv4()+".dat");await app.fileAppend(a,e);const i=await app.fileReadLines(examplePath,0,2),t=await app.fileReadLines(examplePath,2,1),p=path.join(__dirname,"example2_"+uuidv4()+".dat");await app.fileAppendLines(p,t),await app.fileAppendLines(p,i,0);const n=JSON.stringify(await app.fileReadLines(examplePath,0,3)),l=JSON.stringify(await app.fileReadLines(p));await app.fileRemove(a),await app.fileRemove(p),expect(!0).toStrictEqual(n===l)})});
@@ -0,0 +1 @@
1
+ const fileService=require("./fileService.js"),{v4:uuidv4}=require("uuid"),path=require("path"),lab=async()=>{const e=path.join(__dirname,"example.dat");console.log("size: "+await fileService.size(e)),console.log("lines: "+await fileService.lines(e));const i=await fileService.read(e),a=path.join(__dirname,"example_"+uuidv4()+".dat");await fileService.append(a,i);const n=await fileService.readLines(e,0,2),r=await fileService.readLines(e,2,1),l=path.join(__dirname,"example2_"+uuidv4()+".dat");await fileService.appendLines(l,r),await fileService.appendLines(l,n,0);JSON.stringify(await fileService.readLines(e,0,3))===JSON.stringify(await fileService.readLines(l))?console.log("content is equal"):console.log("content is not equal"),await fileService.remove(a),await fileService.remove(l)};lab();
@@ -0,0 +1,25 @@
1
+ export function hazelcastMapGet(connection: any, name: any, key: any): any;
2
+ export function hazelcastMapGetAll(connection: any, name: any, keys: any): any;
3
+ export function hazelcastMapSet(connection: any, name: any, key: any, value: any, ttl: any): any;
4
+ export function hazelcastMapSetAll(connection: any, name: any, data: any): any;
5
+ export function hazelcastMapDelete(connection: any, name: any, key: any): any;
6
+ export function hazelcastMapSetTtl(connection: any, name: any, key: any, ttl: any): any;
7
+ export function hazelcastMapGetEntryView(connection: any, name: any, key: any): any;
8
+ export function hazelcastMapContainsKey(connection: any, name: any, key: any): any;
9
+ export function hazelcastMapKeySet(connection: any, name: any): any;
10
+ export function hazelcastMapValues(connection: any, name: any): any;
11
+ export function hazelcastMapEntrySet(connection: any, name: any): any;
12
+ export function hazelcastMapSize(connection: any, name: any): any;
13
+ export function hazelcastMapClear(connection: any, name: any): any;
14
+ export function hazelcastMapDestroy(connection: any, name: any): any;
15
+ export function hazelcastListGet(connection: any, name: any, index: any): any;
16
+ export function hazelcastListAdd(connection: any, name: any, element: any): any;
17
+ export function hazelcastListAddAt(connection: any, name: any, index: any, element: any): any;
18
+ export function hazelcastListAddAll(connection: any, name: any, elements: any): any;
19
+ export function hazelcastListRemove(connection: any, name: any, element: any): any;
20
+ export function hazelcastListRemoveAt(connection: any, name: any, index: any): any;
21
+ export function hazelcastListContains(connection: any, name: any, element: any): any;
22
+ export function hazelcastListIndexOf(connection: any, name: any, element: any): any;
23
+ export function hazelcastListSize(connection: any, name: any): any;
24
+ export function hazelcastListClear(connection: any, name: any): any;
25
+ export function hazelcastListDestroy(connection: any, name: any): any;
@@ -0,0 +1 @@
1
+ const hazelcastCache=require("./lib/hazelcastCache.js"),{UsernamePasswordCredentials:UsernamePasswordCredentials}=require("./lib/credentials.js"),{usernamePasswordCredentialsFactory:usernamePasswordCredentialsFactory}=require("./lib/credentialsFactory.js"),fs=require("fs-extra");let hazelcastClients={};function getOrCreateHazelcastClient(e){let t=hazelcastClients[e.name];if(t)return t;let a={connectionName:e.name,connectionOptions:{properties:{"hazelcast.logging.level":"OFF","hazelcast.client.heartbeat.interval":e.poolKeepAlive||1e4}},pool:!0,poolMin:e.poolMin,poolMax:e.poolMax,poolKeepAlive:e.poolKeepAlive,poolAcquireTimeout:e.poolAcquireTimeout,poolRetryDelay:e.poolRetryDelay};return null!=e.clusterName&&(a.connectionOptions.clusterName=e.clusterName),(null!=e.members||null!=e.discoveryToken||e.tls)&&(a.connectionOptions.network={}),null!=e.members&&(a.connectionOptions.network.clusterMembers=ensureMembers(e.members)),null!=e.discoveryToken&&(a.connectionOptions.network.hazelcastCloud={discoveryToken:e.discoveryToken}),e.tls&&(a.connectionOptions.network.ssl={enabled:!0},(e.key||e.cert||e.ca||e.servername||e.rejectUnauthorized)&&(a.connectionOptions.network.ssl.sslOptionsFactoryProperties={}),e.key&&(a.connectionOptions.network.ssl.sslOptionsFactoryProperties.keyPath=fs.readFileSync(e.key)),e.cert&&(a.connectionOptions.network.ssl.sslOptionsFactoryProperties.certPath=fs.readFileSync(e.cert)),e.ca&&(a.connectionOptions.network.ssl.sslOptionsFactoryProperties.caPath=fs.readFileSync(e.ca)),e.servername&&(a.connectionOptions.network.ssl.sslOptionsFactoryProperties.servername=e.servername),e.rejectUnauthorized||(a.connectionOptions.network.ssl.sslOptionsFactoryProperties.rejectUnauthorized=!1)),null!=e.user&&(a.connectionOptions.serialization={portableFactories:{1:usernamePasswordCredentialsFactory}},a.connectionOptions.customCredentials=new UsernamePasswordCredentials(e.user,e.password,e.endpoint)),t=hazelcastCache.createHazelcastClient(a),hazelcastClients[e.name]=t,t}function ensureMembers(e){return e&&!Array.isArray(e)&&"string"==typeof e?e.split(","):e}module.exports={hazelcastMapGet:function(e,t,a){return getOrCreateHazelcastClient(e).mapGet(t,a)},hazelcastMapGetAll:function(e,t,a){return getOrCreateHazelcastClient(e).mapGetAll(t,a)},hazelcastMapSet:function(e,t,a,n,r){return getOrCreateHazelcastClient(e).mapSet(t,a,n,r)},hazelcastMapSetAll:function(e,t,a){return getOrCreateHazelcastClient(e).mapSetAll(t,a)},hazelcastMapDelete:function(e,t,a){return getOrCreateHazelcastClient(e).mapDelete(t,a)},hazelcastMapSetTtl:function(e,t,a,n){return getOrCreateHazelcastClient(e).mapSetTtl(t,a,n)},hazelcastMapGetEntryView:function(e,t,a){return getOrCreateHazelcastClient(e).mapGetEntryView(t,a)},hazelcastMapContainsKey:function(e,t,a){return getOrCreateHazelcastClient(e).mapContainsKey(t,a)},hazelcastMapKeySet:function(e,t){return getOrCreateHazelcastClient(e).mapKeySet(t)},hazelcastMapValues:function(e,t){return getOrCreateHazelcastClient(e).mapValues(t)},hazelcastMapEntrySet:function(e,t){return getOrCreateHazelcastClient(e).mapEntrySet(t)},hazelcastMapSize:function(e,t){return getOrCreateHazelcastClient(e).mapSize(t)},hazelcastMapClear:function(e,t){return getOrCreateHazelcastClient(e).mapClear(t)},hazelcastMapDestroy:function(e,t){return getOrCreateHazelcastClient(e).mapDestroy(t)},hazelcastListGet:function(e,t,a){return getOrCreateHazelcastClient(e).listGet(t,a)},hazelcastListAdd:function(e,t,a){return getOrCreateHazelcastClient(e).listAdd(t,a)},hazelcastListAddAt:function(e,t,a,n){return getOrCreateHazelcastClient(e).listAddAt(t,a,n)},hazelcastListAddAll:function(e,t,a){return getOrCreateHazelcastClient(e).listAddAll(t,a)},hazelcastListRemove:function(e,t,a){return getOrCreateHazelcastClient(e).listRemove(t,a)},hazelcastListRemoveAt:function(e,t,a){return getOrCreateHazelcastClient(e).listRemoveAt(t,a)},hazelcastListContains:function(e,t,a){return getOrCreateHazelcastClient(e).listContains(t,a)},hazelcastListIndexOf:function(e,t,a){return getOrCreateHazelcastClient(e).listIndexOf(t,a)},hazelcastListSize:function(e,t){return getOrCreateHazelcastClient(e).listSize(t)},hazelcastListClear:function(e,t){return getOrCreateHazelcastClient(e).listClear(t)},hazelcastListDestroy:function(e,t){return getOrCreateHazelcastClient(e).listDestroy(t)}};
@@ -0,0 +1,10 @@
1
+ export class UsernamePasswordCredentials {
2
+ constructor(username: any, password: any, endpoint: any);
3
+ username: any;
4
+ password: any;
5
+ endpoint: any;
6
+ factoryId: number;
7
+ classId: number;
8
+ readPortable(reader: any): void;
9
+ writePortable(writer: any): void;
10
+ }
@@ -0,0 +1 @@
1
+ "use strict";class UsernamePasswordCredentials{constructor(s,r,e){this.username=s,this.password=r,this.endpoint=e,this.factoryId=1,this.classId=1}readPortable(s){this.username=s.readString("username"),this.endpoint=s.readString("password"),this.password=s.readString("endpoint")}writePortable(s){s.writeString("username",this.username),s.writeString("password",this.password),s.writeString("endpoint",this.endpoint)}}exports.UsernamePasswordCredentials=UsernamePasswordCredentials;
@@ -0,0 +1 @@
1
+ export function usernamePasswordCredentialsFactory(classId: any): any;
@@ -0,0 +1 @@
1
+ "use strict";const UsernamePasswordCredentials=require("./credentials");function usernamePasswordCredentialsFactory(e){return 1===e?new UsernamePasswordCredentials:null}exports.usernamePasswordCredentialsFactory=usernamePasswordCredentialsFactory;
@@ -0,0 +1,27 @@
1
+ export function createHazelcastClient(config: any): {
2
+ mapGet: (name: any, key: any) => Promise<any>;
3
+ mapGetAll: (name: any, keys: any) => Promise<any>;
4
+ mapSet: (name: any, key: any, value: any, ttl: any) => Promise<any>;
5
+ mapSetAll: (name: any, data: any) => Promise<any>;
6
+ mapDelete: (name: any, key: any) => Promise<any>;
7
+ mapSetTtl: (name: any, key: any, ttl: any) => Promise<any>;
8
+ mapGetEntryView: (name: any, key: any) => Promise<any>;
9
+ mapContainsKey: (name: any, key: any) => Promise<any>;
10
+ mapKeySet: (name: any) => Promise<any>;
11
+ mapValues: (name: any) => Promise<any>;
12
+ mapEntrySet: (name: any) => Promise<any>;
13
+ mapSize: (name: any) => Promise<any>;
14
+ mapClear: (name: any) => Promise<any>;
15
+ mapDestroy: (name: any) => Promise<any>;
16
+ listGet: (name: any, index: any) => Promise<any>;
17
+ listAdd: (name: any, element: any) => Promise<any>;
18
+ listAddAt: (name: any, index: any, element: any) => Promise<any>;
19
+ listAddAll: (name: any, elements: any) => Promise<any>;
20
+ listRemove: (name: any, element: any) => Promise<any>;
21
+ listRemoveAt: (name: any, index: any) => Promise<any>;
22
+ listContains: (name: any, element: any) => Promise<any>;
23
+ listIndexOf: (name: any, element: any) => Promise<any>;
24
+ listSize: (name: any) => Promise<any>;
25
+ listClear: (name: any) => Promise<any>;
26
+ listDestroy: (name: any) => Promise<any>;
27
+ };
@@ -0,0 +1 @@
1
+ const{Client:Client}=require("hazelcast-client"),genericPool=require("generic-pool");let poolsByName={};const CACHE_TYPE={MAP:"map",LIST:"list"};function createHazelcastClient(e){return{mapGet:function(n,t){return send(e,n,CACHE_TYPE.MAP,"get",t)},mapGetAll:function(n,t){return send(e,n,CACHE_TYPE.MAP,"getAll",t)},mapSet:function(n,t,o,r){return r?send(e,n,CACHE_TYPE.MAP,"set",t,o,r):send(e,n,CACHE_TYPE.MAP,"set",t,o)},mapSetAll:function(n,t){return send(e,n,CACHE_TYPE.MAP,"setAll",t)},mapDelete:function(n,t){return send(e,n,CACHE_TYPE.MAP,"delete",t)},mapSetTtl:function(n,t,o){return send(e,n,CACHE_TYPE.MAP,"setTtl",t,o)},mapGetEntryView:function(n,t){return send(e,n,CACHE_TYPE.MAP,"getEntryView",t)},mapContainsKey:function(n,t){return send(e,n,CACHE_TYPE.MAP,"containsKey",t)},mapKeySet:function(n){return send(e,n,CACHE_TYPE.MAP,"keySet")},mapValues:async function(n){return(await send(e,n,CACHE_TYPE.MAP,"values")).toArray()},mapEntrySet:function(n){return send(e,n,CACHE_TYPE.MAP,"entrySet")},mapSize:function(n){return send(e,n,CACHE_TYPE.MAP,"size")},mapClear:function(n){return send(e,n,CACHE_TYPE.MAP,"clear")},mapDestroy:function(n){return send(e,n,CACHE_TYPE.MAP,"destroy")},listGet:function(n,t){return send(e,n,CACHE_TYPE.LIST,"get",t)},listAdd:function(n,t){return send(e,n,CACHE_TYPE.LIST,"add",t)},listAddAt:function(n,t,o){return send(e,n,CACHE_TYPE.LIST,"addAt",t,o)},listAddAll:function(n,t){return send(e,n,CACHE_TYPE.LIST,"addAll",t)},listRemove:function(n,t){return send(e,n,CACHE_TYPE.LIST,"remove",t)},listRemoveAt:function(n,t){return send(e,n,CACHE_TYPE.LIST,"removeAt",t)},listContains:function(n,t){return send(e,n,CACHE_TYPE.LIST,"contains",t)},listIndexOf:function(n,t){return send(e,n,CACHE_TYPE.LIST,"indexOf",t)},listSize:function(n){return send(e,n,CACHE_TYPE.LIST,"size")},listClear:function(n){return send(e,n,CACHE_TYPE.LIST,"clear")},listDestroy:function(n){return send(e,n,CACHE_TYPE.LIST,"destroy")}}}async function getConnection(e){if(!e.pool)return createConnection(e);try{return await getPool(e).acquire()}catch(n){throw error("HazelcastPoolAcquireError",{connectionName:e.connectionName},n)}}function createConnection(e){let n=null;return e.connectionOptions.lifecycleListeners=[e=>{"DISCONNECTED"===e&&(n.active=!1)}],Client.newHazelcastClient(e.connectionOptions).then(t=>(t.pool=e.pool,t.connectionName=e.connectionName,t.active=!0,n=t,n)).catch(n=>{throw error("HazelcastConnectionError",{connectionName:e.connectionName},n)})}async function send(e,n,t,o,...r){let c=null;try{return c=await getConnection(e),await executeCommand(c,n,t,o,...r)}catch(e){throw error("HazelcastError",null,e)}finally{c&&closeConnection(c)}}async function executeCommand(e,n,t,o,...r){return(await getCache(e,n,t))[o](...r)}function getCache(e,n,t){let o=null;switch(t){case CACHE_TYPE.MAP:o=e.getMap(n);break;case CACHE_TYPE.LIST:o=e.getList(n)}return o}function closeConnection(e){return e.pool?getPool({connectionName:e.connectionName}).release(e):destroyConnection(e)}function destroyConnection(e){return e.shutdown(),e.active=!1,Promise.resolve()}function getPool(e){let n=e.connectionName,t=poolsByName[n];if(t)return t;{const o={create:async function(){try{return await createConnection(e)}catch(n){return await new Promise(function(t,o){setTimeout(()=>{o(n)},e.poolRetryDelay)})}},destroy:function(e){return destroyConnection(e)},validate:function(e){return Promise.resolve(e.active)}},r={max:e.poolMax,min:e.poolMin,testOnBorrow:!0,acquireTimeoutMillis:e.poolAcquireTimeout||1e4};return t=genericPool.createPool(o,r),t.connectionName=e.connectionName,poolsByName[n]=t,t}}function error(e,n,t){let o=new Error;return o.code=e,n&&(o.data=n),t&&(o.innerError=t),o}module.exports={createHazelcastClient:createHazelcastClient};