@contrast/agent 4.16.0 → 4.17.0

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 (567) hide show
  1. package/bin/VERSION +1 -1
  2. package/bin/linux/contrast-service +0 -0
  3. package/bin/mac/contrast-service +0 -0
  4. package/bin/windows/contrast-service.exe +0 -0
  5. package/esm.mjs +21 -11
  6. package/lib/assess/policy/propagators.json +4 -0
  7. package/lib/assess/policy/signatures.json +5 -0
  8. package/lib/assess/propagators/fastify-static/allowed-path.js +85 -0
  9. package/lib/contrast.js +1 -1
  10. package/lib/core/rewrite/index.js +2 -2
  11. package/lib/protect/rules/cmd-injection/cmdinjection-rule.js +1 -1
  12. package/node_modules/@colors/colors/LICENSE +26 -0
  13. package/node_modules/@colors/colors/README.md +219 -0
  14. package/node_modules/@colors/colors/examples/normal-usage.js +83 -0
  15. package/node_modules/@colors/colors/examples/safe-string.js +80 -0
  16. package/node_modules/@colors/colors/index.d.ts +136 -0
  17. package/node_modules/@colors/colors/lib/colors.js +211 -0
  18. package/node_modules/@colors/colors/lib/custom/trap.js +46 -0
  19. package/node_modules/@colors/colors/lib/custom/zalgo.js +110 -0
  20. package/node_modules/@colors/colors/lib/extendStringPrototype.js +110 -0
  21. package/node_modules/@colors/colors/lib/index.js +13 -0
  22. package/node_modules/@colors/colors/lib/maps/america.js +10 -0
  23. package/node_modules/@colors/colors/lib/maps/rainbow.js +12 -0
  24. package/node_modules/@colors/colors/lib/maps/random.js +11 -0
  25. package/node_modules/@colors/colors/lib/maps/zebra.js +5 -0
  26. package/node_modules/@colors/colors/lib/styles.js +95 -0
  27. package/node_modules/@colors/colors/lib/system/has-flag.js +35 -0
  28. package/node_modules/@colors/colors/lib/system/supports-colors.js +151 -0
  29. package/node_modules/@colors/colors/package.json +49 -0
  30. package/node_modules/@colors/colors/safe.d.ts +48 -0
  31. package/node_modules/@colors/colors/safe.js +10 -0
  32. package/node_modules/@colors/colors/themes/generic-logging.js +12 -0
  33. package/node_modules/@dabh/diagnostics/README.md +16 -16
  34. package/node_modules/@dabh/diagnostics/package.json +9 -9
  35. package/node_modules/async/CHANGELOG.md +13 -0
  36. package/node_modules/async/all.js +74 -9
  37. package/node_modules/async/allLimit.js +3 -3
  38. package/node_modules/async/allSeries.js +3 -3
  39. package/node_modules/async/any.js +75 -9
  40. package/node_modules/async/anyLimit.js +3 -3
  41. package/node_modules/async/anySeries.js +3 -3
  42. package/node_modules/async/applyEach.js +2 -2
  43. package/node_modules/async/applyEachSeries.js +2 -2
  44. package/node_modules/async/asyncify.js +3 -3
  45. package/node_modules/async/auto.js +81 -15
  46. package/node_modules/async/autoInject.js +30 -4
  47. package/node_modules/async/cargo.js +1 -1
  48. package/node_modules/async/cargoQueue.js +1 -1
  49. package/node_modules/async/compose.js +1 -1
  50. package/node_modules/async/concat.js +72 -4
  51. package/node_modules/async/concatLimit.js +3 -3
  52. package/node_modules/async/concatSeries.js +2 -2
  53. package/node_modules/async/detect.js +43 -8
  54. package/node_modules/async/detectLimit.js +3 -3
  55. package/node_modules/async/detectSeries.js +3 -3
  56. package/node_modules/async/dir.js +1 -1
  57. package/node_modules/async/dist/async.js +1379 -168
  58. package/node_modules/async/dist/async.min.js +1 -1
  59. package/node_modules/async/dist/async.mjs +1372 -161
  60. package/node_modules/async/doDuring.js +3 -3
  61. package/node_modules/async/doUntil.js +2 -2
  62. package/node_modules/async/doWhilst.js +3 -3
  63. package/node_modules/async/during.js +3 -3
  64. package/node_modules/async/each.js +69 -28
  65. package/node_modules/async/eachLimit.js +4 -4
  66. package/node_modules/async/eachOf.js +85 -16
  67. package/node_modules/async/eachOfLimit.js +3 -3
  68. package/node_modules/async/eachOfSeries.js +2 -2
  69. package/node_modules/async/eachSeries.js +2 -2
  70. package/node_modules/async/ensureAsync.js +2 -2
  71. package/node_modules/async/every.js +74 -9
  72. package/node_modules/async/everyLimit.js +3 -3
  73. package/node_modules/async/everySeries.js +3 -3
  74. package/node_modules/async/filter.js +49 -9
  75. package/node_modules/async/filterLimit.js +3 -3
  76. package/node_modules/async/filterSeries.js +3 -3
  77. package/node_modules/async/find.js +43 -8
  78. package/node_modules/async/findLimit.js +3 -3
  79. package/node_modules/async/findSeries.js +3 -3
  80. package/node_modules/async/flatMap.js +72 -4
  81. package/node_modules/async/flatMapLimit.js +3 -3
  82. package/node_modules/async/flatMapSeries.js +2 -2
  83. package/node_modules/async/foldl.js +87 -11
  84. package/node_modules/async/foldr.js +2 -2
  85. package/node_modules/async/forEach.js +69 -28
  86. package/node_modules/async/forEachLimit.js +4 -4
  87. package/node_modules/async/forEachOf.js +85 -16
  88. package/node_modules/async/forEachOfLimit.js +3 -3
  89. package/node_modules/async/forEachOfSeries.js +2 -2
  90. package/node_modules/async/forEachSeries.js +2 -2
  91. package/node_modules/async/forever.js +4 -4
  92. package/node_modules/async/groupBy.js +62 -8
  93. package/node_modules/async/groupByLimit.js +3 -3
  94. package/node_modules/async/groupBySeries.js +2 -2
  95. package/node_modules/async/inject.js +87 -11
  96. package/node_modules/async/internal/applyEach.js +2 -2
  97. package/node_modules/async/internal/asyncEachOfLimit.js +1 -1
  98. package/node_modules/async/internal/consoleFunc.js +5 -1
  99. package/node_modules/async/internal/createTester.js +2 -2
  100. package/node_modules/async/internal/eachOfLimit.js +6 -6
  101. package/node_modules/async/internal/filter.js +2 -2
  102. package/node_modules/async/internal/iterator.js +5 -2
  103. package/node_modules/async/internal/map.js +1 -1
  104. package/node_modules/async/internal/parallel.js +3 -3
  105. package/node_modules/async/internal/queue.js +4 -4
  106. package/node_modules/async/internal/reject.js +2 -2
  107. package/node_modules/async/internal/setImmediate.js +6 -2
  108. package/node_modules/async/internal/wrapAsync.js +1 -1
  109. package/node_modules/async/log.js +1 -1
  110. package/node_modules/async/map.js +86 -6
  111. package/node_modules/async/mapLimit.js +3 -3
  112. package/node_modules/async/mapSeries.js +3 -3
  113. package/node_modules/async/mapValues.js +102 -12
  114. package/node_modules/async/mapValuesLimit.js +4 -4
  115. package/node_modules/async/mapValuesSeries.js +1 -1
  116. package/node_modules/async/memoize.js +3 -3
  117. package/node_modules/async/nextTick.js +3 -3
  118. package/node_modules/async/package.json +4 -6
  119. package/node_modules/async/parallel.js +96 -7
  120. package/node_modules/async/parallelLimit.js +2 -2
  121. package/node_modules/async/priorityQueue.js +11 -4
  122. package/node_modules/async/queue.js +4 -4
  123. package/node_modules/async/race.js +3 -3
  124. package/node_modules/async/reduce.js +87 -11
  125. package/node_modules/async/reduceRight.js +2 -2
  126. package/node_modules/async/reflect.js +2 -2
  127. package/node_modules/async/reflectAll.js +1 -1
  128. package/node_modules/async/reject.js +44 -10
  129. package/node_modules/async/rejectLimit.js +3 -3
  130. package/node_modules/async/rejectSeries.js +3 -3
  131. package/node_modules/async/retry.js +2 -2
  132. package/node_modules/async/retryable.js +4 -4
  133. package/node_modules/async/select.js +49 -9
  134. package/node_modules/async/selectLimit.js +3 -3
  135. package/node_modules/async/selectSeries.js +3 -3
  136. package/node_modules/async/seq.js +4 -4
  137. package/node_modules/async/series.js +112 -12
  138. package/node_modules/async/setImmediate.js +1 -1
  139. package/node_modules/async/some.js +75 -9
  140. package/node_modules/async/someLimit.js +3 -3
  141. package/node_modules/async/someSeries.js +3 -3
  142. package/node_modules/async/sortBy.js +121 -19
  143. package/node_modules/async/timeout.js +2 -2
  144. package/node_modules/async/times.js +1 -1
  145. package/node_modules/async/timesLimit.js +3 -3
  146. package/node_modules/async/timesSeries.js +1 -1
  147. package/node_modules/async/transform.js +111 -19
  148. package/node_modules/async/tryEach.js +3 -3
  149. package/node_modules/async/until.js +3 -3
  150. package/node_modules/async/waterfall.js +4 -4
  151. package/node_modules/async/whilst.js +3 -3
  152. package/node_modules/async/wrapSync.js +3 -3
  153. package/node_modules/color/README.md +9 -0
  154. package/node_modules/color/index.js +4 -1
  155. package/node_modules/color/package.json +8 -8
  156. package/node_modules/color-string/README.md +6 -2
  157. package/node_modules/color-string/index.js +21 -13
  158. package/node_modules/color-string/package.json +4 -4
  159. package/node_modules/colorspace/package.json +5 -5
  160. package/node_modules/fecha/dist/fecha.min.js +1 -1
  161. package/node_modules/fecha/dist/fecha.min.js.map +1 -0
  162. package/node_modules/fecha/lib/fecha.d.ts +2 -2
  163. package/node_modules/fecha/lib/fecha.js +35 -18
  164. package/node_modules/fecha/lib/fecha.js.map +1 -0
  165. package/node_modules/fecha/lib/fecha.umd.js +35 -18
  166. package/node_modules/fecha/lib/fecha.umd.js.map +1 -0
  167. package/node_modules/fecha/package.json +9 -10
  168. package/node_modules/fecha/src/fecha.ts +524 -0
  169. package/node_modules/logform/.eslintrc +1 -1
  170. package/node_modules/logform/CHANGELOG.md +24 -0
  171. package/node_modules/logform/README.md +15 -17
  172. package/node_modules/logform/browser.js +3 -1
  173. package/node_modules/logform/cli.js +1 -1
  174. package/node_modules/logform/colorize.js +2 -2
  175. package/node_modules/logform/dist/browser.js +8 -2
  176. package/node_modules/logform/dist/cli.js +2 -2
  177. package/node_modules/logform/dist/colorize.js +5 -5
  178. package/node_modules/logform/dist/errors.js +1 -1
  179. package/node_modules/logform/dist/format.js +9 -5
  180. package/node_modules/logform/dist/index.js +53 -20
  181. package/node_modules/logform/dist/json.js +7 -6
  182. package/node_modules/logform/dist/logstash.js +1 -1
  183. package/node_modules/logform/dist/pad-levels.js +4 -4
  184. package/node_modules/logform/dist/printf.js +1 -1
  185. package/node_modules/logform/dist/simple.js +1 -1
  186. package/node_modules/logform/dist/splat.js +2 -2
  187. package/node_modules/logform/dist/uncolorize.js +1 -1
  188. package/node_modules/logform/errors.js +1 -1
  189. package/node_modules/logform/index.d.ts +36 -0
  190. package/node_modules/logform/index.js +19 -20
  191. package/node_modules/logform/json.js +7 -7
  192. package/node_modules/logform/logstash.js +1 -1
  193. package/node_modules/logform/package.json +10 -9
  194. package/node_modules/logform/simple.js +1 -1
  195. package/node_modules/logform/uncolorize.js +1 -1
  196. package/node_modules/moment/CHANGELOG.md +6 -0
  197. package/node_modules/moment/dist/locale/ar-kw.js +4 -3
  198. package/node_modules/moment/dist/locale/ar-ly.js +1 -1
  199. package/node_modules/moment/dist/locale/ar-ma.js +4 -3
  200. package/node_modules/moment/dist/locale/ar-sa.js +4 -3
  201. package/node_modules/moment/dist/locale/ar-tn.js +4 -3
  202. package/node_modules/moment/dist/locale/az.js +4 -3
  203. package/node_modules/moment/dist/locale/be.js +10 -9
  204. package/node_modules/moment/dist/locale/bn-bd.js +4 -3
  205. package/node_modules/moment/dist/locale/bn.js +4 -3
  206. package/node_modules/moment/dist/locale/bo.js +8 -6
  207. package/node_modules/moment/dist/locale/br.js +6 -3
  208. package/node_modules/moment/dist/locale/bs.js +4 -3
  209. package/node_modules/moment/dist/locale/ca.js +12 -9
  210. package/node_modules/moment/dist/locale/cs.js +15 -6
  211. package/node_modules/moment/dist/locale/cv.js +4 -3
  212. package/node_modules/moment/dist/locale/cy.js +4 -3
  213. package/node_modules/moment/dist/locale/de-at.js +6 -6
  214. package/node_modules/moment/dist/locale/de-ch.js +6 -6
  215. package/node_modules/moment/dist/locale/de.js +6 -6
  216. package/node_modules/moment/dist/locale/el.js +8 -6
  217. package/node_modules/moment/dist/locale/es-do.js +10 -6
  218. package/node_modules/moment/dist/locale/es-mx.js +10 -6
  219. package/node_modules/moment/dist/locale/es-us.js +10 -6
  220. package/node_modules/moment/dist/locale/es.js +10 -6
  221. package/node_modules/moment/dist/locale/et.js +6 -6
  222. package/node_modules/moment/dist/locale/eu.js +8 -6
  223. package/node_modules/moment/dist/locale/fa.js +12 -9
  224. package/node_modules/moment/dist/locale/fi.js +12 -9
  225. package/node_modules/moment/dist/locale/fo.js +4 -3
  226. package/node_modules/moment/dist/locale/fr-ca.js +4 -3
  227. package/node_modules/moment/dist/locale/fr-ch.js +4 -3
  228. package/node_modules/moment/dist/locale/fr.js +10 -6
  229. package/node_modules/moment/dist/locale/fy.js +4 -6
  230. package/node_modules/moment/dist/locale/gl.js +4 -3
  231. package/node_modules/moment/dist/locale/gom-deva.js +8 -6
  232. package/node_modules/moment/dist/locale/gom-latn.js +6 -6
  233. package/node_modules/moment/dist/locale/gu.js +4 -3
  234. package/node_modules/moment/dist/locale/he.js +4 -4
  235. package/node_modules/moment/dist/locale/hi.js +14 -10
  236. package/node_modules/moment/dist/locale/hr.js +7 -5
  237. package/node_modules/moment/dist/locale/hu.js +6 -6
  238. package/node_modules/moment/dist/locale/hy-am.js +8 -6
  239. package/node_modules/moment/dist/locale/is.js +4 -3
  240. package/node_modules/moment/dist/locale/ka.js +10 -10
  241. package/node_modules/moment/dist/locale/km.js +4 -3
  242. package/node_modules/moment/dist/locale/kn.js +4 -3
  243. package/node_modules/moment/dist/locale/ku.js +6 -6
  244. package/node_modules/moment/dist/locale/lb.js +8 -6
  245. package/node_modules/moment/dist/locale/lo.js +4 -3
  246. package/node_modules/moment/dist/locale/lt.js +8 -6
  247. package/node_modules/moment/dist/locale/lv.js +4 -3
  248. package/node_modules/moment/dist/locale/me.js +2 -3
  249. package/node_modules/moment/dist/locale/mi.js +4 -3
  250. package/node_modules/moment/dist/locale/ml.js +8 -6
  251. package/node_modules/moment/dist/locale/mn.js +4 -3
  252. package/node_modules/moment/dist/locale/mr.js +4 -3
  253. package/node_modules/moment/dist/locale/mt.js +4 -3
  254. package/node_modules/moment/dist/locale/nb.js +2 -3
  255. package/node_modules/moment/dist/locale/ne.js +4 -3
  256. package/node_modules/moment/dist/locale/nl-be.js +12 -12
  257. package/node_modules/moment/dist/locale/nl.js +12 -12
  258. package/node_modules/moment/dist/locale/nn.js +2 -3
  259. package/node_modules/moment/dist/locale/oc-lnc.js +8 -6
  260. package/node_modules/moment/dist/locale/pa-in.js +4 -3
  261. package/node_modules/moment/dist/locale/pl.js +10 -9
  262. package/node_modules/moment/dist/locale/pt-br.js +4 -3
  263. package/node_modules/moment/dist/locale/pt.js +4 -3
  264. package/node_modules/moment/dist/locale/ro.js +4 -3
  265. package/node_modules/moment/dist/locale/ru.js +20 -13
  266. package/node_modules/moment/dist/locale/se.js +6 -6
  267. package/node_modules/moment/dist/locale/si.js +4 -3
  268. package/node_modules/moment/dist/locale/sk.js +4 -3
  269. package/node_modules/moment/dist/locale/sl.js +4 -3
  270. package/node_modules/moment/dist/locale/sr-cyrl.js +32 -22
  271. package/node_modules/moment/dist/locale/sr.js +32 -22
  272. package/node_modules/moment/dist/locale/ss.js +4 -3
  273. package/node_modules/moment/dist/locale/sw.js +4 -3
  274. package/node_modules/moment/dist/locale/ta.js +8 -6
  275. package/node_modules/moment/dist/locale/te.js +8 -6
  276. package/node_modules/moment/dist/locale/tg.js +4 -3
  277. package/node_modules/moment/dist/locale/th.js +4 -3
  278. package/node_modules/moment/dist/locale/tlh.js +8 -9
  279. package/node_modules/moment/dist/locale/tr.js +1 -1
  280. package/node_modules/moment/dist/locale/tzm-latn.js +4 -3
  281. package/node_modules/moment/dist/locale/tzm.js +4 -3
  282. package/node_modules/moment/dist/locale/ug-cn.js +4 -3
  283. package/node_modules/moment/dist/locale/uk.js +16 -12
  284. package/node_modules/moment/dist/locale/uz-latn.js +4 -3
  285. package/node_modules/moment/dist/locale/vi.js +4 -3
  286. package/node_modules/moment/dist/locale/x-pseudo.js +8 -6
  287. package/node_modules/moment/dist/moment.js +95 -80
  288. package/node_modules/moment/locale/ar-kw.js +4 -3
  289. package/node_modules/moment/locale/ar-ly.js +1 -1
  290. package/node_modules/moment/locale/ar-ma.js +4 -3
  291. package/node_modules/moment/locale/ar-sa.js +4 -3
  292. package/node_modules/moment/locale/ar-tn.js +4 -3
  293. package/node_modules/moment/locale/az.js +4 -3
  294. package/node_modules/moment/locale/be.js +10 -9
  295. package/node_modules/moment/locale/bn-bd.js +4 -3
  296. package/node_modules/moment/locale/bn.js +4 -3
  297. package/node_modules/moment/locale/bo.js +8 -6
  298. package/node_modules/moment/locale/br.js +6 -3
  299. package/node_modules/moment/locale/bs.js +4 -3
  300. package/node_modules/moment/locale/ca.js +12 -9
  301. package/node_modules/moment/locale/cs.js +15 -6
  302. package/node_modules/moment/locale/cv.js +4 -3
  303. package/node_modules/moment/locale/cy.js +4 -3
  304. package/node_modules/moment/locale/de-at.js +6 -6
  305. package/node_modules/moment/locale/de-ch.js +6 -6
  306. package/node_modules/moment/locale/de.js +6 -6
  307. package/node_modules/moment/locale/el.js +8 -6
  308. package/node_modules/moment/locale/es-do.js +10 -6
  309. package/node_modules/moment/locale/es-mx.js +10 -6
  310. package/node_modules/moment/locale/es-us.js +10 -6
  311. package/node_modules/moment/locale/es.js +10 -6
  312. package/node_modules/moment/locale/et.js +6 -6
  313. package/node_modules/moment/locale/eu.js +8 -6
  314. package/node_modules/moment/locale/fa.js +12 -9
  315. package/node_modules/moment/locale/fi.js +12 -9
  316. package/node_modules/moment/locale/fo.js +4 -3
  317. package/node_modules/moment/locale/fr-ca.js +4 -3
  318. package/node_modules/moment/locale/fr-ch.js +4 -3
  319. package/node_modules/moment/locale/fr.js +10 -6
  320. package/node_modules/moment/locale/fy.js +4 -6
  321. package/node_modules/moment/locale/gl.js +4 -3
  322. package/node_modules/moment/locale/gom-deva.js +8 -6
  323. package/node_modules/moment/locale/gom-latn.js +6 -6
  324. package/node_modules/moment/locale/gu.js +4 -3
  325. package/node_modules/moment/locale/he.js +4 -4
  326. package/node_modules/moment/locale/hi.js +14 -10
  327. package/node_modules/moment/locale/hr.js +7 -5
  328. package/node_modules/moment/locale/hu.js +6 -6
  329. package/node_modules/moment/locale/hy-am.js +8 -6
  330. package/node_modules/moment/locale/is.js +4 -3
  331. package/node_modules/moment/locale/ka.js +10 -10
  332. package/node_modules/moment/locale/km.js +4 -3
  333. package/node_modules/moment/locale/kn.js +4 -3
  334. package/node_modules/moment/locale/ku.js +6 -6
  335. package/node_modules/moment/locale/lb.js +8 -6
  336. package/node_modules/moment/locale/lo.js +4 -3
  337. package/node_modules/moment/locale/lt.js +8 -6
  338. package/node_modules/moment/locale/lv.js +4 -3
  339. package/node_modules/moment/locale/me.js +2 -3
  340. package/node_modules/moment/locale/mi.js +4 -3
  341. package/node_modules/moment/locale/ml.js +8 -6
  342. package/node_modules/moment/locale/mn.js +4 -3
  343. package/node_modules/moment/locale/mr.js +4 -3
  344. package/node_modules/moment/locale/mt.js +4 -3
  345. package/node_modules/moment/locale/nb.js +2 -3
  346. package/node_modules/moment/locale/ne.js +4 -3
  347. package/node_modules/moment/locale/nl-be.js +12 -12
  348. package/node_modules/moment/locale/nl.js +12 -12
  349. package/node_modules/moment/locale/nn.js +2 -3
  350. package/node_modules/moment/locale/oc-lnc.js +8 -6
  351. package/node_modules/moment/locale/pa-in.js +4 -3
  352. package/node_modules/moment/locale/pl.js +10 -9
  353. package/node_modules/moment/locale/pt-br.js +4 -3
  354. package/node_modules/moment/locale/pt.js +4 -3
  355. package/node_modules/moment/locale/ro.js +4 -3
  356. package/node_modules/moment/locale/ru.js +20 -13
  357. package/node_modules/moment/locale/se.js +6 -6
  358. package/node_modules/moment/locale/si.js +4 -3
  359. package/node_modules/moment/locale/sk.js +4 -3
  360. package/node_modules/moment/locale/sl.js +4 -3
  361. package/node_modules/moment/locale/sr-cyrl.js +32 -22
  362. package/node_modules/moment/locale/sr.js +32 -22
  363. package/node_modules/moment/locale/ss.js +4 -3
  364. package/node_modules/moment/locale/sw.js +4 -3
  365. package/node_modules/moment/locale/ta.js +8 -6
  366. package/node_modules/moment/locale/te.js +8 -6
  367. package/node_modules/moment/locale/tg.js +4 -3
  368. package/node_modules/moment/locale/th.js +4 -3
  369. package/node_modules/moment/locale/tlh.js +8 -9
  370. package/node_modules/moment/locale/tr.js +1 -1
  371. package/node_modules/moment/locale/tzm-latn.js +4 -3
  372. package/node_modules/moment/locale/tzm.js +4 -3
  373. package/node_modules/moment/locale/ug-cn.js +4 -3
  374. package/node_modules/moment/locale/uk.js +16 -12
  375. package/node_modules/moment/locale/uz-latn.js +4 -3
  376. package/node_modules/moment/locale/vi.js +4 -3
  377. package/node_modules/moment/locale/x-pseudo.js +8 -6
  378. package/node_modules/moment/min/locales.js +613 -474
  379. package/node_modules/moment/min/locales.min.js +1 -1
  380. package/node_modules/moment/min/locales.min.js.map +1 -1
  381. package/node_modules/moment/min/moment-with-locales.js +707 -553
  382. package/node_modules/moment/min/moment-with-locales.min.js +1 -1
  383. package/node_modules/moment/min/moment-with-locales.min.js.map +1 -1
  384. package/node_modules/moment/min/moment.min.js +1 -1
  385. package/node_modules/moment/min/moment.min.js.map +1 -1
  386. package/node_modules/moment/moment.js +95 -80
  387. package/node_modules/moment/package.json +4 -4
  388. package/node_modules/moment/src/lib/create/from-string-and-array.js +4 -3
  389. package/node_modules/moment/src/lib/create/from-string-and-format.js +4 -3
  390. package/node_modules/moment/src/lib/create/from-string.js +11 -7
  391. package/node_modules/moment/src/lib/duration/create.js +2 -1
  392. package/node_modules/moment/src/lib/duration/valid.js +3 -2
  393. package/node_modules/moment/src/lib/format/format.js +2 -1
  394. package/node_modules/moment/src/lib/locale/locales.js +7 -1
  395. package/node_modules/moment/src/lib/moment/constructor.js +6 -3
  396. package/node_modules/moment/src/lib/moment/get-set.js +3 -2
  397. package/node_modules/moment/src/lib/parse/regex.js +8 -10
  398. package/node_modules/moment/src/lib/parse/token.js +4 -2
  399. package/node_modules/moment/src/lib/units/day-of-week.js +2 -3
  400. package/node_modules/moment/src/lib/units/era.js +10 -12
  401. package/node_modules/moment/src/lib/units/month.js +6 -6
  402. package/node_modules/moment/src/lib/units/week-year.js +6 -8
  403. package/node_modules/moment/src/lib/units/week.js +6 -8
  404. package/node_modules/moment/src/lib/utils/deprecate.js +3 -2
  405. package/node_modules/moment/src/lib/utils/is-moment-input.js +3 -2
  406. package/node_modules/moment/src/lib/utils/map.js +3 -2
  407. package/node_modules/moment/src/locale/ar-kw.js +4 -3
  408. package/node_modules/moment/src/locale/ar-ly.js +1 -1
  409. package/node_modules/moment/src/locale/ar-ma.js +4 -3
  410. package/node_modules/moment/src/locale/ar-sa.js +4 -3
  411. package/node_modules/moment/src/locale/ar-tn.js +4 -3
  412. package/node_modules/moment/src/locale/az.js +4 -3
  413. package/node_modules/moment/src/locale/be.js +10 -9
  414. package/node_modules/moment/src/locale/bn-bd.js +4 -3
  415. package/node_modules/moment/src/locale/bn.js +4 -3
  416. package/node_modules/moment/src/locale/bo.js +8 -6
  417. package/node_modules/moment/src/locale/br.js +6 -3
  418. package/node_modules/moment/src/locale/bs.js +4 -3
  419. package/node_modules/moment/src/locale/ca.js +12 -9
  420. package/node_modules/moment/src/locale/cs.js +15 -6
  421. package/node_modules/moment/src/locale/cv.js +4 -3
  422. package/node_modules/moment/src/locale/cy.js +4 -3
  423. package/node_modules/moment/src/locale/de-at.js +6 -6
  424. package/node_modules/moment/src/locale/de-ch.js +6 -6
  425. package/node_modules/moment/src/locale/de.js +6 -6
  426. package/node_modules/moment/src/locale/el.js +8 -6
  427. package/node_modules/moment/src/locale/es-do.js +10 -6
  428. package/node_modules/moment/src/locale/es-mx.js +10 -6
  429. package/node_modules/moment/src/locale/es-us.js +10 -6
  430. package/node_modules/moment/src/locale/es.js +10 -6
  431. package/node_modules/moment/src/locale/et.js +6 -6
  432. package/node_modules/moment/src/locale/eu.js +8 -6
  433. package/node_modules/moment/src/locale/fa.js +12 -9
  434. package/node_modules/moment/src/locale/fi.js +12 -9
  435. package/node_modules/moment/src/locale/fo.js +4 -3
  436. package/node_modules/moment/src/locale/fr-ca.js +4 -3
  437. package/node_modules/moment/src/locale/fr-ch.js +4 -3
  438. package/node_modules/moment/src/locale/fr.js +10 -6
  439. package/node_modules/moment/src/locale/fy.js +4 -6
  440. package/node_modules/moment/src/locale/gl.js +4 -3
  441. package/node_modules/moment/src/locale/gom-deva.js +8 -6
  442. package/node_modules/moment/src/locale/gom-latn.js +6 -6
  443. package/node_modules/moment/src/locale/gu.js +4 -3
  444. package/node_modules/moment/src/locale/he.js +4 -4
  445. package/node_modules/moment/src/locale/hi.js +14 -10
  446. package/node_modules/moment/src/locale/hr.js +7 -5
  447. package/node_modules/moment/src/locale/hu.js +6 -6
  448. package/node_modules/moment/src/locale/hy-am.js +8 -6
  449. package/node_modules/moment/src/locale/is.js +4 -3
  450. package/node_modules/moment/src/locale/ka.js +10 -10
  451. package/node_modules/moment/src/locale/km.js +4 -3
  452. package/node_modules/moment/src/locale/kn.js +4 -3
  453. package/node_modules/moment/src/locale/ku.js +6 -6
  454. package/node_modules/moment/src/locale/lb.js +8 -6
  455. package/node_modules/moment/src/locale/lo.js +4 -3
  456. package/node_modules/moment/src/locale/lt.js +8 -6
  457. package/node_modules/moment/src/locale/lv.js +4 -3
  458. package/node_modules/moment/src/locale/me.js +2 -3
  459. package/node_modules/moment/src/locale/mi.js +4 -3
  460. package/node_modules/moment/src/locale/ml.js +8 -6
  461. package/node_modules/moment/src/locale/mn.js +4 -3
  462. package/node_modules/moment/src/locale/mr.js +4 -3
  463. package/node_modules/moment/src/locale/mt.js +4 -3
  464. package/node_modules/moment/src/locale/nb.js +2 -3
  465. package/node_modules/moment/src/locale/ne.js +4 -3
  466. package/node_modules/moment/src/locale/nl-be.js +12 -12
  467. package/node_modules/moment/src/locale/nl.js +12 -12
  468. package/node_modules/moment/src/locale/nn.js +2 -3
  469. package/node_modules/moment/src/locale/oc-lnc.js +8 -6
  470. package/node_modules/moment/src/locale/pa-in.js +4 -3
  471. package/node_modules/moment/src/locale/pl.js +10 -9
  472. package/node_modules/moment/src/locale/pt-br.js +4 -3
  473. package/node_modules/moment/src/locale/pt.js +4 -3
  474. package/node_modules/moment/src/locale/ro.js +4 -3
  475. package/node_modules/moment/src/locale/ru.js +20 -13
  476. package/node_modules/moment/src/locale/se.js +6 -6
  477. package/node_modules/moment/src/locale/si.js +4 -3
  478. package/node_modules/moment/src/locale/sk.js +4 -3
  479. package/node_modules/moment/src/locale/sl.js +4 -3
  480. package/node_modules/moment/src/locale/sr-cyrl.js +32 -22
  481. package/node_modules/moment/src/locale/sr.js +32 -22
  482. package/node_modules/moment/src/locale/ss.js +4 -3
  483. package/node_modules/moment/src/locale/sw.js +4 -3
  484. package/node_modules/moment/src/locale/ta.js +8 -6
  485. package/node_modules/moment/src/locale/te.js +8 -6
  486. package/node_modules/moment/src/locale/tg.js +4 -3
  487. package/node_modules/moment/src/locale/th.js +4 -3
  488. package/node_modules/moment/src/locale/tlh.js +8 -9
  489. package/node_modules/moment/src/locale/tr.js +1 -1
  490. package/node_modules/moment/src/locale/tzm-latn.js +4 -3
  491. package/node_modules/moment/src/locale/tzm.js +4 -3
  492. package/node_modules/moment/src/locale/ug-cn.js +4 -3
  493. package/node_modules/moment/src/locale/uk.js +16 -12
  494. package/node_modules/moment/src/locale/uz-latn.js +4 -3
  495. package/node_modules/moment/src/locale/vi.js +4 -3
  496. package/node_modules/moment/src/locale/x-pseudo.js +8 -6
  497. package/node_modules/moment/src/moment.js +2 -2
  498. package/node_modules/moment/ts3.1-typings/moment.d.ts +1 -1
  499. package/node_modules/safe-stable-stringify/CHANGELOG.md +75 -0
  500. package/node_modules/safe-stable-stringify/LICENSE +21 -0
  501. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  502. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  503. package/node_modules/safe-stable-stringify/index.d.ts +18 -0
  504. package/node_modules/safe-stable-stringify/index.js +618 -0
  505. package/node_modules/safe-stable-stringify/package.json +69 -0
  506. package/node_modules/safe-stable-stringify/readme.md +170 -0
  507. package/node_modules/safe-stable-stringify/tsconfig.json +22 -0
  508. package/node_modules/winston/LICENSE +18 -18
  509. package/node_modules/winston/README.md +1231 -1230
  510. package/node_modules/winston/dist/winston/common.js +10 -10
  511. package/node_modules/winston/dist/winston/config/index.js +17 -17
  512. package/node_modules/winston/dist/winston/container.js +46 -46
  513. package/node_modules/winston/dist/winston/create-logger.js +28 -24
  514. package/node_modules/winston/dist/winston/exception-handler.js +49 -49
  515. package/node_modules/winston/dist/winston/exception-stream.js +27 -27
  516. package/node_modules/winston/dist/winston/logger.js +152 -138
  517. package/node_modules/winston/dist/winston/profiler.js +22 -22
  518. package/node_modules/winston/dist/winston/rejection-handler.js +54 -54
  519. package/node_modules/winston/dist/winston/tail-file.js +14 -14
  520. package/node_modules/winston/dist/winston/transports/console.js +31 -31
  521. package/node_modules/winston/dist/winston/transports/file.js +101 -101
  522. package/node_modules/winston/dist/winston/transports/http.js +119 -41
  523. package/node_modules/winston/dist/winston/transports/index.js +17 -17
  524. package/node_modules/winston/dist/winston/transports/stream.js +24 -24
  525. package/node_modules/winston/dist/winston.js +91 -97
  526. package/node_modules/winston/index.d.ts +213 -193
  527. package/node_modules/winston/lib/winston/common.js +61 -61
  528. package/node_modules/winston/lib/winston/config/index.d.ts +99 -98
  529. package/node_modules/winston/lib/winston/config/index.js +35 -35
  530. package/node_modules/winston/lib/winston/container.js +114 -114
  531. package/node_modules/winston/lib/winston/create-logger.js +104 -104
  532. package/node_modules/winston/lib/winston/exception-handler.js +245 -245
  533. package/node_modules/winston/lib/winston/exception-stream.js +54 -54
  534. package/node_modules/winston/lib/winston/logger.js +676 -667
  535. package/node_modules/winston/lib/winston/profiler.js +51 -51
  536. package/node_modules/winston/lib/winston/rejection-handler.js +251 -251
  537. package/node_modules/winston/lib/winston/tail-file.js +124 -124
  538. package/node_modules/winston/lib/winston/transports/console.js +117 -117
  539. package/node_modules/winston/lib/winston/transports/file.js +695 -695
  540. package/node_modules/winston/lib/winston/transports/http.js +267 -202
  541. package/node_modules/winston/lib/winston/transports/index.d.ts +103 -100
  542. package/node_modules/winston/lib/winston/transports/index.js +56 -56
  543. package/node_modules/winston/lib/winston/transports/stream.js +63 -63
  544. package/node_modules/winston/lib/winston.js +176 -182
  545. package/node_modules/winston/node_modules/winston-transport/.babelrc +3 -0
  546. package/node_modules/winston/node_modules/winston-transport/.eslintrc +7 -0
  547. package/node_modules/winston/node_modules/winston-transport/.gitattributes +1 -0
  548. package/node_modules/winston/node_modules/winston-transport/.nyc_output/c3d7ddb9-cc26-466b-a4f6-993ad69e86f6.json +1 -0
  549. package/node_modules/winston/node_modules/winston-transport/.nyc_output/processinfo/c3d7ddb9-cc26-466b-a4f6-993ad69e86f6.json +1 -0
  550. package/node_modules/winston/node_modules/winston-transport/.nyc_output/processinfo/index.json +1 -0
  551. package/node_modules/winston/node_modules/winston-transport/CHANGELOG.md +126 -0
  552. package/node_modules/winston/node_modules/winston-transport/LICENSE +22 -0
  553. package/node_modules/winston/node_modules/winston-transport/README.md +50 -0
  554. package/node_modules/winston/node_modules/winston-transport/dist/index.js +215 -0
  555. package/node_modules/winston/node_modules/winston-transport/dist/legacy.js +116 -0
  556. package/node_modules/winston/node_modules/winston-transport/index.d.ts +39 -0
  557. package/node_modules/winston/node_modules/winston-transport/index.js +215 -0
  558. package/node_modules/winston/node_modules/winston-transport/legacy.js +119 -0
  559. package/node_modules/winston/node_modules/winston-transport/package.json +56 -0
  560. package/node_modules/winston/package.json +76 -75
  561. package/package.json +6 -4
  562. package/node_modules/@dabh/diagnostics/example.png +0 -0
  563. package/node_modules/color-string/CHANGELOG.md +0 -18
  564. package/node_modules/colorspace/test.js +0 -14
  565. package/node_modules/fecha/CHANGELOG.md +0 -67
  566. package/node_modules/logform/.travis.yml +0 -17
  567. package/node_modules/winston/CHANGELOG.md +0 -560
@@ -1,124 +1,124 @@
1
- /**
2
- * tail-file.js: TODO: add file header description.
3
- *
4
- * (C) 2010 Charlie Robbins
5
- * MIT LICENCE
6
- */
7
-
8
- 'use strict';
9
-
10
- const fs = require('fs');
11
- const { StringDecoder } = require('string_decoder');
12
- const { Stream } = require('readable-stream');
13
-
14
- /**
15
- * Simple no-op function.
16
- * @returns {undefined}
17
- */
18
- function noop() {}
19
-
20
- /**
21
- * TODO: add function description.
22
- * @param {Object} options - Options for tail.
23
- * @param {function} iter - Iterator function to execute on every line.
24
- * `tail -f` a file. Options must include file.
25
- * @returns {mixed} - TODO: add return description.
26
- */
27
- module.exports = (options, iter) => {
28
- const buffer = Buffer.alloc(64 * 1024);
29
- const decode = new StringDecoder('utf8');
30
- const stream = new Stream();
31
- let buff = '';
32
- let pos = 0;
33
- let row = 0;
34
-
35
- if (options.start === -1) {
36
- delete options.start;
37
- }
38
-
39
- stream.readable = true;
40
- stream.destroy = () => {
41
- stream.destroyed = true;
42
- stream.emit('end');
43
- stream.emit('close');
44
- };
45
-
46
- fs.open(options.file, 'a+', '0644', (err, fd) => {
47
- if (err) {
48
- if (!iter) {
49
- stream.emit('error', err);
50
- } else {
51
- iter(err);
52
- }
53
- stream.destroy();
54
- return;
55
- }
56
-
57
- (function read() {
58
- if (stream.destroyed) {
59
- fs.close(fd, noop);
60
- return;
61
- }
62
-
63
- return fs.read(fd, buffer, 0, buffer.length, pos, (error, bytes) => {
64
- if (error) {
65
- if (!iter) {
66
- stream.emit('error', error);
67
- } else {
68
- iter(error);
69
- }
70
- stream.destroy();
71
- return;
72
- }
73
-
74
- if (!bytes) {
75
- if (buff) {
76
- // eslint-disable-next-line eqeqeq
77
- if (options.start == null || row > options.start) {
78
- if (!iter) {
79
- stream.emit('line', buff);
80
- } else {
81
- iter(null, buff);
82
- }
83
- }
84
- row++;
85
- buff = '';
86
- }
87
- return setTimeout(read, 1000);
88
- }
89
-
90
- let data = decode.write(buffer.slice(0, bytes));
91
- if (!iter) {
92
- stream.emit('data', data);
93
- }
94
-
95
- data = (buff + data).split(/\n+/);
96
-
97
- const l = data.length - 1;
98
- let i = 0;
99
-
100
- for (; i < l; i++) {
101
- // eslint-disable-next-line eqeqeq
102
- if (options.start == null || row > options.start) {
103
- if (!iter) {
104
- stream.emit('line', data[i]);
105
- } else {
106
- iter(null, data[i]);
107
- }
108
- }
109
- row++;
110
- }
111
-
112
- buff = data[l];
113
- pos += bytes;
114
- return read();
115
- });
116
- }());
117
- });
118
-
119
- if (!iter) {
120
- return stream;
121
- }
122
-
123
- return stream.destroy;
124
- };
1
+ /**
2
+ * tail-file.js: TODO: add file header description.
3
+ *
4
+ * (C) 2010 Charlie Robbins
5
+ * MIT LICENCE
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ const fs = require('fs');
11
+ const { StringDecoder } = require('string_decoder');
12
+ const { Stream } = require('readable-stream');
13
+
14
+ /**
15
+ * Simple no-op function.
16
+ * @returns {undefined}
17
+ */
18
+ function noop() {}
19
+
20
+ /**
21
+ * TODO: add function description.
22
+ * @param {Object} options - Options for tail.
23
+ * @param {function} iter - Iterator function to execute on every line.
24
+ * `tail -f` a file. Options must include file.
25
+ * @returns {mixed} - TODO: add return description.
26
+ */
27
+ module.exports = (options, iter) => {
28
+ const buffer = Buffer.alloc(64 * 1024);
29
+ const decode = new StringDecoder('utf8');
30
+ const stream = new Stream();
31
+ let buff = '';
32
+ let pos = 0;
33
+ let row = 0;
34
+
35
+ if (options.start === -1) {
36
+ delete options.start;
37
+ }
38
+
39
+ stream.readable = true;
40
+ stream.destroy = () => {
41
+ stream.destroyed = true;
42
+ stream.emit('end');
43
+ stream.emit('close');
44
+ };
45
+
46
+ fs.open(options.file, 'a+', '0644', (err, fd) => {
47
+ if (err) {
48
+ if (!iter) {
49
+ stream.emit('error', err);
50
+ } else {
51
+ iter(err);
52
+ }
53
+ stream.destroy();
54
+ return;
55
+ }
56
+
57
+ (function read() {
58
+ if (stream.destroyed) {
59
+ fs.close(fd, noop);
60
+ return;
61
+ }
62
+
63
+ return fs.read(fd, buffer, 0, buffer.length, pos, (error, bytes) => {
64
+ if (error) {
65
+ if (!iter) {
66
+ stream.emit('error', error);
67
+ } else {
68
+ iter(error);
69
+ }
70
+ stream.destroy();
71
+ return;
72
+ }
73
+
74
+ if (!bytes) {
75
+ if (buff) {
76
+ // eslint-disable-next-line eqeqeq
77
+ if (options.start == null || row > options.start) {
78
+ if (!iter) {
79
+ stream.emit('line', buff);
80
+ } else {
81
+ iter(null, buff);
82
+ }
83
+ }
84
+ row++;
85
+ buff = '';
86
+ }
87
+ return setTimeout(read, 1000);
88
+ }
89
+
90
+ let data = decode.write(buffer.slice(0, bytes));
91
+ if (!iter) {
92
+ stream.emit('data', data);
93
+ }
94
+
95
+ data = (buff + data).split(/\n+/);
96
+
97
+ const l = data.length - 1;
98
+ let i = 0;
99
+
100
+ for (; i < l; i++) {
101
+ // eslint-disable-next-line eqeqeq
102
+ if (options.start == null || row > options.start) {
103
+ if (!iter) {
104
+ stream.emit('line', data[i]);
105
+ } else {
106
+ iter(null, data[i]);
107
+ }
108
+ }
109
+ row++;
110
+ }
111
+
112
+ buff = data[l];
113
+ pos += bytes;
114
+ return read();
115
+ });
116
+ }());
117
+ });
118
+
119
+ if (!iter) {
120
+ return stream;
121
+ }
122
+
123
+ return stream.destroy;
124
+ };
@@ -1,117 +1,117 @@
1
- /* eslint-disable no-console */
2
- /*
3
- * console.js: Transport for outputting to the console.
4
- *
5
- * (C) 2010 Charlie Robbins
6
- * MIT LICENCE
7
- */
8
-
9
- 'use strict';
10
-
11
- const os = require('os');
12
- const { LEVEL, MESSAGE } = require('triple-beam');
13
- const TransportStream = require('winston-transport');
14
-
15
- /**
16
- * Transport for outputting to the console.
17
- * @type {Console}
18
- * @extends {TransportStream}
19
- */
20
- module.exports = class Console extends TransportStream {
21
- /**
22
- * Constructor function for the Console transport object responsible for
23
- * persisting log messages and metadata to a terminal or TTY.
24
- * @param {!Object} [options={}] - Options for this instance.
25
- */
26
- constructor(options = {}) {
27
- super(options);
28
-
29
- // Expose the name of this Transport on the prototype
30
- this.name = options.name || 'console';
31
- this.stderrLevels = this._stringArrayToSet(options.stderrLevels);
32
- this.consoleWarnLevels = this._stringArrayToSet(options.consoleWarnLevels);
33
- this.eol = options.eol || os.EOL;
34
-
35
- this.setMaxListeners(30);
36
- }
37
-
38
- /**
39
- * Core logging method exposed to Winston.
40
- * @param {Object} info - TODO: add param description.
41
- * @param {Function} callback - TODO: add param description.
42
- * @returns {undefined}
43
- */
44
- log(info, callback) {
45
- setImmediate(() => this.emit('logged', info));
46
-
47
- // Remark: what if there is no raw...?
48
- if (this.stderrLevels[info[LEVEL]]) {
49
- if (console._stderr) {
50
- // Node.js maps `process.stderr` to `console._stderr`.
51
- console._stderr.write(`${info[MESSAGE]}${this.eol}`);
52
- } else {
53
- // console.error adds a newline
54
- console.error(info[MESSAGE]);
55
- }
56
-
57
- if (callback) {
58
- callback(); // eslint-disable-line callback-return
59
- }
60
- return;
61
- } else if (this.consoleWarnLevels[info[LEVEL]]) {
62
- if (console._stderr) {
63
- // Node.js maps `process.stderr` to `console._stderr`.
64
- // in Node.js console.warn is an alias for console.error
65
- console._stderr.write(`${info[MESSAGE]}${this.eol}`);
66
- } else {
67
- // console.warn adds a newline
68
- console.warn(info[MESSAGE]);
69
- }
70
-
71
- if (callback) {
72
- callback(); // eslint-disable-line callback-return
73
- }
74
- return;
75
- }
76
-
77
- if (console._stdout) {
78
- // Node.js maps `process.stdout` to `console._stdout`.
79
- console._stdout.write(`${info[MESSAGE]}${this.eol}`);
80
- } else {
81
- // console.log adds a newline.
82
- console.log(info[MESSAGE]);
83
- }
84
-
85
- if (callback) {
86
- callback(); // eslint-disable-line callback-return
87
- }
88
- }
89
-
90
- /**
91
- * Returns a Set-like object with strArray's elements as keys (each with the
92
- * value true).
93
- * @param {Array} strArray - Array of Set-elements as strings.
94
- * @param {?string} [errMsg] - Custom error message thrown on invalid input.
95
- * @returns {Object} - TODO: add return description.
96
- * @private
97
- */
98
- _stringArrayToSet(strArray, errMsg) {
99
- if (!strArray)
100
- return {};
101
-
102
- errMsg = errMsg || 'Cannot make set from type other than Array of string elements';
103
-
104
- if (!Array.isArray(strArray)) {
105
- throw new Error(errMsg);
106
- }
107
-
108
- return strArray.reduce((set, el) => {
109
- if (typeof el !== 'string') {
110
- throw new Error(errMsg);
111
- }
112
- set[el] = true;
113
-
114
- return set;
115
- }, {});
116
- }
117
- };
1
+ /* eslint-disable no-console */
2
+ /*
3
+ * console.js: Transport for outputting to the console.
4
+ *
5
+ * (C) 2010 Charlie Robbins
6
+ * MIT LICENCE
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ const os = require('os');
12
+ const { LEVEL, MESSAGE } = require('triple-beam');
13
+ const TransportStream = require('winston-transport');
14
+
15
+ /**
16
+ * Transport for outputting to the console.
17
+ * @type {Console}
18
+ * @extends {TransportStream}
19
+ */
20
+ module.exports = class Console extends TransportStream {
21
+ /**
22
+ * Constructor function for the Console transport object responsible for
23
+ * persisting log messages and metadata to a terminal or TTY.
24
+ * @param {!Object} [options={}] - Options for this instance.
25
+ */
26
+ constructor(options = {}) {
27
+ super(options);
28
+
29
+ // Expose the name of this Transport on the prototype
30
+ this.name = options.name || 'console';
31
+ this.stderrLevels = this._stringArrayToSet(options.stderrLevels);
32
+ this.consoleWarnLevels = this._stringArrayToSet(options.consoleWarnLevels);
33
+ this.eol = (typeof options.eol === 'string') ? options.eol : os.EOL;
34
+
35
+ this.setMaxListeners(30);
36
+ }
37
+
38
+ /**
39
+ * Core logging method exposed to Winston.
40
+ * @param {Object} info - TODO: add param description.
41
+ * @param {Function} callback - TODO: add param description.
42
+ * @returns {undefined}
43
+ */
44
+ log(info, callback) {
45
+ setImmediate(() => this.emit('logged', info));
46
+
47
+ // Remark: what if there is no raw...?
48
+ if (this.stderrLevels[info[LEVEL]]) {
49
+ if (console._stderr) {
50
+ // Node.js maps `process.stderr` to `console._stderr`.
51
+ console._stderr.write(`${info[MESSAGE]}${this.eol}`);
52
+ } else {
53
+ // console.error adds a newline
54
+ console.error(info[MESSAGE]);
55
+ }
56
+
57
+ if (callback) {
58
+ callback(); // eslint-disable-line callback-return
59
+ }
60
+ return;
61
+ } else if (this.consoleWarnLevels[info[LEVEL]]) {
62
+ if (console._stderr) {
63
+ // Node.js maps `process.stderr` to `console._stderr`.
64
+ // in Node.js console.warn is an alias for console.error
65
+ console._stderr.write(`${info[MESSAGE]}${this.eol}`);
66
+ } else {
67
+ // console.warn adds a newline
68
+ console.warn(info[MESSAGE]);
69
+ }
70
+
71
+ if (callback) {
72
+ callback(); // eslint-disable-line callback-return
73
+ }
74
+ return;
75
+ }
76
+
77
+ if (console._stdout) {
78
+ // Node.js maps `process.stdout` to `console._stdout`.
79
+ console._stdout.write(`${info[MESSAGE]}${this.eol}`);
80
+ } else {
81
+ // console.log adds a newline.
82
+ console.log(info[MESSAGE]);
83
+ }
84
+
85
+ if (callback) {
86
+ callback(); // eslint-disable-line callback-return
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Returns a Set-like object with strArray's elements as keys (each with the
92
+ * value true).
93
+ * @param {Array} strArray - Array of Set-elements as strings.
94
+ * @param {?string} [errMsg] - Custom error message thrown on invalid input.
95
+ * @returns {Object} - TODO: add return description.
96
+ * @private
97
+ */
98
+ _stringArrayToSet(strArray, errMsg) {
99
+ if (!strArray)
100
+ return {};
101
+
102
+ errMsg = errMsg || 'Cannot make set from type other than Array of string elements';
103
+
104
+ if (!Array.isArray(strArray)) {
105
+ throw new Error(errMsg);
106
+ }
107
+
108
+ return strArray.reduce((set, el) => {
109
+ if (typeof el !== 'string') {
110
+ throw new Error(errMsg);
111
+ }
112
+ set[el] = true;
113
+
114
+ return set;
115
+ }, {});
116
+ }
117
+ };