standard-log 7.1.0 → 9.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 (551) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +57 -133
  3. package/{libm/console/createConsoleLogReporter.d.ts → cjs/console.d.ts} +5 -5
  4. package/cjs/console.d.ts.map +1 -0
  5. package/cjs/console.js +76 -0
  6. package/cjs/console.js.map +1 -0
  7. package/cjs/console.spec.d.ts +2 -0
  8. package/cjs/console.spec.d.ts.map +1 -0
  9. package/cjs/console.spec.js +177 -0
  10. package/cjs/console.spec.js.map +1 -0
  11. package/cjs/errors.d.ts +9 -0
  12. package/cjs/errors.d.ts.map +1 -0
  13. package/cjs/errors.js +43 -0
  14. package/cjs/errors.js.map +1 -0
  15. package/cjs/formatter.d.ts +6 -0
  16. package/cjs/formatter.d.ts.map +1 -0
  17. package/cjs/formatter.js +46 -0
  18. package/cjs/formatter.js.map +1 -0
  19. package/cjs/formatter.spec.d.ts +2 -0
  20. package/cjs/formatter.spec.d.ts.map +1 -0
  21. package/cjs/formatter.spec.js +32 -0
  22. package/cjs/formatter.spec.js.map +1 -0
  23. package/cjs/index.d.ts +8 -0
  24. package/cjs/index.d.ts.map +1 -0
  25. package/cjs/index.js +24 -0
  26. package/cjs/index.js.map +1 -0
  27. package/cjs/logLevels.d.ts +60 -0
  28. package/cjs/logLevels.d.ts.map +1 -0
  29. package/cjs/logLevels.js +87 -0
  30. package/cjs/logLevels.js.map +1 -0
  31. package/cjs/logStore.d.ts +20 -0
  32. package/cjs/logStore.d.ts.map +1 -0
  33. package/cjs/logStore.js +44 -0
  34. package/cjs/logStore.js.map +1 -0
  35. package/cjs/logStore.spec.d.ts +2 -0
  36. package/cjs/logStore.spec.d.ts.map +1 -0
  37. package/cjs/logStore.spec.js +93 -0
  38. package/cjs/logStore.spec.js.map +1 -0
  39. package/cjs/logger.d.ts +6 -0
  40. package/cjs/logger.d.ts.map +1 -0
  41. package/cjs/logger.js +97 -0
  42. package/cjs/logger.js.map +1 -0
  43. package/{lib/memory/MemoryLogReporter.d.ts → cjs/memory.d.ts} +2 -2
  44. package/cjs/memory.d.ts.map +1 -0
  45. package/cjs/memory.js +39 -0
  46. package/cjs/memory.js.map +1 -0
  47. package/cjs/memory.spec.d.ts +2 -0
  48. package/cjs/memory.spec.d.ts.map +1 -0
  49. package/cjs/memory.spec.js +115 -0
  50. package/cjs/memory.spec.js.map +1 -0
  51. package/cjs/package.json +1 -0
  52. package/cjs/platform.browser.d.ts +7 -0
  53. package/cjs/platform.browser.d.ts.map +1 -0
  54. package/cjs/platform.browser.js +11 -0
  55. package/cjs/platform.browser.js.map +1 -0
  56. package/cjs/platform.d.ts +8 -0
  57. package/cjs/platform.d.ts.map +1 -0
  58. package/cjs/platform.js +26 -0
  59. package/cjs/platform.js.map +1 -0
  60. package/cjs/platform.spec.d.ts +2 -0
  61. package/cjs/platform.spec.d.ts.map +1 -0
  62. package/cjs/platform.spec.js +22 -0
  63. package/cjs/platform.spec.js.map +1 -0
  64. package/cjs/standardLog.d.ts +21 -0
  65. package/cjs/standardLog.d.ts.map +1 -0
  66. package/cjs/standardLog.js +59 -0
  67. package/cjs/standardLog.js.map +1 -0
  68. package/cjs/standardLog.spec.d.ts +2 -0
  69. package/cjs/standardLog.spec.d.ts.map +1 -0
  70. package/cjs/standardLog.spec.js +536 -0
  71. package/cjs/standardLog.spec.js.map +1 -0
  72. package/cjs/testUtil.d.ts +10 -0
  73. package/cjs/testUtil.d.ts.map +1 -0
  74. package/cjs/testUtil.js +28 -0
  75. package/cjs/testUtil.js.map +1 -0
  76. package/{lib → cjs}/types.d.ts +33 -24
  77. package/cjs/types.d.ts.map +1 -0
  78. package/{lib/console → cjs}/types.js +0 -0
  79. package/cjs/types.js.map +1 -0
  80. package/cjs/types.spec.d.ts +2 -0
  81. package/cjs/types.spec.d.ts.map +1 -0
  82. package/cjs/types.spec.js +7 -0
  83. package/cjs/types.spec.js.map +1 -0
  84. package/dist/standard-log.es5.js +1971 -0
  85. package/dist/standard-log.es5.js.gz +0 -0
  86. package/dist/standard-log.es5.js.map +1 -0
  87. package/dist/standard-log.es5.js.map.gz +0 -0
  88. package/dist/standard-log.esm.js +1887 -0
  89. package/dist/standard-log.esm.js.gz +0 -0
  90. package/dist/standard-log.esm.js.map +1 -0
  91. package/dist/standard-log.esm.js.map.gz +0 -0
  92. package/{lib/console/createConsoleLogReporter.d.ts → esm/console.d.ts} +5 -5
  93. package/esm/console.d.ts.map +1 -0
  94. package/{libm/console/polyfilledConsole.js → esm/console.js} +36 -4
  95. package/esm/console.js.map +1 -0
  96. package/esm/console.spec.d.ts +2 -0
  97. package/esm/console.spec.d.ts.map +1 -0
  98. package/esm/console.spec.js +151 -0
  99. package/esm/console.spec.js.map +1 -0
  100. package/esm/errors.d.ts +9 -0
  101. package/esm/errors.d.ts.map +1 -0
  102. package/esm/errors.js +18 -0
  103. package/esm/errors.js.map +1 -0
  104. package/esm/formatter.d.ts +6 -0
  105. package/esm/formatter.d.ts.map +1 -0
  106. package/{libm/formatter/createTimestampFormatter.js → esm/formatter.js} +10 -2
  107. package/esm/formatter.js.map +1 -0
  108. package/esm/formatter.spec.d.ts +2 -0
  109. package/esm/formatter.spec.d.ts.map +1 -0
  110. package/esm/formatter.spec.js +30 -0
  111. package/esm/formatter.spec.js.map +1 -0
  112. package/esm/index.d.ts +8 -0
  113. package/esm/index.d.ts.map +1 -0
  114. package/esm/index.js +8 -0
  115. package/esm/index.js.map +1 -0
  116. package/esm/logLevels.d.ts +60 -0
  117. package/esm/logLevels.d.ts.map +1 -0
  118. package/{libm/logLevel.js → esm/logLevels.js} +29 -3
  119. package/esm/logLevels.js.map +1 -0
  120. package/esm/logStore.d.ts +20 -0
  121. package/esm/logStore.d.ts.map +1 -0
  122. package/esm/logStore.js +37 -0
  123. package/esm/logStore.js.map +1 -0
  124. package/esm/logStore.spec.d.ts +2 -0
  125. package/esm/logStore.spec.d.ts.map +1 -0
  126. package/esm/logStore.spec.js +93 -0
  127. package/esm/logStore.spec.js.map +1 -0
  128. package/esm/logger.d.ts +6 -0
  129. package/esm/logger.d.ts.map +1 -0
  130. package/esm/logger.js +74 -0
  131. package/esm/logger.js.map +1 -0
  132. package/{libm/memory/MemoryLogReporter.d.ts → esm/memory.d.ts} +2 -2
  133. package/esm/memory.d.ts.map +1 -0
  134. package/esm/memory.js +34 -0
  135. package/esm/memory.js.map +1 -0
  136. package/esm/memory.spec.d.ts +2 -0
  137. package/esm/memory.spec.d.ts.map +1 -0
  138. package/esm/memory.spec.js +110 -0
  139. package/esm/memory.spec.js.map +1 -0
  140. package/esm/platform.browser.d.ts +7 -0
  141. package/esm/platform.browser.d.ts.map +1 -0
  142. package/esm/platform.browser.js +6 -0
  143. package/esm/platform.browser.js.map +1 -0
  144. package/esm/platform.d.ts +8 -0
  145. package/esm/platform.d.ts.map +1 -0
  146. package/esm/platform.js +20 -0
  147. package/esm/platform.js.map +1 -0
  148. package/esm/platform.spec.d.ts +2 -0
  149. package/esm/platform.spec.d.ts.map +1 -0
  150. package/esm/platform.spec.js +20 -0
  151. package/esm/platform.spec.js.map +1 -0
  152. package/esm/standardLog.d.ts +21 -0
  153. package/esm/standardLog.d.ts.map +1 -0
  154. package/esm/standardLog.js +36 -0
  155. package/esm/standardLog.js.map +1 -0
  156. package/esm/standardLog.spec.d.ts +2 -0
  157. package/esm/standardLog.spec.d.ts.map +1 -0
  158. package/esm/standardLog.spec.js +434 -0
  159. package/esm/standardLog.spec.js.map +1 -0
  160. package/esm/testUtil.d.ts +10 -0
  161. package/esm/testUtil.d.ts.map +1 -0
  162. package/esm/testUtil.js +17 -0
  163. package/esm/testUtil.js.map +1 -0
  164. package/{libm → esm}/types.d.ts +33 -24
  165. package/esm/types.d.ts.map +1 -0
  166. package/{libm/console → esm}/types.js +0 -0
  167. package/esm/types.js.map +1 -0
  168. package/esm/types.spec.d.ts +2 -0
  169. package/esm/types.spec.d.ts.map +1 -0
  170. package/esm/types.spec.js +5 -0
  171. package/esm/types.spec.js.map +1 -0
  172. package/package.json +72 -31
  173. package/ts/console.ts +72 -0
  174. package/ts/errors.ts +12 -0
  175. package/{src/formatter/createTimestampFormatter.ts → ts/formatter.ts} +13 -2
  176. package/ts/index.ts +7 -0
  177. package/{src/logLevel.ts → ts/logLevels.ts} +20 -3
  178. package/ts/logStore.ts +52 -0
  179. package/ts/logger.ts +85 -0
  180. package/ts/memory.ts +47 -0
  181. package/ts/platform.browser.ts +8 -0
  182. package/ts/platform.ts +25 -0
  183. package/ts/standardLog.ts +54 -0
  184. package/{src → ts}/types.ts +39 -30
  185. package/dist/standard-log.js +0 -5472
  186. package/dist/standard-log.js.gz +0 -0
  187. package/dist/standard-log.js.map +0 -1
  188. package/dist/standard-log.js.map.gz +0 -0
  189. package/lib/LogEntry.d.ts +0 -7
  190. package/lib/LogEntry.d.ts.map +0 -1
  191. package/lib/LogEntry.js +0 -3
  192. package/lib/LogEntry.js.map +0 -1
  193. package/lib/captureLogs.d.ts +0 -4
  194. package/lib/captureLogs.d.ts.map +0 -1
  195. package/lib/captureLogs.js +0 -33
  196. package/lib/captureLogs.js.map +0 -1
  197. package/lib/config.d.ts +0 -12
  198. package/lib/config.d.ts.map +0 -1
  199. package/lib/config.js +0 -49
  200. package/lib/config.js.map +0 -1
  201. package/lib/configForTest.d.ts +0 -5
  202. package/lib/configForTest.d.ts.map +0 -1
  203. package/lib/configForTest.js +0 -18
  204. package/lib/configForTest.js.map +0 -1
  205. package/lib/console/createConsoleLogReporter.d.ts.map +0 -1
  206. package/lib/console/createConsoleLogReporter.js +0 -42
  207. package/lib/console/createConsoleLogReporter.js.map +0 -1
  208. package/lib/console/index.d.ts +0 -4
  209. package/lib/console/index.d.ts.map +0 -1
  210. package/lib/console/index.js +0 -7
  211. package/lib/console/index.js.map +0 -1
  212. package/lib/console/isConsoleDebugAvailable.d.ts +0 -2
  213. package/lib/console/isConsoleDebugAvailable.d.ts.map +0 -1
  214. package/lib/console/isConsoleDebugAvailable.js +0 -18
  215. package/lib/console/isConsoleDebugAvailable.js.map +0 -1
  216. package/lib/console/polyfilledConsole.d.ts +0 -7
  217. package/lib/console/polyfilledConsole.d.ts.map +0 -1
  218. package/lib/console/polyfilledConsole.js +0 -41
  219. package/lib/console/polyfilledConsole.js.map +0 -1
  220. package/lib/console/semverGt.d.ts +0 -2
  221. package/lib/console/semverGt.d.ts.map +0 -1
  222. package/lib/console/semverGt.js +0 -13
  223. package/lib/console/semverGt.js.map +0 -1
  224. package/lib/console/toConsoleMethod.d.ts +0 -2
  225. package/lib/console/toConsoleMethod.d.ts.map +0 -1
  226. package/lib/console/toConsoleMethod.js +0 -22
  227. package/lib/console/toConsoleMethod.js.map +0 -1
  228. package/lib/console/types.d.ts +0 -3
  229. package/lib/console/types.d.ts.map +0 -1
  230. package/lib/console/types.js.map +0 -1
  231. package/lib/customLogLevel.d.ts +0 -11
  232. package/lib/customLogLevel.d.ts.map +0 -1
  233. package/lib/customLogLevel.js +0 -38
  234. package/lib/customLogLevel.js.map +0 -1
  235. package/lib/errors.d.ts +0 -19
  236. package/lib/errors.d.ts.map +0 -1
  237. package/lib/errors.js +0 -46
  238. package/lib/errors.js.map +0 -1
  239. package/lib/formatter/createTimestampFormatter.d.ts +0 -3
  240. package/lib/formatter/createTimestampFormatter.d.ts.map +0 -1
  241. package/lib/formatter/createTimestampFormatter.js +0 -24
  242. package/lib/formatter/createTimestampFormatter.js.map +0 -1
  243. package/lib/formatter/formatLogLevel.d.ts +0 -2
  244. package/lib/formatter/formatLogLevel.d.ts.map +0 -1
  245. package/lib/formatter/formatLogLevel.js +0 -10
  246. package/lib/formatter/formatLogLevel.js.map +0 -1
  247. package/lib/formatter/index.d.ts +0 -4
  248. package/lib/formatter/index.d.ts.map +0 -1
  249. package/lib/formatter/index.js +0 -7
  250. package/lib/formatter/index.js.map +0 -1
  251. package/lib/formatter/plainLogFormatter.d.ts +0 -3
  252. package/lib/formatter/plainLogFormatter.d.ts.map +0 -1
  253. package/lib/formatter/plainLogFormatter.js +0 -11
  254. package/lib/formatter/plainLogFormatter.js.map +0 -1
  255. package/lib/getDefaultReporter.browser.d.ts +0 -2
  256. package/lib/getDefaultReporter.browser.d.ts.map +0 -1
  257. package/lib/getDefaultReporter.browser.js +0 -15
  258. package/lib/getDefaultReporter.browser.js.map +0 -1
  259. package/lib/getDefaultReporter.d.ts +0 -2
  260. package/lib/getDefaultReporter.d.ts.map +0 -1
  261. package/lib/getDefaultReporter.js +0 -19
  262. package/lib/getDefaultReporter.js.map +0 -1
  263. package/lib/getLogModeFromEnvironment.browser.d.ts +0 -3
  264. package/lib/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  265. package/lib/getLogModeFromEnvironment.browser.js +0 -9
  266. package/lib/getLogModeFromEnvironment.browser.js.map +0 -1
  267. package/lib/getLogModeFromEnvironment.d.ts +0 -3
  268. package/lib/getLogModeFromEnvironment.d.ts.map +0 -1
  269. package/lib/getLogModeFromEnvironment.js +0 -17
  270. package/lib/getLogModeFromEnvironment.js.map +0 -1
  271. package/lib/getLogger.d.ts +0 -9
  272. package/lib/getLogger.d.ts.map +0 -1
  273. package/lib/getLogger.js +0 -95
  274. package/lib/getLogger.js.map +0 -1
  275. package/lib/getLoggers.d.ts +0 -7
  276. package/lib/getLoggers.d.ts.map +0 -1
  277. package/lib/getLoggers.js +0 -15
  278. package/lib/getLoggers.js.map +0 -1
  279. package/lib/index.d.ts +0 -17
  280. package/lib/index.d.ts.map +0 -1
  281. package/lib/index.js +0 -20
  282. package/lib/index.js.map +0 -1
  283. package/lib/logLevel.d.ts +0 -106
  284. package/lib/logLevel.d.ts.map +0 -1
  285. package/lib/logLevel.js +0 -59
  286. package/lib/logLevel.js.map +0 -1
  287. package/lib/logLevelFn.d.ts +0 -20
  288. package/lib/logLevelFn.d.ts.map +0 -1
  289. package/lib/logLevelFn.js +0 -76
  290. package/lib/logLevelFn.js.map +0 -1
  291. package/lib/logReporter.d.ts +0 -7
  292. package/lib/logReporter.d.ts.map +0 -1
  293. package/lib/logReporter.js +0 -29
  294. package/lib/logReporter.js.map +0 -1
  295. package/lib/logReporterInternal.d.ts +0 -3
  296. package/lib/logReporterInternal.d.ts.map +0 -1
  297. package/lib/logReporterInternal.js +0 -23
  298. package/lib/logReporterInternal.js.map +0 -1
  299. package/lib/memory/MemoryLogReporter.d.ts.map +0 -1
  300. package/lib/memory/MemoryLogReporter.js +0 -56
  301. package/lib/memory/MemoryLogReporter.js.map +0 -1
  302. package/lib/memory/index.d.ts +0 -3
  303. package/lib/memory/index.d.ts.map +0 -1
  304. package/lib/memory/index.js +0 -6
  305. package/lib/memory/index.js.map +0 -1
  306. package/lib/memory/logEntriesToString.d.ts +0 -3
  307. package/lib/memory/logEntriesToString.d.ts.map +0 -1
  308. package/lib/memory/logEntriesToString.js +0 -10
  309. package/lib/memory/logEntriesToString.js.map +0 -1
  310. package/lib/memory/toInspectStringForObject.d.ts +0 -3
  311. package/lib/memory/toInspectStringForObject.d.ts.map +0 -1
  312. package/lib/memory/toInspectStringForObject.js +0 -15
  313. package/lib/memory/toInspectStringForObject.js.map +0 -1
  314. package/lib/shouldLog.d.ts +0 -8
  315. package/lib/shouldLog.d.ts.map +0 -1
  316. package/lib/shouldLog.js +0 -14
  317. package/lib/shouldLog.js.map +0 -1
  318. package/lib/store.d.ts +0 -3
  319. package/lib/store.d.ts.map +0 -1
  320. package/lib/store.js +0 -17
  321. package/lib/store.js.map +0 -1
  322. package/lib/suppressLogs.d.ts +0 -6
  323. package/lib/suppressLogs.d.ts.map +0 -1
  324. package/lib/suppressLogs.js +0 -17
  325. package/lib/suppressLogs.js.map +0 -1
  326. package/lib/testUtil.d.ts +0 -7
  327. package/lib/testUtil.d.ts.map +0 -1
  328. package/lib/testUtil.js +0 -23
  329. package/lib/testUtil.js.map +0 -1
  330. package/lib/types.d.ts.map +0 -1
  331. package/lib/types.js +0 -3
  332. package/lib/types.js.map +0 -1
  333. package/lib/typesInternal.d.ts +0 -20
  334. package/lib/typesInternal.d.ts.map +0 -1
  335. package/lib/typesInternal.js +0 -3
  336. package/lib/typesInternal.js.map +0 -1
  337. package/lib/utils.d.ts +0 -5
  338. package/lib/utils.d.ts.map +0 -1
  339. package/lib/utils.js +0 -14
  340. package/lib/utils.js.map +0 -1
  341. package/lib/writeToReporters.d.ts +0 -6
  342. package/lib/writeToReporters.d.ts.map +0 -1
  343. package/lib/writeToReporters.js +0 -22
  344. package/lib/writeToReporters.js.map +0 -1
  345. package/libm/LogEntry.d.ts +0 -7
  346. package/libm/LogEntry.d.ts.map +0 -1
  347. package/libm/LogEntry.js +0 -2
  348. package/libm/LogEntry.js.map +0 -1
  349. package/libm/captureLogs.d.ts +0 -4
  350. package/libm/captureLogs.d.ts.map +0 -1
  351. package/libm/captureLogs.js +0 -29
  352. package/libm/captureLogs.js.map +0 -1
  353. package/libm/config.d.ts +0 -12
  354. package/libm/config.d.ts.map +0 -1
  355. package/libm/config.js +0 -44
  356. package/libm/config.js.map +0 -1
  357. package/libm/configForTest.d.ts +0 -5
  358. package/libm/configForTest.d.ts.map +0 -1
  359. package/libm/configForTest.js +0 -14
  360. package/libm/configForTest.js.map +0 -1
  361. package/libm/console/createConsoleLogReporter.d.ts.map +0 -1
  362. package/libm/console/createConsoleLogReporter.js +0 -37
  363. package/libm/console/createConsoleLogReporter.js.map +0 -1
  364. package/libm/console/index.d.ts +0 -4
  365. package/libm/console/index.d.ts.map +0 -1
  366. package/libm/console/index.js +0 -4
  367. package/libm/console/index.js.map +0 -1
  368. package/libm/console/isConsoleDebugAvailable.d.ts +0 -2
  369. package/libm/console/isConsoleDebugAvailable.d.ts.map +0 -1
  370. package/libm/console/isConsoleDebugAvailable.js +0 -13
  371. package/libm/console/isConsoleDebugAvailable.js.map +0 -1
  372. package/libm/console/polyfilledConsole.d.ts +0 -7
  373. package/libm/console/polyfilledConsole.d.ts.map +0 -1
  374. package/libm/console/polyfilledConsole.js.map +0 -1
  375. package/libm/console/semverGt.d.ts +0 -2
  376. package/libm/console/semverGt.d.ts.map +0 -1
  377. package/libm/console/semverGt.js +0 -9
  378. package/libm/console/semverGt.js.map +0 -1
  379. package/libm/console/toConsoleMethod.d.ts +0 -2
  380. package/libm/console/toConsoleMethod.d.ts.map +0 -1
  381. package/libm/console/toConsoleMethod.js +0 -18
  382. package/libm/console/toConsoleMethod.js.map +0 -1
  383. package/libm/console/types.d.ts +0 -3
  384. package/libm/console/types.d.ts.map +0 -1
  385. package/libm/console/types.js.map +0 -1
  386. package/libm/customLogLevel.d.ts +0 -11
  387. package/libm/customLogLevel.d.ts.map +0 -1
  388. package/libm/customLogLevel.js +0 -30
  389. package/libm/customLogLevel.js.map +0 -1
  390. package/libm/errors.d.ts +0 -19
  391. package/libm/errors.d.ts.map +0 -1
  392. package/libm/errors.js +0 -32
  393. package/libm/errors.js.map +0 -1
  394. package/libm/formatter/createTimestampFormatter.d.ts +0 -3
  395. package/libm/formatter/createTimestampFormatter.d.ts.map +0 -1
  396. package/libm/formatter/createTimestampFormatter.js.map +0 -1
  397. package/libm/formatter/formatLogLevel.d.ts +0 -2
  398. package/libm/formatter/formatLogLevel.d.ts.map +0 -1
  399. package/libm/formatter/formatLogLevel.js +0 -6
  400. package/libm/formatter/formatLogLevel.js.map +0 -1
  401. package/libm/formatter/index.d.ts +0 -4
  402. package/libm/formatter/index.d.ts.map +0 -1
  403. package/libm/formatter/index.js +0 -4
  404. package/libm/formatter/index.js.map +0 -1
  405. package/libm/formatter/plainLogFormatter.d.ts +0 -3
  406. package/libm/formatter/plainLogFormatter.d.ts.map +0 -1
  407. package/libm/formatter/plainLogFormatter.js +0 -5
  408. package/libm/formatter/plainLogFormatter.js.map +0 -1
  409. package/libm/getDefaultReporter.browser.d.ts +0 -2
  410. package/libm/getDefaultReporter.browser.d.ts.map +0 -1
  411. package/libm/getDefaultReporter.browser.js +0 -11
  412. package/libm/getDefaultReporter.browser.js.map +0 -1
  413. package/libm/getDefaultReporter.d.ts +0 -2
  414. package/libm/getDefaultReporter.d.ts.map +0 -1
  415. package/libm/getDefaultReporter.js +0 -15
  416. package/libm/getDefaultReporter.js.map +0 -1
  417. package/libm/getLogModeFromEnvironment.browser.d.ts +0 -3
  418. package/libm/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  419. package/libm/getLogModeFromEnvironment.browser.js +0 -5
  420. package/libm/getLogModeFromEnvironment.browser.js.map +0 -1
  421. package/libm/getLogModeFromEnvironment.d.ts +0 -3
  422. package/libm/getLogModeFromEnvironment.d.ts.map +0 -1
  423. package/libm/getLogModeFromEnvironment.js +0 -13
  424. package/libm/getLogModeFromEnvironment.js.map +0 -1
  425. package/libm/getLogger.d.ts +0 -9
  426. package/libm/getLogger.d.ts.map +0 -1
  427. package/libm/getLogger.js +0 -78
  428. package/libm/getLogger.js.map +0 -1
  429. package/libm/getLoggers.d.ts +0 -7
  430. package/libm/getLoggers.d.ts.map +0 -1
  431. package/libm/getLoggers.js +0 -11
  432. package/libm/getLoggers.js.map +0 -1
  433. package/libm/index.d.ts +0 -17
  434. package/libm/index.d.ts.map +0 -1
  435. package/libm/index.js +0 -17
  436. package/libm/index.js.map +0 -1
  437. package/libm/logLevel.d.ts +0 -106
  438. package/libm/logLevel.d.ts.map +0 -1
  439. package/libm/logLevel.js.map +0 -1
  440. package/libm/logLevelFn.d.ts +0 -20
  441. package/libm/logLevelFn.d.ts.map +0 -1
  442. package/libm/logLevelFn.js +0 -67
  443. package/libm/logLevelFn.js.map +0 -1
  444. package/libm/logReporter.d.ts +0 -7
  445. package/libm/logReporter.d.ts.map +0 -1
  446. package/libm/logReporter.js +0 -21
  447. package/libm/logReporter.js.map +0 -1
  448. package/libm/logReporterInternal.d.ts +0 -3
  449. package/libm/logReporterInternal.d.ts.map +0 -1
  450. package/libm/logReporterInternal.js +0 -19
  451. package/libm/logReporterInternal.js.map +0 -1
  452. package/libm/memory/MemoryLogReporter.d.ts.map +0 -1
  453. package/libm/memory/MemoryLogReporter.js +0 -51
  454. package/libm/memory/MemoryLogReporter.js.map +0 -1
  455. package/libm/memory/index.d.ts +0 -3
  456. package/libm/memory/index.d.ts.map +0 -1
  457. package/libm/memory/index.js +0 -3
  458. package/libm/memory/index.js.map +0 -1
  459. package/libm/memory/logEntriesToString.d.ts +0 -3
  460. package/libm/memory/logEntriesToString.d.ts.map +0 -1
  461. package/libm/memory/logEntriesToString.js +0 -6
  462. package/libm/memory/logEntriesToString.js.map +0 -1
  463. package/libm/memory/toInspectStringForObject.d.ts +0 -3
  464. package/libm/memory/toInspectStringForObject.d.ts.map +0 -1
  465. package/libm/memory/toInspectStringForObject.js +0 -11
  466. package/libm/memory/toInspectStringForObject.js.map +0 -1
  467. package/libm/shouldLog.d.ts +0 -8
  468. package/libm/shouldLog.d.ts.map +0 -1
  469. package/libm/shouldLog.js +0 -10
  470. package/libm/shouldLog.js.map +0 -1
  471. package/libm/store.d.ts +0 -3
  472. package/libm/store.d.ts.map +0 -1
  473. package/libm/store.js +0 -24
  474. package/libm/store.js.map +0 -1
  475. package/libm/suppressLogs.d.ts +0 -6
  476. package/libm/suppressLogs.d.ts.map +0 -1
  477. package/libm/suppressLogs.js +0 -9
  478. package/libm/suppressLogs.js.map +0 -1
  479. package/libm/testUtil.d.ts +0 -7
  480. package/libm/testUtil.d.ts.map +0 -1
  481. package/libm/testUtil.js +0 -17
  482. package/libm/testUtil.js.map +0 -1
  483. package/libm/types.d.ts.map +0 -1
  484. package/libm/types.js +0 -2
  485. package/libm/types.js.map +0 -1
  486. package/libm/typesInternal.d.ts +0 -20
  487. package/libm/typesInternal.d.ts.map +0 -1
  488. package/libm/typesInternal.js +0 -2
  489. package/libm/typesInternal.js.map +0 -1
  490. package/libm/utils.d.ts +0 -5
  491. package/libm/utils.d.ts.map +0 -1
  492. package/libm/utils.js +0 -10
  493. package/libm/utils.js.map +0 -1
  494. package/libm/writeToReporters.d.ts +0 -6
  495. package/libm/writeToReporters.d.ts.map +0 -1
  496. package/libm/writeToReporters.js +0 -18
  497. package/libm/writeToReporters.js.map +0 -1
  498. package/src/LogEntry.ts +0 -7
  499. package/src/captureLogs.spec.ts +0 -52
  500. package/src/captureLogs.ts +0 -35
  501. package/src/config.spec.ts +0 -80
  502. package/src/config.ts +0 -57
  503. package/src/configForTest.spec.ts +0 -16
  504. package/src/configForTest.ts +0 -16
  505. package/src/console/createConsoleLogReporter.spec.ts +0 -198
  506. package/src/console/createConsoleLogReporter.ts +0 -42
  507. package/src/console/index.ts +0 -3
  508. package/src/console/isConsoleDebugAvailable.ts +0 -11
  509. package/src/console/polyfilledConsole.ts +0 -34
  510. package/src/console/semverGt.spec.ts +0 -25
  511. package/src/console/semverGt.ts +0 -9
  512. package/src/console/toConsoleMethod.ts +0 -18
  513. package/src/console/types.ts +0 -3
  514. package/src/customLogLevel.spec.ts +0 -39
  515. package/src/customLogLevel.ts +0 -35
  516. package/src/errors.ts +0 -24
  517. package/src/formatter/createTimestampFormatter.spec.ts +0 -24
  518. package/src/formatter/formatLogLevel.ts +0 -6
  519. package/src/formatter/index.ts +0 -3
  520. package/src/formatter/plainLogFormatter.spec.ts +0 -8
  521. package/src/formatter/plainLogFormatter.ts +0 -6
  522. package/src/getDefaultReporter.browser.ts +0 -13
  523. package/src/getDefaultReporter.ts +0 -15
  524. package/src/getLogModeFromEnvironment.browser.ts +0 -6
  525. package/src/getLogModeFromEnvironment.spec.ts +0 -16
  526. package/src/getLogModeFromEnvironment.ts +0 -16
  527. package/src/getLogger.spec.ts +0 -460
  528. package/src/getLogger.ts +0 -92
  529. package/src/getLoggers.ts +0 -12
  530. package/src/index.ts +0 -16
  531. package/src/logLevel.spec.ts +0 -161
  532. package/src/logLevelFn.ts +0 -72
  533. package/src/logReporter.spec.ts +0 -99
  534. package/src/logReporter.ts +0 -26
  535. package/src/logReporterInternal.ts +0 -18
  536. package/src/memory/MemoryLogReporter.spec.ts +0 -114
  537. package/src/memory/MemoryLogReporter.ts +0 -66
  538. package/src/memory/index.ts +0 -2
  539. package/src/memory/logEntriesToString.spec.ts +0 -47
  540. package/src/memory/logEntriesToString.ts +0 -7
  541. package/src/memory/toInspectStringForObject.ts +0 -13
  542. package/src/shouldLog.ts +0 -11
  543. package/src/store.ts +0 -25
  544. package/src/suppressLogs.spec.ts +0 -34
  545. package/src/suppressLogs.ts +0 -14
  546. package/src/testUtil.ts +0 -19
  547. package/src/types.spec.ts +0 -7
  548. package/src/typesInternal.ts +0 -21
  549. package/src/utils.ts +0 -9
  550. package/src/writeToReporters.spec.ts +0 -9
  551. package/src/writeToReporters.ts +0 -20
package/ts/logger.ts ADDED
@@ -0,0 +1,85 @@
1
+ import type { StackTraceMeta } from '@just-func/types'
2
+ import { RequiredPick } from 'type-plus'
3
+ import { InvalidId } from './errors.js'
4
+ import { logLevels } from './logLevels.js'
5
+ import { LogStore } from './logStore.js'
6
+ import type { LogEntry, LogFunction, Logger, LoggerOptions, LogMethodNames, LogReporter } from './types.js'
7
+ import { LogLevel } from './types.js'
8
+
9
+ export function createLogger<T extends string = LogMethodNames>(
10
+ [store, id, { level, writeTo = () => true }]: [LogStore, string, RequiredPick<LoggerOptions, 'level'>],
11
+ meta?: StackTraceMeta
12
+ ): Logger {
13
+ validateId(id, meta)
14
+ const [filter, reporters]: [(reporterId: string) => boolean, LogReporter[]] = typeof writeTo === 'string'
15
+ ? [id => id === writeTo, store.reporters]
16
+ : writeTo instanceof RegExp
17
+ ? [id => writeTo.test(id), store.reporters]
18
+ : typeof writeTo === 'function'
19
+ ? [writeTo, store.reporters]
20
+ : [() => true, [writeTo]]
21
+
22
+ function write(entry: LogEntry) {
23
+ writeToReporters(reporters, entry, filter)
24
+ }
25
+
26
+ const logger = {
27
+ level,
28
+ write
29
+ } as any
30
+
31
+ Object.defineProperties(logger, {
32
+ id: { value: id, writable: false },
33
+ count: {
34
+ writable: false,
35
+ value: ((counter) => (...args: any[]) => {
36
+ const level = logLevels.debug
37
+ if (shouldLog(store, level, logger.level))
38
+ write({
39
+ id,
40
+ level,
41
+ args: [++counter, ...args],
42
+ timestamp: new Date()
43
+ })
44
+ })(0)
45
+ },
46
+ on: {
47
+ writable: false,
48
+ value: (level: number | T, logFn: LogFunction) => {
49
+ const logLevel = typeof level === 'string' ? store.logLevelStore.getLevel(level)! : level
50
+ if (shouldLog(store, logLevel, logger.level)) {
51
+ const methodName = store.logLevelStore.getName(logLevel)
52
+ const bindedMethod = logger[methodName].bind(logger)
53
+ const result = logFn(bindedMethod)
54
+ if (result) bindedMethod(result)
55
+ }
56
+ }
57
+ }
58
+ })
59
+ store.logLevelStore.getAllLevels().forEach(function addMethod({ name, level }) {
60
+ Object.defineProperty(logger, name, {
61
+ writable: false,
62
+ value: (...args: any[]) => {
63
+ if (shouldLog(store, level, logger.level)) write({ id, level, args, timestamp: new Date() })
64
+ }
65
+ })
66
+ })
67
+ return logger
68
+ }
69
+
70
+ function validateId(id: string, meta?: StackTraceMeta) {
71
+ if (/[`~!#$%^&*()=+[\]{},|<>?]/.test(id)) throw new InvalidId(id, meta)
72
+ }
73
+
74
+ function writeToReporters(reporters: LogReporter[], logEntry: LogEntry, filter: (reporterId: string) => boolean) {
75
+ reporters.filter(r => filter(r.id)).forEach(r => r.write(logEntry!))
76
+ }
77
+
78
+ /**
79
+ * Determines should you log.
80
+ * @param loggerLevel Log level of the logger.
81
+ * It can be undefined which the global log level will be used.
82
+ */
83
+ function shouldLog(store: LogStore, targetLevel: LogLevel, loggerLevel: LogLevel | undefined) {
84
+ return targetLevel <= (loggerLevel !== undefined ? loggerLevel : store.logLevel)
85
+ }
package/ts/memory.ts ADDED
@@ -0,0 +1,47 @@
1
+ import { required } from 'type-plus'
2
+ import { toInspectLogEntry } from './platform.js'
3
+ import { formatLogLevel } from './formatter.js'
4
+ import type { LogEntry, LogFormatter, LogReporter, LogReporterOptions } from './types.js'
5
+
6
+ export type MemoryLogReporter = LogReporter<LogEntry> & {
7
+ logs: LogEntry[],
8
+ /**
9
+ * Gets a simple log message for testing.
10
+ * The message only contains arguments for each log entry.
11
+ */
12
+ getLogMessage(): string,
13
+ getLogMessageWithLevel(): string
14
+ }
15
+
16
+ export type MemoryLogFormatter = LogFormatter<LogEntry>
17
+
18
+ export function toMessageWithLevel(logs: LogEntry[]) {
19
+ return logs.map(toInspectLogEntry)
20
+ .map(log => `${formatLogLevel(log.level)} ${log.args.join(' ')}`)
21
+ .join('\n')
22
+ // if it has more than this log,
23
+ // we assume it is running under tests,
24
+ // and remove this log to simplify testing.
25
+ .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, '')
26
+ }
27
+
28
+ export function createMemoryLogReporter(options?: LogReporterOptions<LogEntry>): MemoryLogReporter {
29
+ const { id, formatter, filter } = required({ id: 'memory', formatter: (e: LogEntry) => e }, options)
30
+ const logs: LogEntry[] = []
31
+ return Object.freeze({
32
+ id,
33
+ get formatter() { return formatter },
34
+ get filter() { return filter },
35
+ logs,
36
+ write(entry: LogEntry) {
37
+ if (filter && !filter(entry)) return
38
+ logs.push(formatter(entry))
39
+ },
40
+ getLogMessage() {
41
+ return logs.map(toInspectLogEntry)
42
+ .map(log => log.args.join(' '))
43
+ .join('\n')
44
+ },
45
+ getLogMessageWithLevel() { return toMessageWithLevel(logs) }
46
+ })
47
+ }
@@ -0,0 +1,8 @@
1
+ import type { ConsoleLike, LogEntry } from './types.js'
2
+
3
+ export const toInspectLogEntry = (e: LogEntry) => e
4
+ export function isConsoleDebugAvailable() {
5
+ return true
6
+ }
7
+
8
+ export const polyfill: { console?: ConsoleLike } = {}
package/ts/platform.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { inspect } from 'util'
2
+ import type { ConsoleLike, LogEntry } from './types.js'
3
+
4
+ export function semverGt(versionString: string, version: [number, number, number]) {
5
+ const actual = versionString.split('.').reverse().reduce((p, v, i) => {
6
+ p += Number.parseInt(v, 10) * Math.pow(100, i)
7
+ return p
8
+ }, 0)
9
+
10
+ return actual > (version[0] * 10000 + version[1] * 100 + version[2])
11
+ }
12
+
13
+ // istanbul ignore next
14
+ export function isConsoleDebugAvailable() {
15
+ // without this, systemJs will complain `process is not defined`
16
+ if (!global.process) return true
17
+ const versionString = process.version.startsWith('v') ? process.version.slice(1) : process.version
18
+ return semverGt(versionString, [9, 3, 0])
19
+ }
20
+
21
+ export const toInspectLogEntry = (e: LogEntry) => (
22
+ e.args = e.args.map(value => typeof value === 'object' && value !== null ? inspect(value) : value),
23
+ e)
24
+
25
+ export const polyfill: { console?: ConsoleLike } = {}
@@ -0,0 +1,54 @@
1
+ import { StackTraceMeta } from '@just-func/types'
2
+ import { required } from 'type-plus'
3
+ import { createLogger } from './logger.js'
4
+ import { logLevels } from './logLevels.js'
5
+ import { createLogStore } from './logStore.js'
6
+ import { createMemoryLogReporter } from './memory.js'
7
+ import type { Logger, LoggerOptions, LogLevel, LogMethodNames, StandardLogOptions } from './types.js'
8
+
9
+ export interface StandardLog<N extends string = LogMethodNames> {
10
+ readonly logLevel: number,
11
+ toLogLevelName(level: number): string,
12
+ toLogLevel(name: N): number,
13
+ getLogger(params: [id: string, options?: LoggerOptions], meta?: StackTraceMeta): Logger<N>
14
+ }
15
+
16
+ export function createStandardLog<N extends string = LogMethodNames>(
17
+ options?: Partial<StandardLogOptions<N>>, _meta?: StackTraceMeta
18
+ ): Readonly<StandardLog<N>> {
19
+ const store = createLogStore(required({ logLevel: logLevels.info }, options))
20
+
21
+ return Object.freeze({
22
+ get logLevel() { return store.logLevel },
23
+
24
+ toLogLevelName(level: number) {
25
+ return store.logLevelStore.getName(level)
26
+ },
27
+ toLogLevel(name: string) {
28
+ return store.logLevelStore.getLevel(name)
29
+ },
30
+ getLogger([id, options]: [id: string, options?: LoggerOptions], meta?: StackTraceMeta): Logger<N> {
31
+ if (store.loggers[id]) return store.loggers[id] as any
32
+ const opt = required({ level: store.logLevel }, options)
33
+ return store.loggers[id] = createLogger([store, id, opt], { ssf: this.getLogger, ...meta }) as any
34
+ }
35
+ })
36
+ }
37
+
38
+ export function createStandardLogForTest(logLevel: LogLevel = logLevels.debug) {
39
+ const reporter = createMemoryLogReporter()
40
+ const standardLog = createStandardLog({ reporters: [reporter], logLevel })
41
+ return { ...standardLog, reporter }
42
+ }
43
+
44
+ /**
45
+ * Suppress logging within the code block.
46
+ */
47
+ export function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R
48
+ export function suppressLogs<R>(block: () => R, ...logs: Logger[]): R {
49
+ const origLevels = logs.map(l => l.level)
50
+ logs.forEach(l => l.level = logLevels.none)
51
+ const result = block()
52
+ logs.forEach((l, i) => l.level = origLevels[i])
53
+ return result
54
+ }
@@ -1,16 +1,12 @@
1
+ export type StandardLogOptions<CustomLevelNames extends string = string> = {
2
+ customLevels: Record<CustomLevelNames, number>,
3
+ logLevel: number,
4
+ reporters: LogReporter[]
5
+ }
1
6
 
2
- export type LogMode = 'development' | 'production' | 'test'
3
-
4
- export type LogMethodNames = 'emergency' | 'alert' | 'critical' | 'error' | 'warn' | 'notice' | 'info' | 'debug' | 'trace' | 'planck'
5
- export type LogMethod = (...args: any[]) => void
6
- export type LogFunction = ((log: LogMethod) => void) | (() => string)
7
-
8
- export type LogEntry = {
9
- id: string,
10
- level: number,
11
- // args instead of messages because it is `any[]` instead of `string[]`
12
- args: any[],
13
- timestamp: Date
7
+ export interface LoggerOptions {
8
+ level?: number,
9
+ writeTo?: LogReporter | ReporterFilter
14
10
  }
15
11
 
16
12
  export type Logger<T extends string = LogMethodNames> = {
@@ -27,19 +23,33 @@ export type Logger<T extends string = LogMethodNames> = {
27
23
  on(level: number | T, logFunction: LogFunction): void,
28
24
  /**
29
25
  * Write custom log entries.
30
- * This can be used along with `captureLogs()` to rewrite the logs at a later time.
31
26
  */
32
27
  write(entry: LogEntry): void
33
- } & {
34
- [k in T]: LogMethod
35
- }
28
+ } & { [k in T]: LogMethod }
29
+
30
+ /**
31
+ * Names of the standard log methods.
32
+ */
33
+ export type LogMethodNames = 'emergency' | 'alert' | 'critical' | 'error' | 'warn' | 'notice' | 'info' | 'debug' | 'trace' | 'planck'
34
+
35
+ export type LogEntry = {
36
+ id: string,
37
+ level: number,
38
+ // args instead of messages because it is `any[]` instead of `string[]`
39
+ args: any[],
40
+ timestamp: Date
41
+ }
42
+
43
+ export type LogMethod = (...args: any[]) => void
44
+
45
+ export type LogFunction = ((log: LogMethod) => void) | (() => string)
36
46
 
37
47
  export type ReporterFilter = string | RegExp | ((reporterId: string) => boolean)
38
48
 
39
49
  /**
40
50
  * Formats a log entry.
41
51
  * Depends on the reporter, it can expect a different return type.
42
- * By default the return type is `any[]` which `console` accepts.
52
+ * By default the return type is `any[]` which the `console` accepts.
43
53
  */
44
54
  export type LogFormatter<T = any[]> = (entry: LogEntry) => T
45
55
 
@@ -50,30 +60,22 @@ export type LogFilter = (entry: LogEntry) => boolean
50
60
 
51
61
  export type LogLevelEntry = { name: string, level: number }
52
62
 
53
- export type LogLevelListener = (logLevelEntry: LogLevelEntry) => void
54
-
55
- export type LogReporter<T = any> = {
56
- id: string,
63
+ export interface LogReporter<T = any> {
64
+ readonly id: string,
57
65
  /**
58
66
  * Specifies the formatter to be used by the reporter.
59
67
  * Using this you can customize how the reporter writes the log entry.
60
- * This is readonly in production mode.
61
68
  */
62
- formatter: LogFormatter<T>,
69
+ readonly formatter: LogFormatter<T>,
63
70
  /**
64
71
  * Specifies a filter to determine should the log be written.
65
- * This is readonly in production mode.
66
72
  */
67
- filter?: LogFilter,
73
+ readonly filter?: LogFilter,
68
74
  /**
69
75
  * Indicate if this is a console reporter.
70
76
  * There is only one console reporter can be present in the system.
71
- * If a new console reporter is added,
72
- * it will be used in place of the existing one.
73
- * However, existing filter will be carried over to ensure logs should not be shown remain not shown.
74
- * If the new reporter also contains a filter, they will be combined.
75
77
  */
76
- isConsoleReporter?: boolean,
78
+ readonly isConsoleReporter?: boolean,
77
79
  write(entry: LogEntry): void
78
80
  }
79
81
 
@@ -91,3 +93,10 @@ export type LogReporterOptions<T = any> = {
91
93
  }
92
94
 
93
95
  export type LogLevel = number
96
+
97
+ export interface ConsoleLike {
98
+ debug(...args: any[]): void,
99
+ info(...args: any[]): void,
100
+ warn(...args: any[]): void,
101
+ error(...args: any[]): void,
102
+ }