@niceties/draftlog-appender 1.2.4 → 1.2.6

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.
package/dist/index.cjs CHANGED
@@ -1,58 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var kleur = require('kleur');
3
+ var appenderUtils = require('@niceties/logger/appender-utils');
4
+ var globalAppender = require('@niceties/logger/global-appender');
5
+ var formatUtils = require('@niceties/logger/format-utils');
6
+ var defaultFormatting = require('@niceties/logger/default-formatting');
4
7
  var core = require('./core.cjs');
5
8
  var spinners = require('./spinners.cjs');
6
9
  require('draftlog');
7
10
  require('@slimlib/list');
8
11
 
9
- const filterMessages = (predicate, appender, api) => {
10
- return Object.assign(function (logMessage) {
11
- if (predicate(logMessage)) {
12
- appender(logMessage);
13
- }
14
- }, api);
15
- };
16
-
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- let globalAppender;
19
- const appender = (appender) => {
20
- if (appender !== undefined) {
21
- globalAppender = appender;
22
- }
23
- return globalAppender;
24
- };
25
-
26
- const createFormatter = (colors, prefixes, tagFactory) => {
27
- return ({ loglevel, message, context, action, tag }, usePrefix, identation = 0) => {
28
- const prefix = usePrefix === true ? (`${prefixes[loglevel]} `) : (typeof usePrefix === 'string' ? (`${usePrefix} `) : '');
29
- const color = colors[loglevel];
30
- const text = `${prefix}${loglevel === 0 /* verbose */ && action === 3 /* log */ && tag !== undefined ? tagFactory(tag) + ' ' : ''}${message}${context != null ? ' ' + context : ''}`;
31
- return `${' '.repeat(identation)}${color ? color(text) : text}`;
32
- };
33
- };
34
- // from dreidels/utils
35
- const terminalSupportsUnicode = () => {
36
- // The default command prompt and powershell in Windows do not support Unicode characters.
37
- // However, the VSCode integrated terminal and the Windows Terminal both do.
38
- return process.platform !== 'win32'
39
- || process.env.TERM_PROGRAM === 'vscode'
40
- || !!process.env.WT_SESSION;
41
- };
42
-
43
- const { green, red, yellow, blue } = kleur;
44
- const unicodePrefixes = [`${green('✓')}`, `${green('✓')}`, '⚠', '✕'];
45
- const asciiPrefixes = [`${green('+')}`, `${green('+')}`, '!', 'x'];
46
- // eslint-disable-next-line no-sparse-arrays
47
- const colors = [, , yellow, red];
48
- const tagFactory = (tag) => {
49
- return '[' + blue(tag) + ']';
50
- };
51
-
52
- const supportsUnicode = terminalSupportsUnicode();
12
+ const supportsUnicode = formatUtils.terminalSupportsUnicode();
53
13
  const spinner = supportsUnicode ? spinners.dots : spinners.line;
54
- const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
14
+ const formatter = formatUtils.createFormatter(defaultFormatting.colors, supportsUnicode ? defaultFormatting.unicodePrefixes : defaultFormatting.asciiPrefixes, defaultFormatting.tagFactory);
55
15
  let minLogLevel = 1 /* info */;
56
- appender(filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, core.createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
16
+ globalAppender.appender(appenderUtils.filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, core.createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
57
17
  { setMinLevel(logLevel) { minLogLevel = logLevel; } } // eslint-disable-line indent
58
18
  ));
package/dist/index.mjs CHANGED
@@ -1,52 +1,12 @@
1
- import kleur from 'kleur';
1
+ import { filterMessages } from '@niceties/logger/appender-utils';
2
+ import { appender } from '@niceties/logger/global-appender';
3
+ import { terminalSupportsUnicode, createFormatter } from '@niceties/logger/format-utils';
4
+ import { colors, unicodePrefixes, asciiPrefixes, tagFactory } from '@niceties/logger/default-formatting';
2
5
  import { createDraftlogAppender } from './core.mjs';
3
6
  import { dots, line } from './spinners.mjs';
4
7
  import 'draftlog';
5
8
  import '@slimlib/list';
6
9
 
7
- const filterMessages = (predicate, appender, api) => {
8
- return Object.assign(function (logMessage) {
9
- if (predicate(logMessage)) {
10
- appender(logMessage);
11
- }
12
- }, api);
13
- };
14
-
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- let globalAppender;
17
- const appender = (appender) => {
18
- if (appender !== undefined) {
19
- globalAppender = appender;
20
- }
21
- return globalAppender;
22
- };
23
-
24
- const createFormatter = (colors, prefixes, tagFactory) => {
25
- return ({ loglevel, message, context, action, tag }, usePrefix, identation = 0) => {
26
- const prefix = usePrefix === true ? (`${prefixes[loglevel]} `) : (typeof usePrefix === 'string' ? (`${usePrefix} `) : '');
27
- const color = colors[loglevel];
28
- const text = `${prefix}${loglevel === 0 /* verbose */ && action === 3 /* log */ && tag !== undefined ? tagFactory(tag) + ' ' : ''}${message}${context != null ? ' ' + context : ''}`;
29
- return `${' '.repeat(identation)}${color ? color(text) : text}`;
30
- };
31
- };
32
- // from dreidels/utils
33
- const terminalSupportsUnicode = () => {
34
- // The default command prompt and powershell in Windows do not support Unicode characters.
35
- // However, the VSCode integrated terminal and the Windows Terminal both do.
36
- return process.platform !== 'win32'
37
- || process.env.TERM_PROGRAM === 'vscode'
38
- || !!process.env.WT_SESSION;
39
- };
40
-
41
- const { green, red, yellow, blue } = kleur;
42
- const unicodePrefixes = [`${green('✓')}`, `${green('✓')}`, '⚠', '✕'];
43
- const asciiPrefixes = [`${green('+')}`, `${green('+')}`, '!', 'x'];
44
- // eslint-disable-next-line no-sparse-arrays
45
- const colors = [, , yellow, red];
46
- const tagFactory = (tag) => {
47
- return '[' + blue(tag) + ']';
48
- };
49
-
50
10
  const supportsUnicode = terminalSupportsUnicode();
51
11
  const spinner = supportsUnicode ? dots : line;
52
12
  const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.4",
2
+ "version": "1.2.6",
3
3
  "license": "MIT",
4
4
  "name": "@niceties/draftlog-appender",
5
5
  "author": {
@@ -42,6 +42,12 @@
42
42
  "homepage": "https://github.com/kshutkin/niceties/blob/main/draftlog-appender/README.md",
43
43
  "readme": "README.md",
44
44
  "description": "Appender for '@niceites/logger' implemented using draftlog package.",
45
+ "keywords": [
46
+ "@niceties",
47
+ "draftlog-appender",
48
+ "draftlog",
49
+ "appender"
50
+ ],
45
51
  "scripts": {
46
52
  "build": "pkgbld-internal",
47
53
  "test": "node --expose-gc ../node_modules/jest-cli/bin/jest.js --collectCoverage",
@@ -65,10 +71,10 @@
65
71
  "ts-jest": "27.1.3",
66
72
  "typescript": "4.6.x",
67
73
  "update-monorepo-package-json": "0.2.0",
68
- "pkgbld-internal": "1.0.2"
74
+ "pkgbld-internal": "1.0.4"
69
75
  },
70
76
  "peerDependencies": {
71
- "@niceties/logger": "^1.1.5"
77
+ "@niceties/logger": "^1.1.9"
72
78
  },
73
79
  "dependencies": {
74
80
  "draftlog": "^1.0.13",