@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,98 +1,99 @@
1
- // Type definitions for winston 3.0
2
- // Project: https://github.com/winstonjs/winston
3
-
4
- /// <reference types="node" />
5
-
6
- declare namespace winston {
7
- interface AbstractConfigSetLevels {
8
- [key: string]: number;
9
- }
10
-
11
- interface AbstractConfigSetColors {
12
- [key: string]: string | string[];
13
- }
14
-
15
- interface AbstractConfigSet {
16
- levels: AbstractConfigSetLevels;
17
- colors: AbstractConfigSetColors;
18
- }
19
-
20
- interface CliConfigSetLevels extends AbstractConfigSetLevels {
21
- error: number;
22
- warn: number;
23
- help: number;
24
- data: number;
25
- info: number;
26
- debug: number;
27
- prompt: number;
28
- verbose: number;
29
- input: number;
30
- silly: number;
31
- }
32
-
33
- interface CliConfigSetColors extends AbstractConfigSetColors {
34
- error: string | string[];
35
- warn: string | string[];
36
- help: string | string[];
37
- data: string | string[];
38
- info: string | string[];
39
- debug: string | string[];
40
- prompt: string | string[];
41
- verbose: string | string[];
42
- input: string | string[];
43
- silly: string | string[];
44
- }
45
-
46
- interface NpmConfigSetLevels extends AbstractConfigSetLevels {
47
- error: number;
48
- warn: number;
49
- info: number;
50
- http: number;
51
- verbose: number;
52
- debug: number;
53
- silly: number;
54
- }
55
-
56
- interface NpmConfigSetColors extends AbstractConfigSetColors {
57
- error: string | string[];
58
- warn: string | string[];
59
- info: string | string[];
60
- verbose: string | string[];
61
- debug: string | string[];
62
- silly: string | string[];
63
- }
64
-
65
- interface SyslogConfigSetLevels extends AbstractConfigSetLevels {
66
- emerg: number;
67
- alert: number;
68
- crit: number;
69
- error: number;
70
- warning: number;
71
- notice: number;
72
- info: number;
73
- debug: number;
74
- }
75
-
76
- interface SyslogConfigSetColors extends AbstractConfigSetColors {
77
- emerg: string | string[];
78
- alert: string | string[];
79
- crit: string | string[];
80
- error: string | string[];
81
- warning: string | string[];
82
- notice: string | string[];
83
- info: string | string[];
84
- debug: string | string[];
85
- }
86
-
87
- interface Config {
88
- allColors: AbstractConfigSetColors;
89
- cli: { levels: CliConfigSetLevels, colors: CliConfigSetColors };
90
- npm: { levels: NpmConfigSetLevels, colors: NpmConfigSetColors };
91
- syslog: { levels: SyslogConfigSetLevels, colors: SyslogConfigSetColors };
92
-
93
- addColors(colors: AbstractConfigSetColors): void;
94
- }
95
- }
96
-
97
- declare const winston: winston.Config;
98
- export = winston;
1
+ // Type definitions for winston 3.0
2
+ // Project: https://github.com/winstonjs/winston
3
+
4
+ /// <reference types="node" />
5
+
6
+ declare namespace winston {
7
+ interface AbstractConfigSetLevels {
8
+ [key: string]: number;
9
+ }
10
+
11
+ interface AbstractConfigSetColors {
12
+ [key: string]: string | string[];
13
+ }
14
+
15
+ interface AbstractConfigSet {
16
+ levels: AbstractConfigSetLevels;
17
+ colors: AbstractConfigSetColors;
18
+ }
19
+
20
+ interface CliConfigSetLevels extends AbstractConfigSetLevels {
21
+ error: number;
22
+ warn: number;
23
+ help: number;
24
+ data: number;
25
+ info: number;
26
+ debug: number;
27
+ prompt: number;
28
+ verbose: number;
29
+ input: number;
30
+ silly: number;
31
+ }
32
+
33
+ interface CliConfigSetColors extends AbstractConfigSetColors {
34
+ error: string | string[];
35
+ warn: string | string[];
36
+ help: string | string[];
37
+ data: string | string[];
38
+ info: string | string[];
39
+ debug: string | string[];
40
+ prompt: string | string[];
41
+ verbose: string | string[];
42
+ input: string | string[];
43
+ silly: string | string[];
44
+ }
45
+
46
+ interface NpmConfigSetLevels extends AbstractConfigSetLevels {
47
+ error: number;
48
+ warn: number;
49
+ info: number;
50
+ http: number;
51
+ verbose: number;
52
+ debug: number;
53
+ silly: number;
54
+ }
55
+
56
+ interface NpmConfigSetColors extends AbstractConfigSetColors {
57
+ error: string | string[];
58
+ warn: string | string[];
59
+ info: string | string[];
60
+ http: string | string[];
61
+ verbose: string | string[];
62
+ debug: string | string[];
63
+ silly: string | string[];
64
+ }
65
+
66
+ interface SyslogConfigSetLevels extends AbstractConfigSetLevels {
67
+ emerg: number;
68
+ alert: number;
69
+ crit: number;
70
+ error: number;
71
+ warning: number;
72
+ notice: number;
73
+ info: number;
74
+ debug: number;
75
+ }
76
+
77
+ interface SyslogConfigSetColors extends AbstractConfigSetColors {
78
+ emerg: string | string[];
79
+ alert: string | string[];
80
+ crit: string | string[];
81
+ error: string | string[];
82
+ warning: string | string[];
83
+ notice: string | string[];
84
+ info: string | string[];
85
+ debug: string | string[];
86
+ }
87
+
88
+ interface Config {
89
+ allColors: AbstractConfigSetColors;
90
+ cli: { levels: CliConfigSetLevels, colors: CliConfigSetColors };
91
+ npm: { levels: NpmConfigSetLevels, colors: NpmConfigSetColors };
92
+ syslog: { levels: SyslogConfigSetLevels, colors: SyslogConfigSetColors };
93
+
94
+ addColors(colors: AbstractConfigSetColors): void;
95
+ }
96
+ }
97
+
98
+ declare const winston: winston.Config;
99
+ export = winston;
@@ -1,35 +1,35 @@
1
- /**
2
- * index.js: Default settings for all levels that winston knows about.
3
- *
4
- * (C) 2010 Charlie Robbins
5
- * MIT LICENCE
6
- */
7
-
8
- 'use strict';
9
-
10
- const logform = require('logform');
11
- const { configs } = require('triple-beam');
12
-
13
- /**
14
- * Export config set for the CLI.
15
- * @type {Object}
16
- */
17
- exports.cli = logform.levels(configs.cli);
18
-
19
- /**
20
- * Export config set for npm.
21
- * @type {Object}
22
- */
23
- exports.npm = logform.levels(configs.npm);
24
-
25
- /**
26
- * Export config set for the syslog.
27
- * @type {Object}
28
- */
29
- exports.syslog = logform.levels(configs.syslog);
30
-
31
- /**
32
- * Hoist addColors from logform where it was refactored into in winston@3.
33
- * @type {Object}
34
- */
35
- exports.addColors = logform.levels;
1
+ /**
2
+ * index.js: Default settings for all levels that winston knows about.
3
+ *
4
+ * (C) 2010 Charlie Robbins
5
+ * MIT LICENCE
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ const logform = require('logform');
11
+ const { configs } = require('triple-beam');
12
+
13
+ /**
14
+ * Export config set for the CLI.
15
+ * @type {Object}
16
+ */
17
+ exports.cli = logform.levels(configs.cli);
18
+
19
+ /**
20
+ * Export config set for npm.
21
+ * @type {Object}
22
+ */
23
+ exports.npm = logform.levels(configs.npm);
24
+
25
+ /**
26
+ * Export config set for the syslog.
27
+ * @type {Object}
28
+ */
29
+ exports.syslog = logform.levels(configs.syslog);
30
+
31
+ /**
32
+ * Hoist addColors from logform where it was refactored into in winston@3.
33
+ * @type {Object}
34
+ */
35
+ exports.addColors = logform.levels;
@@ -1,114 +1,114 @@
1
- /**
2
- * container.js: Inversion of control container for winston logger instances.
3
- *
4
- * (C) 2010 Charlie Robbins
5
- * MIT LICENCE
6
- */
7
-
8
- 'use strict';
9
-
10
- const createLogger = require('./create-logger');
11
-
12
- /**
13
- * Inversion of control container for winston logger instances.
14
- * @type {Container}
15
- */
16
- module.exports = class Container {
17
- /**
18
- * Constructor function for the Container object responsible for managing a
19
- * set of `winston.Logger` instances based on string ids.
20
- * @param {!Object} [options={}] - Default pass-thru options for Loggers.
21
- */
22
- constructor(options = {}) {
23
- this.loggers = new Map();
24
- this.options = options;
25
- }
26
-
27
- /**
28
- * Retreives a `winston.Logger` instance for the specified `id`. If an
29
- * instance does not exist, one is created.
30
- * @param {!string} id - The id of the Logger to get.
31
- * @param {?Object} [options] - Options for the Logger instance.
32
- * @returns {Logger} - A configured Logger instance with a specified id.
33
- */
34
- add(id, options) {
35
- if (!this.loggers.has(id)) {
36
- // Remark: Simple shallow clone for configuration options in case we pass
37
- // in instantiated protoypal objects
38
- options = Object.assign({}, options || this.options);
39
- const existing = options.transports || this.options.transports;
40
-
41
- // Remark: Make sure if we have an array of transports we slice it to
42
- // make copies of those references.
43
- options.transports = existing ? existing.slice() : [];
44
-
45
- const logger = createLogger(options);
46
- logger.on('close', () => this._delete(id));
47
- this.loggers.set(id, logger);
48
- }
49
-
50
- return this.loggers.get(id);
51
- }
52
-
53
- /**
54
- * Retreives a `winston.Logger` instance for the specified `id`. If
55
- * an instance does not exist, one is created.
56
- * @param {!string} id - The id of the Logger to get.
57
- * @param {?Object} [options] - Options for the Logger instance.
58
- * @returns {Logger} - A configured Logger instance with a specified id.
59
- */
60
- get(id, options) {
61
- return this.add(id, options);
62
- }
63
-
64
- /**
65
- * Check if the container has a logger with the id.
66
- * @param {?string} id - The id of the Logger instance to find.
67
- * @returns {boolean} - Boolean value indicating if this instance has a
68
- * logger with the specified `id`.
69
- */
70
- has(id) {
71
- return !!this.loggers.has(id);
72
- }
73
-
74
- /**
75
- * Closes a `Logger` instance with the specified `id` if it exists.
76
- * If no `id` is supplied then all Loggers are closed.
77
- * @param {?string} id - The id of the Logger instance to close.
78
- * @returns {undefined}
79
- */
80
- close(id) {
81
- if (id) {
82
- return this._removeLogger(id);
83
- }
84
-
85
- this.loggers.forEach((val, key) => this._removeLogger(key));
86
- }
87
-
88
- /**
89
- * Remove a logger based on the id.
90
- * @param {!string} id - The id of the logger to remove.
91
- * @returns {undefined}
92
- * @private
93
- */
94
- _removeLogger(id) {
95
- if (!this.loggers.has(id)) {
96
- return;
97
- }
98
-
99
- const logger = this.loggers.get(id);
100
- logger.close();
101
- this._delete(id);
102
- }
103
-
104
- /**
105
- * Deletes a `Logger` instance with the specified `id`.
106
- * @param {!string} id - The id of the Logger instance to delete from
107
- * container.
108
- * @returns {undefined}
109
- * @private
110
- */
111
- _delete(id) {
112
- this.loggers.delete(id);
113
- }
114
- };
1
+ /**
2
+ * container.js: Inversion of control container for winston logger instances.
3
+ *
4
+ * (C) 2010 Charlie Robbins
5
+ * MIT LICENCE
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ const createLogger = require('./create-logger');
11
+
12
+ /**
13
+ * Inversion of control container for winston logger instances.
14
+ * @type {Container}
15
+ */
16
+ module.exports = class Container {
17
+ /**
18
+ * Constructor function for the Container object responsible for managing a
19
+ * set of `winston.Logger` instances based on string ids.
20
+ * @param {!Object} [options={}] - Default pass-thru options for Loggers.
21
+ */
22
+ constructor(options = {}) {
23
+ this.loggers = new Map();
24
+ this.options = options;
25
+ }
26
+
27
+ /**
28
+ * Retrieves a `winston.Logger` instance for the specified `id`. If an
29
+ * instance does not exist, one is created.
30
+ * @param {!string} id - The id of the Logger to get.
31
+ * @param {?Object} [options] - Options for the Logger instance.
32
+ * @returns {Logger} - A configured Logger instance with a specified id.
33
+ */
34
+ add(id, options) {
35
+ if (!this.loggers.has(id)) {
36
+ // Remark: Simple shallow clone for configuration options in case we pass
37
+ // in instantiated protoypal objects
38
+ options = Object.assign({}, options || this.options);
39
+ const existing = options.transports || this.options.transports;
40
+
41
+ // Remark: Make sure if we have an array of transports we slice it to
42
+ // make copies of those references.
43
+ options.transports = existing ? existing.slice() : [];
44
+
45
+ const logger = createLogger(options);
46
+ logger.on('close', () => this._delete(id));
47
+ this.loggers.set(id, logger);
48
+ }
49
+
50
+ return this.loggers.get(id);
51
+ }
52
+
53
+ /**
54
+ * Retreives a `winston.Logger` instance for the specified `id`. If
55
+ * an instance does not exist, one is created.
56
+ * @param {!string} id - The id of the Logger to get.
57
+ * @param {?Object} [options] - Options for the Logger instance.
58
+ * @returns {Logger} - A configured Logger instance with a specified id.
59
+ */
60
+ get(id, options) {
61
+ return this.add(id, options);
62
+ }
63
+
64
+ /**
65
+ * Check if the container has a logger with the id.
66
+ * @param {?string} id - The id of the Logger instance to find.
67
+ * @returns {boolean} - Boolean value indicating if this instance has a
68
+ * logger with the specified `id`.
69
+ */
70
+ has(id) {
71
+ return !!this.loggers.has(id);
72
+ }
73
+
74
+ /**
75
+ * Closes a `Logger` instance with the specified `id` if it exists.
76
+ * If no `id` is supplied then all Loggers are closed.
77
+ * @param {?string} id - The id of the Logger instance to close.
78
+ * @returns {undefined}
79
+ */
80
+ close(id) {
81
+ if (id) {
82
+ return this._removeLogger(id);
83
+ }
84
+
85
+ this.loggers.forEach((val, key) => this._removeLogger(key));
86
+ }
87
+
88
+ /**
89
+ * Remove a logger based on the id.
90
+ * @param {!string} id - The id of the logger to remove.
91
+ * @returns {undefined}
92
+ * @private
93
+ */
94
+ _removeLogger(id) {
95
+ if (!this.loggers.has(id)) {
96
+ return;
97
+ }
98
+
99
+ const logger = this.loggers.get(id);
100
+ logger.close();
101
+ this._delete(id);
102
+ }
103
+
104
+ /**
105
+ * Deletes a `Logger` instance with the specified `id`.
106
+ * @param {!string} id - The id of the Logger instance to delete from
107
+ * container.
108
+ * @returns {undefined}
109
+ * @private
110
+ */
111
+ _delete(id) {
112
+ this.loggers.delete(id);
113
+ }
114
+ };