standard-log-color 3.2.4 → 6.0.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 (302) hide show
  1. package/LICENSE +1 -1
  2. package/{lib → cjs}/ansi/adjustCodes.d.ts +0 -0
  3. package/cjs/ansi/adjustCodes.d.ts.map +1 -0
  4. package/cjs/ansi/adjustCodes.js +24 -0
  5. package/cjs/ansi/adjustCodes.js.map +1 -0
  6. package/cjs/ansi/adjustCodes.spec.d.ts +2 -0
  7. package/cjs/ansi/adjustCodes.spec.d.ts.map +1 -0
  8. package/cjs/ansi/adjustCodes.spec.js +13 -0
  9. package/cjs/ansi/adjustCodes.spec.js.map +1 -0
  10. package/{lib → cjs}/ansi/ansiFormatter.d.ts +0 -0
  11. package/cjs/ansi/ansiFormatter.d.ts.map +1 -0
  12. package/cjs/ansi/ansiFormatter.js +47 -0
  13. package/cjs/ansi/ansiFormatter.js.map +1 -0
  14. package/{lib → cjs}/ansi/constants.d.ts +0 -0
  15. package/cjs/ansi/constants.d.ts.map +1 -0
  16. package/{lib → cjs}/ansi/constants.js +0 -0
  17. package/cjs/ansi/constants.js.map +1 -0
  18. package/{lib → cjs}/ansi/createColorCodes.d.ts +0 -0
  19. package/cjs/ansi/createColorCodes.d.ts.map +1 -0
  20. package/cjs/ansi/createColorCodes.js +49 -0
  21. package/cjs/ansi/createColorCodes.js.map +1 -0
  22. package/cjs/ansi/createColorCodes.spec.d.ts +2 -0
  23. package/cjs/ansi/createColorCodes.spec.d.ts.map +1 -0
  24. package/cjs/ansi/createColorCodes.spec.js +34 -0
  25. package/cjs/ansi/createColorCodes.spec.js.map +1 -0
  26. package/cjs/ansi/index.d.ts +4 -0
  27. package/cjs/ansi/index.d.ts.map +1 -0
  28. package/cjs/ansi/index.js +20 -0
  29. package/cjs/ansi/index.js.map +1 -0
  30. package/{lib → cjs}/ansi/isColor.d.ts +1 -1
  31. package/cjs/ansi/isColor.d.ts.map +1 -0
  32. package/cjs/ansi/isColor.js +13 -0
  33. package/cjs/ansi/isColor.js.map +1 -0
  34. package/cjs/ansi/isColor.spec.d.ts +2 -0
  35. package/cjs/ansi/isColor.spec.d.ts.map +1 -0
  36. package/cjs/ansi/isColor.spec.js +17 -0
  37. package/cjs/ansi/isColor.spec.js.map +1 -0
  38. package/{lib → cjs}/ansi/wrapAnsi.d.ts +0 -0
  39. package/cjs/ansi/wrapAnsi.d.ts.map +1 -0
  40. package/{lib → cjs}/ansi/wrapAnsi.js +2 -2
  41. package/cjs/ansi/wrapAnsi.js.map +1 -0
  42. package/cjs/ansi/wrapAnsi.spec.d.ts +2 -0
  43. package/cjs/ansi/wrapAnsi.spec.d.ts.map +1 -0
  44. package/cjs/ansi/wrapAnsi.spec.js +13 -0
  45. package/cjs/ansi/wrapAnsi.spec.js.map +1 -0
  46. package/{lib → cjs}/createColorLogReporter.browser.d.ts +0 -0
  47. package/cjs/createColorLogReporter.browser.d.ts.map +1 -0
  48. package/{lib → cjs}/createColorLogReporter.browser.js +5 -5
  49. package/cjs/createColorLogReporter.browser.js.map +1 -0
  50. package/{lib → cjs}/createColorLogReporter.d.ts +0 -0
  51. package/cjs/createColorLogReporter.d.ts.map +1 -0
  52. package/{lib → cjs}/createColorLogReporter.js +5 -5
  53. package/cjs/createColorLogReporter.js.map +1 -0
  54. package/cjs/createColorLogReporter.spec.d.ts +2 -0
  55. package/cjs/createColorLogReporter.spec.d.ts.map +1 -0
  56. package/cjs/createColorLogReporter.spec.js +41 -0
  57. package/cjs/createColorLogReporter.spec.js.map +1 -0
  58. package/{lib → cjs}/css/colors.d.ts +0 -0
  59. package/cjs/css/colors.d.ts.map +1 -0
  60. package/{lib → cjs}/css/colors.js +0 -0
  61. package/cjs/css/colors.js.map +1 -0
  62. package/{lib → cjs}/css/cssFormatter.d.ts +0 -0
  63. package/cjs/css/cssFormatter.d.ts.map +1 -0
  64. package/{lib → cjs}/css/cssFormatter.js +22 -14
  65. package/cjs/css/cssFormatter.js.map +1 -0
  66. package/cjs/css/cssFormatter.spec.d.ts +2 -0
  67. package/cjs/css/cssFormatter.spec.d.ts.map +1 -0
  68. package/cjs/css/cssFormatter.spec.js +33 -0
  69. package/cjs/css/cssFormatter.spec.js.map +1 -0
  70. package/cjs/css/index.d.ts +2 -0
  71. package/cjs/css/index.d.ts.map +1 -0
  72. package/cjs/css/index.js +18 -0
  73. package/cjs/css/index.js.map +1 -0
  74. package/cjs/index.d.ts +4 -0
  75. package/cjs/index.d.ts.map +1 -0
  76. package/cjs/index.js +20 -0
  77. package/cjs/index.js.map +1 -0
  78. package/cjs/package.json +1 -0
  79. package/cjs/utils/index.d.ts +2 -0
  80. package/cjs/utils/index.d.ts.map +1 -0
  81. package/cjs/utils/index.js +18 -0
  82. package/cjs/utils/index.js.map +1 -0
  83. package/{lib → cjs}/utils/supportColor.browser.d.ts +0 -0
  84. package/cjs/utils/supportColor.browser.d.ts.map +1 -0
  85. package/{lib → cjs}/utils/supportColor.browser.js +3 -0
  86. package/cjs/utils/supportColor.browser.js.map +1 -0
  87. package/{lib → cjs}/utils/supportColor.d.ts +0 -0
  88. package/cjs/utils/supportColor.d.ts.map +1 -0
  89. package/{lib → cjs}/utils/supportColor.js +0 -0
  90. package/cjs/utils/supportColor.js.map +1 -0
  91. package/dist/standard-log-color.es5.js +2 -0
  92. package/dist/standard-log-color.es5.js.gz +0 -0
  93. package/dist/standard-log-color.es5.js.map +1 -0
  94. package/dist/standard-log-color.es5.js.map.gz +0 -0
  95. package/dist/standard-log-color.esm.js +2 -0
  96. package/dist/standard-log-color.esm.js.gz +0 -0
  97. package/dist/standard-log-color.esm.js.map +1 -0
  98. package/dist/standard-log-color.esm.js.map.gz +0 -0
  99. package/{libm → esm}/ansi/adjustCodes.d.ts +0 -0
  100. package/esm/ansi/adjustCodes.d.ts.map +1 -0
  101. package/{libm → esm}/ansi/adjustCodes.js +1 -1
  102. package/esm/ansi/adjustCodes.js.map +1 -0
  103. package/esm/ansi/adjustCodes.spec.d.ts +2 -0
  104. package/esm/ansi/adjustCodes.spec.d.ts.map +1 -0
  105. package/esm/ansi/adjustCodes.spec.js +11 -0
  106. package/esm/ansi/adjustCodes.spec.js.map +1 -0
  107. package/{libm → esm}/ansi/ansiFormatter.d.ts +0 -0
  108. package/esm/ansi/ansiFormatter.d.ts.map +1 -0
  109. package/{libm → esm}/ansi/ansiFormatter.js +4 -4
  110. package/esm/ansi/ansiFormatter.js.map +1 -0
  111. package/{libm → esm}/ansi/constants.d.ts +0 -0
  112. package/esm/ansi/constants.d.ts.map +1 -0
  113. package/{libm → esm}/ansi/constants.js +0 -0
  114. package/esm/ansi/constants.js.map +1 -0
  115. package/{libm → esm}/ansi/createColorCodes.d.ts +0 -0
  116. package/esm/ansi/createColorCodes.d.ts.map +1 -0
  117. package/{libm → esm}/ansi/createColorCodes.js +2 -2
  118. package/esm/ansi/createColorCodes.js.map +1 -0
  119. package/esm/ansi/createColorCodes.spec.d.ts +2 -0
  120. package/esm/ansi/createColorCodes.spec.d.ts.map +1 -0
  121. package/esm/ansi/createColorCodes.spec.js +32 -0
  122. package/esm/ansi/createColorCodes.spec.js.map +1 -0
  123. package/esm/ansi/index.d.ts +4 -0
  124. package/esm/ansi/index.d.ts.map +1 -0
  125. package/esm/ansi/index.js +4 -0
  126. package/esm/ansi/index.js.map +1 -0
  127. package/{libm → esm}/ansi/isColor.d.ts +1 -1
  128. package/esm/ansi/isColor.d.ts.map +1 -0
  129. package/{libm → esm}/ansi/isColor.js +1 -1
  130. package/esm/ansi/isColor.js.map +1 -0
  131. package/esm/ansi/isColor.spec.d.ts +2 -0
  132. package/esm/ansi/isColor.spec.d.ts.map +1 -0
  133. package/esm/ansi/isColor.spec.js +15 -0
  134. package/esm/ansi/isColor.spec.js.map +1 -0
  135. package/{libm → esm}/ansi/wrapAnsi.d.ts +0 -0
  136. package/esm/ansi/wrapAnsi.d.ts.map +1 -0
  137. package/{libm → esm}/ansi/wrapAnsi.js +0 -0
  138. package/esm/ansi/wrapAnsi.js.map +1 -0
  139. package/esm/ansi/wrapAnsi.spec.d.ts +2 -0
  140. package/esm/ansi/wrapAnsi.spec.d.ts.map +1 -0
  141. package/esm/ansi/wrapAnsi.spec.js +11 -0
  142. package/esm/ansi/wrapAnsi.spec.js.map +1 -0
  143. package/{libm → esm}/createColorLogReporter.browser.d.ts +0 -0
  144. package/esm/createColorLogReporter.browser.d.ts.map +1 -0
  145. package/{libm → esm}/createColorLogReporter.browser.js +2 -2
  146. package/esm/createColorLogReporter.browser.js.map +1 -0
  147. package/{libm → esm}/createColorLogReporter.d.ts +0 -0
  148. package/esm/createColorLogReporter.d.ts.map +1 -0
  149. package/{libm → esm}/createColorLogReporter.js +2 -2
  150. package/esm/createColorLogReporter.js.map +1 -0
  151. package/esm/createColorLogReporter.spec.d.ts +2 -0
  152. package/esm/createColorLogReporter.spec.d.ts.map +1 -0
  153. package/esm/createColorLogReporter.spec.js +39 -0
  154. package/esm/createColorLogReporter.spec.js.map +1 -0
  155. package/{libm → esm}/css/colors.d.ts +0 -0
  156. package/esm/css/colors.d.ts.map +1 -0
  157. package/{libm → esm}/css/colors.js +0 -0
  158. package/esm/css/colors.js.map +1 -0
  159. package/{libm → esm}/css/cssFormatter.d.ts +0 -0
  160. package/esm/css/cssFormatter.d.ts.map +1 -0
  161. package/{libm → esm}/css/cssFormatter.js +1 -1
  162. package/esm/css/cssFormatter.js.map +1 -0
  163. package/esm/css/cssFormatter.spec.d.ts +2 -0
  164. package/esm/css/cssFormatter.spec.d.ts.map +1 -0
  165. package/esm/css/cssFormatter.spec.js +28 -0
  166. package/esm/css/cssFormatter.spec.js.map +1 -0
  167. package/esm/css/index.d.ts +2 -0
  168. package/esm/css/index.d.ts.map +1 -0
  169. package/esm/css/index.js +2 -0
  170. package/esm/css/index.js.map +1 -0
  171. package/esm/index.d.ts +4 -0
  172. package/esm/index.d.ts.map +1 -0
  173. package/esm/index.js +4 -0
  174. package/esm/index.js.map +1 -0
  175. package/esm/utils/index.d.ts +2 -0
  176. package/esm/utils/index.d.ts.map +1 -0
  177. package/esm/utils/index.js +2 -0
  178. package/esm/utils/index.js.map +1 -0
  179. package/{libm → esm}/utils/supportColor.browser.d.ts +0 -0
  180. package/esm/utils/supportColor.browser.d.ts.map +1 -0
  181. package/{libm → esm}/utils/supportColor.browser.js +3 -0
  182. package/esm/utils/supportColor.browser.js.map +1 -0
  183. package/{libm → esm}/utils/supportColor.d.ts +0 -0
  184. package/esm/utils/supportColor.d.ts.map +1 -0
  185. package/{libm → esm}/utils/supportColor.js +0 -0
  186. package/esm/utils/supportColor.js.map +1 -0
  187. package/package.json +81 -35
  188. package/{src → ts}/ansi/adjustCodes.ts +1 -1
  189. package/{src → ts}/ansi/ansiFormatter.ts +5 -5
  190. package/{src → ts}/ansi/constants.ts +0 -0
  191. package/{src → ts}/ansi/createColorCodes.ts +2 -3
  192. package/ts/ansi/index.ts +3 -0
  193. package/{src → ts}/ansi/isColor.ts +1 -1
  194. package/{src → ts}/ansi/wrapAnsi.ts +0 -0
  195. package/{src → ts}/createColorLogReporter.browser.ts +2 -2
  196. package/{src → ts}/createColorLogReporter.ts +2 -2
  197. package/{src → ts}/css/colors.ts +0 -0
  198. package/{src → ts}/css/cssFormatter.ts +1 -1
  199. package/ts/css/index.ts +1 -0
  200. package/ts/index.ts +3 -0
  201. package/ts/utils/index.ts +1 -0
  202. package/{src → ts}/utils/supportColor.browser.ts +6 -3
  203. package/{src → ts}/utils/supportColor.ts +0 -0
  204. package/CHANGELOG.md +0 -639
  205. package/dist/standard-log-color.js +0 -2
  206. package/dist/standard-log-color.js.gz +0 -0
  207. package/dist/standard-log-color.js.map +0 -1
  208. package/dist/standard-log-color.js.map.gz +0 -0
  209. package/lib/ansi/adjustCodes.d.ts.map +0 -1
  210. package/lib/ansi/adjustCodes.js +0 -16
  211. package/lib/ansi/adjustCodes.js.map +0 -1
  212. package/lib/ansi/ansiFormatter.d.ts.map +0 -1
  213. package/lib/ansi/ansiFormatter.js +0 -39
  214. package/lib/ansi/ansiFormatter.js.map +0 -1
  215. package/lib/ansi/constants.d.ts.map +0 -1
  216. package/lib/ansi/constants.js.map +0 -1
  217. package/lib/ansi/createColorCodes.d.ts.map +0 -1
  218. package/lib/ansi/createColorCodes.js +0 -41
  219. package/lib/ansi/createColorCodes.js.map +0 -1
  220. package/lib/ansi/index.d.ts +0 -4
  221. package/lib/ansi/index.d.ts.map +0 -1
  222. package/lib/ansi/index.js +0 -7
  223. package/lib/ansi/index.js.map +0 -1
  224. package/lib/ansi/isColor.d.ts.map +0 -1
  225. package/lib/ansi/isColor.js +0 -13
  226. package/lib/ansi/isColor.js.map +0 -1
  227. package/lib/ansi/wrapAnsi.d.ts.map +0 -1
  228. package/lib/ansi/wrapAnsi.js.map +0 -1
  229. package/lib/createColorLogReporter.browser.d.ts.map +0 -1
  230. package/lib/createColorLogReporter.browser.js.map +0 -1
  231. package/lib/createColorLogReporter.d.ts.map +0 -1
  232. package/lib/createColorLogReporter.js.map +0 -1
  233. package/lib/css/colors.d.ts.map +0 -1
  234. package/lib/css/colors.js.map +0 -1
  235. package/lib/css/cssFormatter.d.ts.map +0 -1
  236. package/lib/css/cssFormatter.js.map +0 -1
  237. package/lib/css/index.d.ts +0 -2
  238. package/lib/css/index.d.ts.map +0 -1
  239. package/lib/css/index.js +0 -5
  240. package/lib/css/index.js.map +0 -1
  241. package/lib/index.d.ts +0 -4
  242. package/lib/index.d.ts.map +0 -1
  243. package/lib/index.js +0 -7
  244. package/lib/index.js.map +0 -1
  245. package/lib/utils/index.d.ts +0 -2
  246. package/lib/utils/index.d.ts.map +0 -1
  247. package/lib/utils/index.js +0 -5
  248. package/lib/utils/index.js.map +0 -1
  249. package/lib/utils/supportColor.browser.d.ts.map +0 -1
  250. package/lib/utils/supportColor.browser.js.map +0 -1
  251. package/lib/utils/supportColor.d.ts.map +0 -1
  252. package/lib/utils/supportColor.js.map +0 -1
  253. package/libm/ansi/adjustCodes.d.ts.map +0 -1
  254. package/libm/ansi/adjustCodes.js.map +0 -1
  255. package/libm/ansi/ansiFormatter.d.ts.map +0 -1
  256. package/libm/ansi/ansiFormatter.js.map +0 -1
  257. package/libm/ansi/constants.d.ts.map +0 -1
  258. package/libm/ansi/constants.js.map +0 -1
  259. package/libm/ansi/createColorCodes.d.ts.map +0 -1
  260. package/libm/ansi/createColorCodes.js.map +0 -1
  261. package/libm/ansi/index.d.ts +0 -4
  262. package/libm/ansi/index.d.ts.map +0 -1
  263. package/libm/ansi/index.js +0 -4
  264. package/libm/ansi/index.js.map +0 -1
  265. package/libm/ansi/isColor.d.ts.map +0 -1
  266. package/libm/ansi/isColor.js.map +0 -1
  267. package/libm/ansi/wrapAnsi.d.ts.map +0 -1
  268. package/libm/ansi/wrapAnsi.js.map +0 -1
  269. package/libm/createColorLogReporter.browser.d.ts.map +0 -1
  270. package/libm/createColorLogReporter.browser.js.map +0 -1
  271. package/libm/createColorLogReporter.d.ts.map +0 -1
  272. package/libm/createColorLogReporter.js.map +0 -1
  273. package/libm/css/colors.d.ts.map +0 -1
  274. package/libm/css/colors.js.map +0 -1
  275. package/libm/css/cssFormatter.d.ts.map +0 -1
  276. package/libm/css/cssFormatter.js.map +0 -1
  277. package/libm/css/index.d.ts +0 -2
  278. package/libm/css/index.d.ts.map +0 -1
  279. package/libm/css/index.js +0 -2
  280. package/libm/css/index.js.map +0 -1
  281. package/libm/index.d.ts +0 -4
  282. package/libm/index.d.ts.map +0 -1
  283. package/libm/index.js +0 -4
  284. package/libm/index.js.map +0 -1
  285. package/libm/utils/index.d.ts +0 -2
  286. package/libm/utils/index.d.ts.map +0 -1
  287. package/libm/utils/index.js +0 -2
  288. package/libm/utils/index.js.map +0 -1
  289. package/libm/utils/supportColor.browser.d.ts.map +0 -1
  290. package/libm/utils/supportColor.browser.js.map +0 -1
  291. package/libm/utils/supportColor.d.ts.map +0 -1
  292. package/libm/utils/supportColor.js.map +0 -1
  293. package/src/ansi/adjustCodes.spec.ts +0 -12
  294. package/src/ansi/createColorCodes.spec.ts +0 -35
  295. package/src/ansi/index.ts +0 -3
  296. package/src/ansi/isColor.spec.ts +0 -18
  297. package/src/ansi/wrapAnsi.spec.ts +0 -7
  298. package/src/createColorLogReporter.spec.ts +0 -193
  299. package/src/css/cssFormatter.spec.ts +0 -30
  300. package/src/css/index.ts +0 -1
  301. package/src/index.ts +0 -3
  302. package/src/utils/index.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansiFormatter.js","sourceRoot":"","sources":["../../ts/ansi/ansiFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA6B,eAAe,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAYpD,MAAM,UAAU,mBAAmB,CAAC,UAAgC,EAAE,SAAS,EAAE,MAAM,EAAE;IACvF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAY;QACvB,QAAQ;QACR,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC;KACX,CAAA;IACD,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAEtE,OAAO,SAAS,aAAa,CAAC,KAAe;QAC3C,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;QACrE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;YAC1E,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAExE,OAAO,SAAS,CAAC,CAAC;YAChB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,EAAU;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC/G,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,gBAAgB,EAAE,CAAA;AAC3B,CAAC","sourcesContent":["import { createTimestampFormatter, LogEntry, TimestampFormat, toConsoleMethod } from 'standard-log'\nimport { adjustCodes } from './adjustCodes.js'\nimport { ANSI_FOREGROUND, ANSI_RED, ANSI_YELLOW } from './constants.js'\nimport { createColorCodes } from './createColorCodes.js'\nimport { wrapAnsi, wrapAnsiId } from './wrapAnsi.js'\n\ntype Context = {\n colorMap: number[][],\n idMap: Record<string, number[]>,\n counter: number\n}\n\nexport type AnsiFormatterOptions = {\n timestamp: TimestampFormat\n}\n\nexport function createAnsiFormatter(options: AnsiFormatterOptions = { timestamp: 'none' }) {\n const colorMap = getColorMap()\n const context: Context = {\n colorMap,\n idMap: {},\n counter: 0\n }\n const timestampFormatter = createTimestampFormatter(options.timestamp)\n\n return function ansiFormatter(entry: LogEntry) {\n const consoleMethod = toConsoleMethod(entry.level)\n const codes = adjustCodes(getCodes(context, entry.id), consoleMethod)\n const id = wrapAnsiId(entry.id, codes)\n const rest = [...entry.args]\n const timestamp = timestampFormatter(entry.timestamp)\n if (timestamp !== undefined) rest.push(timestamp)\n const textCodes = consoleMethod === 'error' ? [ANSI_RED + ANSI_FOREGROUND] :\n consoleMethod === 'warn' ? [ANSI_YELLOW + ANSI_FOREGROUND] : undefined\n\n return textCodes ?\n [id, ...rest.map(x => wrapAnsi(x, textCodes))] :\n [id, ...rest]\n }\n}\n\nfunction getCodes(context: Context, id: string) {\n return context.idMap[id] = context.idMap[id] || context.colorMap[context.counter++ % context.colorMap.length]\n}\n\nfunction getColorMap() {\n return createColorCodes()\n}\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../ts/ansi/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACrD,eAAO,MAAM,UAAU,IAAI,CAAA;AAC3B,eAAO,MAAM,QAAQ,IAAI,CAAA;AACzB,eAAO,MAAM,UAAU,IAAI,CAAA;AAC3B,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,eAAO,MAAM,SAAS,IAAI,CAAA;AAC1B,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAA;AAC1B,eAAO,MAAM,UAAU,IAAI,CAAA;AAE3B,oBAAY,SAAS,GAAG,CAAC,GAAG,CAAC,CAAA;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,eAAO,MAAM,eAAe,KAAK,CAAA;AACjC,eAAO,MAAM,eAAe,KAAK,CAAA"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../ts/ansi/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAG3B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA","sourcesContent":["export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\nexport const ANSI_BLACK = 0\nexport const ANSI_RED = 1\nexport const ANSI_GREEN = 2\nexport const ANSI_YELLOW = 3\nexport const ANSI_BLUE = 4\nexport const ANSI_MAGENTA = 5\nexport const ANSI_CYAN = 6\nexport const ANSI_WHITE = 7\n\nexport type AnsiStyle = 1 | 4\nexport const ANSI_BRIGHT = 1\nexport const ANSI_UNDERSCORE = 4\n\nexport const ANSI_FOREGROUND = 30\nexport const ANSI_BACKGROUND = 40\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorCodes.d.ts","sourceRoot":"","sources":["../../ts/ansi/createColorCodes.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,eAc/B"}
@@ -1,5 +1,5 @@
1
- import { ANSI_BACKGROUND, ANSI_BLUE, ANSI_BRIGHT, ANSI_CYAN, ANSI_FOREGROUND, ANSI_GREEN, ANSI_MAGENTA, ANSI_RED, ANSI_UNDERSCORE, ANSI_WHITE, ANSI_YELLOW } from './constants';
2
- import { isColor } from './isColor';
1
+ import { ANSI_BACKGROUND, ANSI_BLUE, ANSI_BRIGHT, ANSI_CYAN, ANSI_FOREGROUND, ANSI_GREEN, ANSI_MAGENTA, ANSI_RED, ANSI_UNDERSCORE, ANSI_WHITE, ANSI_YELLOW } from './constants.js';
2
+ import { isColor } from './isColor.js';
3
3
  export function createColorCodes() {
4
4
  const baseColors = [ANSI_RED, ANSI_GREEN, ANSI_YELLOW, ANSI_BLUE, ANSI_MAGENTA, ANSI_CYAN];
5
5
  const backgroundColors = baseColors.map(c => c + ANSI_BACKGROUND);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorCodes.js","sourceRoot":"","sources":["../../ts/ansi/createColorCodes.ts"],"names":[],"mappings":"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","sourcesContent":["import { ANSI_BACKGROUND, ANSI_BLUE, ANSI_BRIGHT, ANSI_CYAN, ANSI_FOREGROUND, ANSI_GREEN, ANSI_MAGENTA, ANSI_RED, ANSI_UNDERSCORE, ANSI_WHITE, ANSI_YELLOW } from './constants.js'\nimport { isColor } from './isColor.js'\n\nexport function createColorCodes() {\n const baseColors = [ANSI_RED, ANSI_GREEN, ANSI_YELLOW, ANSI_BLUE, ANSI_MAGENTA, ANSI_CYAN]\n const backgroundColors = baseColors.map(c => c + ANSI_BACKGROUND)\n\n let baseCodes: number[][] = backgroundColors.map(x => [x])\n\n baseColors.forEach(base => baseCodes.push(...backgroundColors.map(x => [x, base + ANSI_FOREGROUND])))\n\n baseCodes = filterForegroundBackgroundAreSame(baseCodes)\n baseCodes = filterHandPickedColors(baseCodes)\n\n const brighten = baseCodes.filter(c => c.length !== 1).map(x => [...x, ANSI_BRIGHT])\n const underscored = baseCodes.filter(c => c.length !== 1).map(x => [...x, ANSI_UNDERSCORE])\n return [...baseCodes, ...brighten, ...underscored]\n}\n\nfunction filterForegroundBackgroundAreSame(baseCodes: number[][]) {\n return baseCodes.filter(x => x.length === 1 || x[0] !== x[1] + 10)\n}\n\nfunction filterHandPickedColors(baseCodes: number[][]) {\n return baseCodes.filter(x =>\n !isColor(x, ANSI_WHITE, ANSI_YELLOW) &&\n !isColor(x, ANSI_MAGENTA, ANSI_RED) &&\n !isColor(x, ANSI_RED, ANSI_MAGENTA) &&\n !isColor(x, ANSI_CYAN, ANSI_BLUE) &&\n !isColor(x, ANSI_BLUE, ANSI_CYAN) &&\n !isColor(x, ANSI_CYAN, ANSI_GREEN) &&\n !isColor(x, ANSI_GREEN, ANSI_CYAN) &&\n !isColor(x, ANSI_RED, ANSI_BLUE) &&\n !isColor(x, ANSI_BLUE, ANSI_RED) &&\n !isColor(x, ANSI_BLUE, ANSI_MAGENTA) &&\n !isColor(x, ANSI_MAGENTA, ANSI_BLUE) &&\n !isColor(x, ANSI_GREEN, ANSI_YELLOW) &&\n !isColor(x, ANSI_YELLOW, ANSI_GREEN) &&\n !isColor(x, ANSI_CYAN, ANSI_YELLOW) &&\n !isColor(x, ANSI_YELLOW, ANSI_CYAN)\n )\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createColorCodes.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorCodes.spec.d.ts","sourceRoot":"","sources":["../../ts/ansi/createColorCodes.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { createColorCodes } from './createColorCodes.js';
2
+ import { wrapAnsi } from './wrapAnsi.js';
3
+ test('inspect actual color in console', () => {
4
+ const actual = createColorCodes();
5
+ actual.forEach(color => console.info(wrapAnsi(`${describeColor(color)} ${color.join()}`, color)));
6
+ });
7
+ function describeColor(color) {
8
+ const [background, foreground, style] = color;
9
+ const names = [toStyleName(style), toColorName(foreground % 10), toColorName(background % 10)].filter(n => !!n);
10
+ return names.join(' ');
11
+ }
12
+ function toColorName(color) {
13
+ switch (color) {
14
+ case 0: return 'white';
15
+ case 1: return 'red';
16
+ case 2: return 'green';
17
+ case 3: return 'yellow';
18
+ case 4: return 'blue';
19
+ case 5: return 'pink';
20
+ case 6: return 'sky';
21
+ default: return undefined;
22
+ }
23
+ }
24
+ function toStyleName(style) {
25
+ switch (style) {
26
+ case 1: return 'bright';
27
+ case 4: return 'underscore';
28
+ case 7: return 'reversed';
29
+ default: return undefined;
30
+ }
31
+ }
32
+ //# sourceMappingURL=createColorCodes.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorCodes.spec.js","sourceRoot":"","sources":["../../ts/ansi/createColorCodes.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACnG,CAAC,CAAC,CAAA;AAEF,SAAS,aAAa,CAAC,KAAe;IACpC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,KAAK,CAAA;IAC7C,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/G,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,QAAQ,KAAK,EAAE;QACb,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAA;QACtB,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA;QACpB,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAA;QACtB,KAAK,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAA;QACvB,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAA;QACrB,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAA;QACrB,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA;QACpB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAA;KAC1B;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,QAAQ,KAAK,EAAE;QACb,KAAK,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAA;QACvB,KAAK,CAAC,CAAC,CAAC,OAAO,YAAY,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,OAAO,UAAU,CAAA;QACzB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAA;KAC1B;AACH,CAAC","sourcesContent":["import { createColorCodes } from './createColorCodes.js'\nimport { wrapAnsi } from './wrapAnsi.js'\n\ntest('inspect actual color in console', () => {\n const actual = createColorCodes()\n actual.forEach(color => console.info(wrapAnsi(`${describeColor(color)} ${color.join()}`, color)))\n})\n\nfunction describeColor(color: number[]) {\n const [background, foreground, style] = color\n const names = [toStyleName(style), toColorName(foreground % 10), toColorName(background % 10)].filter(n => !!n)\n return names.join(' ')\n}\n\nfunction toColorName(color: number | undefined) {\n switch (color) {\n case 0: return 'white'\n case 1: return 'red'\n case 2: return 'green'\n case 3: return 'yellow'\n case 4: return 'blue'\n case 5: return 'pink'\n case 6: return 'sky'\n default: return undefined\n }\n}\n\nfunction toStyleName(style: number | undefined) {\n switch (style) {\n case 1: return 'bright'\n case 4: return 'underscore'\n case 7: return 'reversed'\n default: return undefined\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export * from './ansiFormatter.js';
2
+ export * from './constants.js';
3
+ export * from './wrapAnsi.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/ansi/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './ansiFormatter.js';
2
+ export * from './constants.js';
3
+ export * from './wrapAnsi.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/ansi/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA","sourcesContent":["export * from './ansiFormatter.js'\nexport * from './constants.js'\nexport * from './wrapAnsi.js'\n"]}
@@ -1,3 +1,3 @@
1
- import { AnsiColor, AnsiStyle } from './constants';
1
+ import { AnsiColor, AnsiStyle } from './constants.js';
2
2
  export declare function isColor(color: number[], foreground: AnsiColor, background: AnsiColor, style?: AnsiStyle): boolean;
3
3
  //# sourceMappingURL=isColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColor.d.ts","sourceRoot":"","sources":["../../ts/ansi/isColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAgD,MAAM,gBAAgB,CAAA;AAEnG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,WAOvG"}
@@ -1,4 +1,4 @@
1
- import { ANSI_BACKGROUND, ANSI_FOREGROUND, ANSI_WHITE } from './constants';
1
+ import { ANSI_BACKGROUND, ANSI_FOREGROUND, ANSI_WHITE } from './constants.js';
2
2
  export function isColor(color, foreground, background, style) {
3
3
  if (color.length === 1) {
4
4
  return foreground === ANSI_WHITE && color[0] === background + ANSI_BACKGROUND;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColor.js","sourceRoot":"","sources":["../../ts/ansi/isColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEnG,MAAM,UAAU,OAAO,CAAC,KAAe,EAAE,UAAqB,EAAE,UAAqB,EAAE,KAAiB;IACtG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,eAAe,CAAA;KAC9E;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,eAAe,CAAA;IAE3G,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;AAClE,CAAC","sourcesContent":["import { AnsiColor, AnsiStyle, ANSI_BACKGROUND, ANSI_FOREGROUND, ANSI_WHITE } from './constants.js'\n\nexport function isColor(color: number[], foreground: AnsiColor, background: AnsiColor, style?: AnsiStyle) {\n if (color.length === 1) {\n return foreground === ANSI_WHITE && color[0] === background + ANSI_BACKGROUND\n }\n const colorMatched = color[1] === foreground + ANSI_FOREGROUND && color[0] === background + ANSI_BACKGROUND\n\n return style ? color[2] === style && colorMatched : colorMatched\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isColor.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColor.spec.d.ts","sourceRoot":"","sources":["../../ts/ansi/isColor.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_FOREGROUND, ANSI_RED, ANSI_WHITE } from './constants.js';
2
+ import { isColor } from './isColor.js';
3
+ test('support duo code', () => {
4
+ expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND], ANSI_WHITE, ANSI_RED)).toBe(true);
5
+ });
6
+ test('support single code', () => {
7
+ expect(isColor([ANSI_RED + ANSI_BACKGROUND], ANSI_WHITE, ANSI_RED)).toBe(true);
8
+ });
9
+ test('support triple code', () => {
10
+ expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND, ANSI_BRIGHT], ANSI_WHITE, ANSI_RED)).toBe(true);
11
+ });
12
+ test('specific style', () => {
13
+ expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND, ANSI_BRIGHT], ANSI_WHITE, ANSI_RED, ANSI_BRIGHT)).toBe(true);
14
+ });
15
+ //# sourceMappingURL=isColor.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColor.spec.js","sourceRoot":"","sources":["../../ts/ansi/isColor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,eAAe,EAAE,UAAU,GAAG,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9G,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,eAAe,EAAE,UAAU,GAAG,eAAe,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3H,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,eAAe,EAAE,UAAU,GAAG,eAAe,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxI,CAAC,CAAC,CAAA","sourcesContent":["import { ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_FOREGROUND, ANSI_RED, ANSI_WHITE } from './constants.js'\nimport { isColor } from './isColor.js'\n\ntest('support duo code', () => {\n expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND], ANSI_WHITE, ANSI_RED)).toBe(true)\n})\n\ntest('support single code', () => {\n expect(isColor([ANSI_RED + ANSI_BACKGROUND], ANSI_WHITE, ANSI_RED)).toBe(true)\n})\n\ntest('support triple code', () => {\n expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND, ANSI_BRIGHT], ANSI_WHITE, ANSI_RED)).toBe(true)\n})\n\ntest('specific style', () => {\n expect(isColor([ANSI_RED + ANSI_BACKGROUND, ANSI_WHITE + ANSI_FOREGROUND, ANSI_BRIGHT], ANSI_WHITE, ANSI_RED, ANSI_BRIGHT)).toBe(true)\n})\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapAnsi.d.ts","sourceRoot":"","sources":["../../ts/ansi/wrapAnsi.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAErD;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAErD"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapAnsi.js","sourceRoot":"","sources":["../../ts/ansi/wrapAnsi.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,KAAe;IACpD,OAAO,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,KAAe;IACpD,OAAO,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAA;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAU,EAAE,KAAe;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AACjD,CAAC","sourcesContent":["export function wrapAnsiId(id: string, codes: number[]) {\n return wrapAnsi(padIdIfHasBackground(id, codes), codes)\n}\nexport function wrapAnsi(text: string, codes: number[]) {\n return `\\u001B[${codes.join(';')}m${text}\\u001B[0m`\n}\n\nfunction padIdIfHasBackground(id: string, codes: number[]) {\n return codes.some(x => x > 40) ? ` ${id} ` : id\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wrapAnsi.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapAnsi.spec.d.ts","sourceRoot":"","sources":["../../ts/ansi/wrapAnsi.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ANSI_BACKGROUND, ANSI_FOREGROUND, ANSI_RED } from './constants.js';
2
+ import { wrapAnsiId } from './wrapAnsi.js';
3
+ test('no background will not pad', () => {
4
+ const actual = wrapAnsiId('abc', [ANSI_RED + ANSI_FOREGROUND]);
5
+ expect(actual).toBe(`\u001B[${ANSI_RED + ANSI_FOREGROUND}m${'abc'}\u001B[0m`);
6
+ });
7
+ it('will pad with background', () => {
8
+ const actual = wrapAnsiId('abc', [ANSI_RED + ANSI_BACKGROUND]);
9
+ expect(actual).toBe(`\u001B[${ANSI_RED + ANSI_BACKGROUND}m${' abc '}\u001B[0m`);
10
+ });
11
+ //# sourceMappingURL=wrapAnsi.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapAnsi.spec.js","sourceRoot":"","sources":["../../ts/ansi/wrapAnsi.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAA;IAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ,GAAG,eAAe,IAAI,KAAK,WAAW,CAAC,CAAA;AAC/E,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAA;IAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ,GAAG,eAAe,IAAI,OAAO,WAAW,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA","sourcesContent":["import { ANSI_BACKGROUND, ANSI_FOREGROUND, ANSI_RED } from './constants.js'\nimport { wrapAnsiId } from './wrapAnsi.js'\n\ntest('no background will not pad', () => {\n const actual = wrapAnsiId('abc', [ANSI_RED + ANSI_FOREGROUND])\n expect(actual).toBe(`\\u001B[${ANSI_RED + ANSI_FOREGROUND}m${'abc'}\\u001B[0m`)\n})\n\nit('will pad with background', () => {\n const actual = wrapAnsiId('abc', [ANSI_RED + ANSI_BACKGROUND])\n expect(actual).toBe(`\\u001B[${ANSI_RED + ANSI_BACKGROUND}m${' abc '}\\u001B[0m`)\n})\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.browser.d.ts","sourceRoot":"","sources":["../ts/createColorLogReporter.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA+C,MAAM,cAAc,CAAA;AAKrG,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,6CAEzE"}
@@ -1,7 +1,7 @@
1
1
  import { createConsoleLogReporter, plainLogFormatter } from 'standard-log';
2
2
  import { required } from 'unpartial';
3
- import { createCssFormatter } from './css';
4
- import { supportColor } from './utils';
3
+ import { createCssFormatter } from './css/index.js';
4
+ import { supportColor } from './utils/index.js';
5
5
  export function createColorLogReporter(options) {
6
6
  return createConsoleLogReporter(required({ formatter: getFormatter() }, options));
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.browser.js","sourceRoot":"","sources":["../ts/createColorLogReporter.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,UAAU,sBAAsB,CAAC,OAAmC;IACxE,OAAO,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,uBAAuB;AACvB,SAAS,YAAY;IACnB,IAAI,CAAC,YAAY,EAAE;QAAE,OAAO,iBAAiB,CAAA;IAE7C,OAAO,kBAAkB,EAAE,CAAA;AAC7B,CAAC","sourcesContent":["import { ConsoleLogReporterOptions, createConsoleLogReporter, plainLogFormatter } from 'standard-log'\nimport { required } from 'unpartial'\nimport { createCssFormatter } from './css/index.js'\nimport { supportColor } from './utils/index.js'\n\nexport function createColorLogReporter(options?: ConsoleLogReporterOptions) {\n return createConsoleLogReporter(required({ formatter: getFormatter() }, options))\n}\n\n// istanbul ignore next\nfunction getFormatter() {\n if (!supportColor()) return plainLogFormatter\n\n return createCssFormatter()\n}\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.d.ts","sourceRoot":"","sources":["../ts/createColorLogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA+C,MAAM,cAAc,CAAA;AAKrG,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,6CAEzE"}
@@ -1,7 +1,7 @@
1
1
  import { createConsoleLogReporter, plainLogFormatter } from 'standard-log';
2
2
  import { required } from 'unpartial';
3
- import { createAnsiFormatter } from './ansi';
4
- import { supportColor } from './utils';
3
+ import { createAnsiFormatter } from './ansi/index.js';
4
+ import { supportColor } from './utils/index.js';
5
5
  export function createColorLogReporter(options) {
6
6
  return createConsoleLogReporter(required({ formatter: getFormatter() }, options));
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.js","sourceRoot":"","sources":["../ts/createColorLogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,UAAU,sBAAsB,CAAC,OAAmC;IACxE,OAAO,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,SAAS,YAAY;IACnB,uBAAuB;IACvB,IAAI,CAAC,YAAY,EAAE;QAAE,OAAO,iBAAiB,CAAA;IAE7C,OAAO,mBAAmB,EAAE,CAAA;AAC9B,CAAC","sourcesContent":["import { ConsoleLogReporterOptions, createConsoleLogReporter, plainLogFormatter } from 'standard-log'\nimport { required } from 'unpartial'\nimport { createAnsiFormatter } from './ansi/index.js'\nimport { supportColor } from './utils/index.js'\n\nexport function createColorLogReporter(options?: ConsoleLogReporterOptions) {\n return createConsoleLogReporter(required({ formatter: getFormatter() }, options))\n}\n\nfunction getFormatter() {\n // istanbul ignore next\n if (!supportColor()) return plainLogFormatter\n\n return createAnsiFormatter()\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createColorLogReporter.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.spec.d.ts","sourceRoot":"","sources":["../ts/createColorLogReporter.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { logLevels, plainLogFormatter } from 'standard-log';
2
+ import { createAnsiFormatter, createColorLogReporter, createCssFormatter } from './index.js';
3
+ describe('rendering tests', () => {
4
+ test('default to color rendering', () => {
5
+ const reporter = createColorLogReporter();
6
+ ['emergency', 'info', 'warn', 'debug'].forEach(level => {
7
+ reporter.write({ id: 'color', level: logLevels[level], args: ['hello', 'world'], timestamp: new Date() });
8
+ });
9
+ });
10
+ test('plain rendering', () => {
11
+ const reporter = createColorLogReporter({ formatter: plainLogFormatter });
12
+ ['emergency', 'info', 'warn', 'debug'].forEach(level => {
13
+ reporter.write({ id: 'plain', level: logLevels[level], args: ['hello', 'world'], timestamp: new Date() });
14
+ });
15
+ });
16
+ test('different timestamp settings', () => {
17
+ ['none', 'iso', 'elapsed'].forEach((timestamp) => {
18
+ const reporter = createColorLogReporter({ formatter: createAnsiFormatter({ timestamp }) });
19
+ reporter.write({ id: timestamp, level: logLevels.info, args: ['hello', 'world'], timestamp: new Date() });
20
+ });
21
+ });
22
+ test('different timestamp settings for css', () => {
23
+ ['none', 'iso', 'elapsed'].forEach((timestamp) => {
24
+ const reporter = createColorLogReporter({ formatter: createCssFormatter({ timestamp }) });
25
+ reporter.write({ id: timestamp, level: logLevels.info, args: ['hello', 'world'], timestamp: new Date() });
26
+ });
27
+ });
28
+ });
29
+ describe('id', () => {
30
+ test('default is "console"', () => {
31
+ const reporter = createColorLogReporter();
32
+ expect(reporter.id).toBe('console');
33
+ });
34
+ test('can be overridden', () => {
35
+ const reporter = createColorLogReporter({ id: 'neo-console' });
36
+ expect(reporter.id).toBe('neo-console');
37
+ });
38
+ });
39
+ //# sourceMappingURL=createColorLogReporter.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createColorLogReporter.spec.js","sourceRoot":"","sources":["../ts/createColorLogReporter.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { logLevels, plainLogFormatter } from 'standard-log'\nimport { createAnsiFormatter, createColorLogReporter, createCssFormatter } from './index.js'\n\ndescribe('rendering tests', () => {\n test('default to color rendering', () => {\n const reporter = createColorLogReporter();\n ['emergency', 'info', 'warn', 'debug'].forEach(level => {\n reporter.write({ id: 'color', level: (logLevels as any)[level], args: ['hello', 'world'], timestamp: new Date() })\n })\n })\n test('plain rendering', () => {\n const reporter = createColorLogReporter({ formatter: plainLogFormatter });\n ['emergency', 'info', 'warn', 'debug'].forEach(level => {\n reporter.write({ id: 'plain', level: (logLevels as any)[level], args: ['hello', 'world'], timestamp: new Date() })\n })\n })\n\n test('different timestamp settings', () => {\n ['none', 'iso', 'elapsed'].forEach((timestamp: any) => {\n const reporter = createColorLogReporter({ formatter: createAnsiFormatter({ timestamp }) })\n reporter.write({ id: timestamp, level: logLevels.info, args: ['hello', 'world'], timestamp: new Date() })\n })\n })\n test('different timestamp settings for css', () => {\n ['none', 'iso', 'elapsed'].forEach((timestamp: any) => {\n const reporter = createColorLogReporter({ formatter: createCssFormatter({ timestamp }) })\n reporter.write({ id: timestamp, level: logLevels.info, args: ['hello', 'world'], timestamp: new Date() })\n })\n })\n})\n\ndescribe('id', () => {\n test('default is \"console\"', () => {\n const reporter = createColorLogReporter()\n expect(reporter.id).toBe('console')\n })\n test('can be overridden', () => {\n const reporter = createColorLogReporter({ id: 'neo-console' })\n expect(reporter.id).toBe('neo-console')\n })\n})\n\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../ts/css/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,eAAO,MAAM,OAAO,EAAE,QAUrB,CAAA"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../ts/css/colors.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAa;IAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAClC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IACnC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;IACnC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CAC/B,CAAA","sourcesContent":["import { ColorMap } from 'color-map'\n\nexport const rainbow: ColorMap = [\n { index: 0, rgb: [150, 0, 90] },\n { index: 0.125, rgb: [0, 0, 200] },\n { index: 0.25, rgb: [0, 25, 255] },\n { index: 0.375, rgb: [0, 152, 255] },\n { index: 0.5, rgb: [44, 255, 150] },\n { index: 0.625, rgb: [151, 255, 0] },\n { index: 0.75, rgb: [255, 234, 0] },\n { index: 0.875, rgb: [255, 111, 0] },\n { index: 1, rgb: [255, 0, 0] }\n]\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssFormatter.d.ts","sourceRoot":"","sources":["../../ts/css/cssFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAKlF,oBAAY,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,WAQnC,QAAQ,WA+B7C"}
@@ -1,7 +1,7 @@
1
1
  import { createTimestampFormatter } from 'standard-log';
2
2
  import { createColorsFromMap, rgbHex } from 'color-map';
3
3
  import { required } from 'unpartial';
4
- import { rainbow } from './colors';
4
+ import { rainbow } from './colors.js';
5
5
  export function createCssFormatter(options) {
6
6
  const { maxColor, timestamp } = required({ maxColor: 20, timestamp: 'none' }, options);
7
7
  const loggerMap = {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssFormatter.js","sourceRoot":"","sources":["../../ts/css/cssFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTimestampFormatter, LogEntry, TimestampFormat } from 'standard-log'\nimport { createColorsFromMap, RGB, RGBA, rgbHex } from 'color-map'\nimport { required } from 'unpartial'\nimport { rainbow } from './colors.js'\n\nexport type CssFormatterOptions = {\n /**\n * How many colors available.\n * Recommend at least 10.\n * Default to 20.\n */\n maxColor: number,\n timestamp: TimestampFormat\n}\n\nexport function createCssFormatter(options?: Partial<CssFormatterOptions>) {\n const { maxColor, timestamp } = required({ maxColor: 20, timestamp: 'none' }, options)\n const loggerMap: Record<string, RGB> = {}\n const colorMap: RGBA[] = createColorsFromMap(rainbow, maxColor)\n let count = 0\n\n const timestampFormatter = createTimestampFormatter(timestamp)\n\n return function cssFormatter(entry: LogEntry) {\n let idStr = `%c ${entry.id} `\n let args: any[]\n if (firstArgIsColorTemplate(entry.args)) {\n idStr += entry.args[0]\n args = [...entry.args.slice(1)]\n }\n else {\n args = [...entry.args]\n }\n const rgb = getRgb(entry.id)\n const background = rgbHex(rgb)\n const border = rgbHex(rgb.map(x => Math.max(0, x - 32)) as RGB)\n const color = getForegroundColor(rgb)\n const result = [\n idStr,\n `padding: 2px; margin: 2px; line-height: 1.8em;background: ${background};border: 1px solid ${border};color: ${color};`,\n ...args\n ]\n const t = timestampFormatter(entry.timestamp)\n if (t !== undefined) result.push(t)\n return result\n }\n\n function firstArgIsColorTemplate(args: any[]) {\n return typeof args[0] === 'string' && args[0].indexOf('%c') !== -1\n }\n\n function getRgb(id: string) {\n return loggerMap[id] = loggerMap[id] || colorMap[count++ & maxColor]\n }\n}\n\nconst gammaMap = {\n rc: 0.2126,\n gc: 0.7152,\n bc: 0.0722,\n lowc: 1 / 12.92\n}\n\nfunction getForegroundColor(background: RGB) {\n // Setting the contrasting color as default\n let color = getComplementary(background)\n const bgLuminance = getRelativeLuminance(background)\n const fgLuminance = (color === '#ffffff') ?\n getRelativeLuminance([255, 255, 255]) :\n getRelativeLuminance([0, 0, 0])\n const relativeL = bgLuminance > fgLuminance ? (bgLuminance + 0.05) / (fgLuminance + 0.05) : (fgLuminance + 0.05) / (bgLuminance + 0.05)\n\n // Can set the contrast ratio based on text size later.\n if (relativeL < 4.5) {\n const avgLuminance = background[0] * gammaMap['rc'] + background[1] * gammaMap['gc'] + background[2] * gammaMap['bc']\n\n // If the relative contrast is lower than standard, we switch color to black/white\n color = (avgLuminance < 220) ? '#ffffff' : '#000000'\n }\n return color\n}\n\nfunction getRelativeLuminance(rgb: RGB) {\n // https://www.w3.org/TR/WCAG/#relativeluminancedef\n const rsrgb = rgb[0] / 255\n const gsrgb = rgb[1] / 255\n const bsrgb = rgb[2] / 255\n\n const r = rsrgb <= 0.03928 ? rsrgb * gammaMap['lowc'] : Math.pow((rsrgb + 0.055) / 1.055, 2.4)\n const g = gsrgb <= 0.03928 ? gsrgb * gammaMap['lowc'] : Math.pow((gsrgb + 0.055) / 1.055, 2.4)\n const b = bsrgb <= 0.03928 ? bsrgb * gammaMap['lowc'] : Math.pow((bsrgb + 0.055) / 1.055, 2.4)\n\n return r * gammaMap['rc'] + g * gammaMap['gc'] + b * gammaMap['bc']\n}\n\nfunction getComplementary(rgb: RGB) {\n const r = 255 - rgb[0]\n const g = 255 - rgb[1]\n const b = 255 - rgb[2]\n return rgbHex([r, g, b])\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cssFormatter.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssFormatter.spec.d.ts","sourceRoot":"","sources":["../../ts/css/cssFormatter.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { logLevels } from 'standard-log';
2
+ import a from 'assertron';
3
+ import { anything } from 'satisfier';
4
+ import { createCssFormatter } from './cssFormatter.js';
5
+ const cssFormatter = createCssFormatter();
6
+ test('same logger will get the same color', () => {
7
+ const a = cssFormatter({ id: 'log', level: logLevels.critical, args: ['a'], timestamp: new Date() });
8
+ const b = cssFormatter({ id: 'log', level: logLevels.critical, args: ['a'], timestamp: new Date() });
9
+ expect(a[1]).toEqual('padding: 2px; margin: 2px; line-height: 1.8em;background: #96005a;border: 1px solid #76003a;color: #ffffff;');
10
+ expect(a[1]).toEqual(b[1]);
11
+ });
12
+ test('support color template', () => {
13
+ const actual = cssFormatter({
14
+ id: 'color-template',
15
+ level: logLevels.critical,
16
+ args: ['%c SomeColored Text %c AnotherColor', 'color:blue;', 'color:red;', 'not colored'],
17
+ timestamp: new Date()
18
+ });
19
+ a.satisfies(actual, [
20
+ '%c color-template %c SomeColored Text %c AnotherColor',
21
+ 'padding: 2px; margin: 2px; line-height: 1.8em;background: #96005a;border: 1px solid #76003a;color: #ffffff;',
22
+ 'color:blue;',
23
+ 'color:red;',
24
+ 'not colored',
25
+ anything
26
+ ]);
27
+ });
28
+ //# sourceMappingURL=cssFormatter.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssFormatter.spec.js","sourceRoot":"","sources":["../../ts/css/cssFormatter.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,CAAC,MAAM,WAAW,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;AAEzC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC/C,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;IACpG,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;IACpG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6GAA6G,CAAC,CAAA;IACnI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,SAAS,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,qCAAqC,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC;QACzF,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAA;IACF,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;QAClB,uDAAuD;QACvD,6GAA6G;QAC7G,aAAa;QACb,YAAY;QACZ,aAAa;QACb,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { logLevels } from 'standard-log'\nimport a from 'assertron'\nimport { anything } from 'satisfier'\nimport { createCssFormatter } from './cssFormatter.js'\n\nconst cssFormatter = createCssFormatter()\n\ntest('same logger will get the same color', () => {\n const a = cssFormatter({ id: 'log', level: logLevels.critical, args: ['a'], timestamp: new Date() })\n const b = cssFormatter({ id: 'log', level: logLevels.critical, args: ['a'], timestamp: new Date() })\n expect(a[1]).toEqual('padding: 2px; margin: 2px; line-height: 1.8em;background: #96005a;border: 1px solid #76003a;color: #ffffff;')\n expect(a[1]).toEqual(b[1])\n})\n\ntest('support color template', () => {\n const actual = cssFormatter({\n id: 'color-template',\n level: logLevels.critical,\n args: ['%c SomeColored Text %c AnotherColor', 'color:blue;', 'color:red;', 'not colored'],\n timestamp: new Date()\n })\n a.satisfies(actual, [\n '%c color-template %c SomeColored Text %c AnotherColor',\n 'padding: 2px; margin: 2px; line-height: 1.8em;background: #96005a;border: 1px solid #76003a;color: #ffffff;',\n 'color:blue;',\n 'color:red;',\n 'not colored',\n anything\n ])\n})\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './cssFormatter.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/css/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './cssFormatter.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/css/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './cssFormatter.js'\n"]}
package/esm/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './ansi/index.js';
2
+ export * from './createColorLogReporter.js';
3
+ export * from './css/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA"}
package/esm/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from './ansi/index.js';
2
+ export * from './createColorLogReporter.js';
3
+ export * from './css/index.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA","sourcesContent":["export * from './ansi/index.js'\nexport * from './createColorLogReporter.js'\nexport * from './css/index.js'\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './supportColor.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './supportColor.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './supportColor.js'\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportColor.browser.d.ts","sourceRoot":"","sources":["../../ts/utils/supportColor.browser.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
@@ -6,6 +6,7 @@ function doesBrowserSupportColor() {
6
6
  // NB: In an Electron preload script, document will be defined but not fully
7
7
  // initialized. Since we know we're in Chrome, we'll just detect this case
8
8
  // explicitly
9
+ // @ts-ignore
9
10
  if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
10
11
  return true;
11
12
  }
@@ -15,8 +16,10 @@ function doesBrowserSupportColor() {
15
16
  }
16
17
  // Is webkit? http://stackoverflow.com/a/16459606/376773
17
18
  // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
19
+ // @ts-ignore
18
20
  return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
19
21
  // Is firebug? http://stackoverflow.com/a/398120/376773
22
+ // @ts-ignore
20
23
  (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
21
24
  // Is firefox >= v31?
22
25
  // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportColor.browser.js","sourceRoot":"","sources":["../../ts/utils/supportColor.browser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B,OAAO,uBAAuB,EAAE,CAAA;AAClC,CAAC;AAED,uBAAuB;AACvB,SAAS,uBAAuB;IAC9B,4EAA4E;IAC5E,0EAA0E;IAC1E,aAAa;IACb,aAAa;IACb,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACpH,OAAO,IAAI,CAAA;KACZ;IAED,oDAAoD;IACpD,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE;QAC/H,OAAO,KAAK,CAAA;KACb;IAED,wDAAwD;IACxD,4FAA4F;IAC5F,aAAa;IACb,OAAO,CAAC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACvJ,uDAAuD;QACvD,aAAa;QACb,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACnI,qBAAqB;QACrB,8EAA8E;QAC9E,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACvJ,mEAAmE;QACnE,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAC9H,CAAC","sourcesContent":["export function supportColor(): boolean {\n return doesBrowserSupportColor()\n}\n\n// istanbul ignore next\nfunction doesBrowserSupportColor() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n // @ts-ignore\n if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n return true\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false\n }\n\n // Is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n // @ts-ignore\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // Is firebug? http://stackoverflow.com/a/398120/376773\n // @ts-ignore\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // Is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // Double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))\n}\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportColor.d.ts","sourceRoot":"","sources":["../../ts/utils/supportColor.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportColor.js","sourceRoot":"","sources":["../../ts/utils/supportColor.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAA;AACb,CAAC","sourcesContent":["export function supportColor(): boolean {\n return true\n}\n"]}