standard-log 7.0.1 → 7.1.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.
Binary file
package/lib/config.js CHANGED
@@ -14,7 +14,7 @@ exports.config = function config(options) {
14
14
  if (store_1.store.value.mode === 'production') {
15
15
  throw new errors_1.ProhibitedDuringProduction('config');
16
16
  }
17
- if (store_1.store.value.mode === 'test') {
17
+ if (store_1.store.value.mode === 'test' && options.mode !== 'test') {
18
18
  var log = (0, getLogger_1.getLogger)('standard-log');
19
19
  log.warn("already configured for test, ignoring config() call");
20
20
  return;
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;AAAA,uCAAsC;AACtC,mDAAoD;AACpD,mCAAqD;AACrD,2DAAyD;AACzD,yCAAuC;AACvC,iCAA+B;AAUlB,QAAA,MAAM,GAA6E,SAAS,MAAM,CAAC,OAAoC;IAApC,wBAAA,EAAA,YAAoC;IAClJ,IAAI,aAAK,CAAC,KAAK,CAAC,UAAU,EAAE;QAC1B,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YACrC,MAAM,IAAI,mCAA0B,CAAC,QAAQ,CAAC,CAAA;SAC/C;QACD,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAC/B,IAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAA;YACrC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YAC/D,OAAM;SACP;KACF;IAED,IAAI,OAAO,CAAC,IAAI;QAAE,aAAK,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,aAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAK,CAAC,KAAK,CAAC,QAAQ,CAAA;IAE/F,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,IAAM,cAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACzC,IAAA,sBAAU,EAAC,cAAY,EAAE,UAAA,CAAC;YACxB,IAAA,kCAAiB,EAAC,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;KACH;IAED,aAAK,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,IAAA,uCAAkB,GAAE,CAAC,CAAA;IACnE,aAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IAE7B,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;QACrC,aAAK,CAAC,MAAM,iDAAM,aAAK,CAAC,KAAK,KAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAG,CAAA;KAClF;SACI,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;KACjG;AACH,CAAQ,CAAA;AAER,MAAM,CAAC,cAAc,CAAC,cAAM,EAAE,UAAU,EAAE;IACxC;;OAEG;IACH,GAAG;QACD,OAAO,aAAK,CAAC,KAAK,CAAC,UAAU,CAAA;IAC/B,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;AAAA,uCAAsC;AACtC,mDAAoD;AACpD,mCAAqD;AACrD,2DAAyD;AACzD,yCAAuC;AACvC,iCAA+B;AAUlB,QAAA,MAAM,GAA6E,SAAS,MAAM,CAAC,OAAoC;IAApC,wBAAA,EAAA,YAAoC;IAClJ,IAAI,aAAK,CAAC,KAAK,CAAC,UAAU,EAAE;QAC1B,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YACrC,MAAM,IAAI,mCAA0B,CAAC,QAAQ,CAAC,CAAA;SAC/C;QACD,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1D,IAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAA;YACrC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YAC/D,OAAM;SACP;KACF;IAED,IAAI,OAAO,CAAC,IAAI;QAAE,aAAK,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,aAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAK,CAAC,KAAK,CAAC,QAAQ,CAAA;IAE/F,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,IAAM,cAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACzC,IAAA,sBAAU,EAAC,cAAY,EAAE,UAAA,CAAC;YACxB,IAAA,kCAAiB,EAAC,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;KACH;IAED,aAAK,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,IAAA,uCAAkB,GAAE,CAAC,CAAA;IACnE,aAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IAE7B,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;QACrC,aAAK,CAAC,MAAM,iDAAM,aAAK,CAAC,KAAK,KAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAG,CAAA;KAClF;SACI,IAAI,aAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;KACjG;AACH,CAAQ,CAAA;AAER,MAAM,CAAC,cAAc,CAAC,cAAM,EAAE,UAAU,EAAE;IACxC;;OAEG;IACH,GAAG;QACD,OAAO,aAAK,CAAC,KAAK,CAAC,UAAU,CAAA;IAC/B,CAAC;CACF,CAAC,CAAA"}
package/lib/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './logLevelFn';
11
11
  export * from './logReporter';
12
12
  export * from './memory';
13
13
  export * from './shouldLog';
14
+ export * from './suppressLogs';
14
15
  export * from './types';
15
16
  export * from './utils';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/lib/index.js CHANGED
@@ -14,6 +14,7 @@ var tslib_1 = require("tslib");
14
14
  (0, tslib_1.__exportStar)(require("./logReporter"), exports);
15
15
  (0, tslib_1.__exportStar)(require("./memory"), exports);
16
16
  (0, tslib_1.__exportStar)(require("./shouldLog"), exports);
17
+ (0, tslib_1.__exportStar)(require("./suppressLogs"), exports);
17
18
  (0, tslib_1.__exportStar)(require("./types"), exports);
18
19
  (0, tslib_1.__exportStar)(require("./utils"), exports);
19
20
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA6B;AAC7B,wDAAwB;AACxB,+DAA+B;AAC/B,yDAAyB;AACzB,gEAAgC;AAChC,wDAAwB;AACxB,2DAA2B;AAC3B,2DAA2B;AAC3B,0DAA0B;AAC1B,4DAA4B;AAC5B,6DAA6B;AAC7B,wDAAwB;AACxB,2DAA2B;AAC3B,uDAAuB;AACvB,uDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA6B;AAC7B,wDAAwB;AACxB,+DAA+B;AAC/B,yDAAyB;AACzB,gEAAgC;AAChC,wDAAwB;AACxB,2DAA2B;AAC3B,2DAA2B;AAC3B,0DAA0B;AAC1B,4DAA4B;AAC5B,6DAA6B;AAC7B,wDAAwB;AACxB,2DAA2B;AAC3B,8DAA8B;AAC9B,uDAAuB;AACvB,uDAAuB"}
@@ -19,7 +19,7 @@ function toMessageWithLevel(logs) {
19
19
  // if it has more than this log,
20
20
  // we assume it is running under tests,
21
21
  // and remove this log to simplify testing.
22
- .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\\n.+/, '');
22
+ .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, '');
23
23
  }
24
24
  exports.toMessageWithLevel = toMessageWithLevel;
25
25
  function createMemoryLogReporter(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryLogReporter.js","sourceRoot":"","sources":["../../src/memory/MemoryLogReporter.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,0CAA6C;AAE7C,kCAAuD;AACvD,uEAA8D;AAc9D,SAAS,mBAAmB;IAC1B,OAAO,SAAS,aAAa;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAAiB,CAAC;aACpC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAgB;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,4CAAiB,CAAC;SAC/B,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,UAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,KAAK,CAAC,cAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,EAApD,CAAoD,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC;QACX,gCAAgC;QAChC,uCAAuC;QACvC,2CAA2C;SAC1C,OAAO,CAAC,sEAAsE,EAAE,EAAE,CAAC,CAAA;AACxF,CAAC;AARD,gDAQC;AAGD,SAAgB,uBAAuB,CAAC,OAAsC;IAC5E,IAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAC,CAAW,IAAK,OAAA,CAAC,EAAD,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtE,IAAA,EAAE,GAAK,GAAG,GAAR,CAAQ;IACZ,IAAA,SAAS,GAAa,GAAG,UAAhB,EAAE,MAAM,GAAK,GAAG,OAAR,CAAQ;IAC/B,OAAO;QACL,EAAE,IAAA;QACF,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,SAAS,CAAC,KAAyB;YACrC,IAAA,oCAA4B,EAAC,wBAAwB,CAAC,CAAA;YACtD,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,MAAM,CAAC,KAAgB;YACzB,IAAA,oCAA4B,EAAC,qBAAqB,CAAC,CAAA;YACnD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,EAAE,EAAE;QACR,KAAK,YAAC,KAAK;YACT,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAM;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,aAAa,EAAE,mBAAmB,EAAE;QACpC,sBAAsB,gBAAK,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;KAClE,CAAA;AACH,CAAC;AA5BD,0DA4BC"}
1
+ {"version":3,"file":"MemoryLogReporter.js","sourceRoot":"","sources":["../../src/memory/MemoryLogReporter.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,0CAA6C;AAE7C,kCAAuD;AACvD,uEAA8D;AAc9D,SAAS,mBAAmB;IAC1B,OAAO,SAAS,aAAa;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAAiB,CAAC;aACpC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAgB;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,4CAAiB,CAAC;SAC/B,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,UAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,KAAK,CAAC,cAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,EAApD,CAAoD,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC;QACX,gCAAgC;QAChC,uCAAuC;QACvC,2CAA2C;SAC1C,OAAO,CAAC,mEAAmE,EAAE,EAAE,CAAC,CAAA;AACrF,CAAC;AARD,gDAQC;AAGD,SAAgB,uBAAuB,CAAC,OAAsC;IAC5E,IAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAC,CAAW,IAAK,OAAA,CAAC,EAAD,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtE,IAAA,EAAE,GAAK,GAAG,GAAR,CAAQ;IACZ,IAAA,SAAS,GAAa,GAAG,UAAhB,EAAE,MAAM,GAAK,GAAG,OAAR,CAAQ;IAC/B,OAAO;QACL,EAAE,IAAA;QACF,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,SAAS,CAAC,KAAyB;YACrC,IAAA,oCAA4B,EAAC,wBAAwB,CAAC,CAAA;YACtD,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,MAAM,CAAC,KAAgB;YACzB,IAAA,oCAA4B,EAAC,qBAAqB,CAAC,CAAA;YACnD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,EAAE,EAAE;QACR,KAAK,YAAC,KAAK;YACT,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAM;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,aAAa,EAAE,mBAAmB,EAAE;QACpC,sBAAsB,gBAAK,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;KAClE,CAAA;AACH,CAAC;AA5BD,0DA4BC"}
@@ -0,0 +1,6 @@
1
+ import { Logger } from './types';
2
+ /**
3
+ * Suppress logging within the code block.
4
+ */
5
+ export declare function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R;
6
+ //# sourceMappingURL=suppressLogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressLogs.d.ts","sourceRoot":"","sources":["../src/suppressLogs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.suppressLogs = void 0;
4
+ var logLevel_1 = require("./logLevel");
5
+ function suppressLogs(block) {
6
+ var logs = [];
7
+ for (var _i = 1; _i < arguments.length; _i++) {
8
+ logs[_i - 1] = arguments[_i];
9
+ }
10
+ var origLevels = logs.map(function (l) { return l.level; });
11
+ logs.forEach(function (l) { return l.level = logLevel_1.logLevels.none; });
12
+ var result = block();
13
+ logs.forEach(function (l, i) { return l.level = origLevels[i]; });
14
+ return result;
15
+ }
16
+ exports.suppressLogs = suppressLogs;
17
+ //# sourceMappingURL=suppressLogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressLogs.js","sourceRoot":"","sources":["../src/suppressLogs.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAOtC,SAAgB,YAAY,CAAI,KAAc;IAAE,cAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,6BAAiB;;IAC/D,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAG,oBAAS,CAAC,IAAI,EAAxB,CAAwB,CAAC,CAAA;IAC3C,IAAM,MAAM,GAAG,KAAK,EAAE,CAAA;IACtB,IAAI,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACf,CAAC;AAND,oCAMC"}
package/libm/config.js CHANGED
@@ -9,7 +9,7 @@ export const config = function config(options = {}) {
9
9
  if (store.value.mode === 'production') {
10
10
  throw new ProhibitedDuringProduction('config');
11
11
  }
12
- if (store.value.mode === 'test') {
12
+ if (store.value.mode === 'test' && options.mode !== 'test') {
13
13
  const log = getLogger('standard-log');
14
14
  log.warn(`already configured for test, ignoring config() call`);
15
15
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAU/B,MAAM,CAAC,MAAM,MAAM,GAA6E,SAAS,MAAM,CAAC,UAAkC,EAAE;IAClJ,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;QAC1B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YACrC,MAAM,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAA;SAC/C;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;YACrC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YAC/D,OAAM;SACP;KACF;IAED,IAAI,OAAO,CAAC,IAAI;QAAE,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAA;IAE/F,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACzC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;YAC3B,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;KACH;IAED,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACnE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IAE7B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;QACrC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAClF;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;KACjG;AACH,CAAQ,CAAA;AAER,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;IACxC;;OAEG;IACH,GAAG;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAA;IAC/B,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAU/B,MAAM,CAAC,MAAM,MAAM,GAA6E,SAAS,MAAM,CAAC,UAAkC,EAAE;IAClJ,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;QAC1B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YACrC,MAAM,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAA;SAC/C;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;YACrC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YAC/D,OAAM;SACP;KACF;IAED,IAAI,OAAO,CAAC,IAAI;QAAE,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAA;IAE/F,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACzC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;YAC3B,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;KACH;IAED,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACnE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IAE7B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;QACrC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAClF;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;KACjG;AACH,CAAQ,CAAA;AAER,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;IACxC;;OAEG;IACH,GAAG;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAA;IAC/B,CAAC;CACF,CAAC,CAAA"}
package/libm/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './logLevelFn';
11
11
  export * from './logReporter';
12
12
  export * from './memory';
13
13
  export * from './shouldLog';
14
+ export * from './suppressLogs';
14
15
  export * from './types';
15
16
  export * from './utils';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/libm/index.js CHANGED
@@ -11,6 +11,7 @@ export * from './logLevelFn';
11
11
  export * from './logReporter';
12
12
  export * from './memory';
13
13
  export * from './shouldLog';
14
+ export * from './suppressLogs';
14
15
  export * from './types';
15
16
  export * from './utils';
16
17
  //# sourceMappingURL=index.js.map
package/libm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -16,7 +16,7 @@ export function toMessageWithLevel(logs) {
16
16
  // if it has more than this log,
17
17
  // we assume it is running under tests,
18
18
  // and remove this log to simplify testing.
19
- .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\\n.+/, '');
19
+ .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, '');
20
20
  }
21
21
  export function createMemoryLogReporter(options) {
22
22
  const opt = required({ id: 'memory', formatter: (e) => e }, options);
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryLogReporter.js","sourceRoot":"","sources":["../../src/memory/MemoryLogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAc9D,SAAS,mBAAmB;IAC1B,OAAO,SAAS,aAAa;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;aACpC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;SAC/B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC;QACX,gCAAgC;QAChC,uCAAuC;QACvC,2CAA2C;SAC1C,OAAO,CAAC,sEAAsE,EAAE,EAAE,CAAC,CAAA;AACxF,CAAC;AAGD,MAAM,UAAU,uBAAuB,CAAC,OAAsC;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC9E,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAC/B,OAAO;QACL,EAAE;QACF,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,SAAS,CAAC,KAAyB;YACrC,4BAA4B,CAAC,wBAAwB,CAAC,CAAA;YACtD,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,MAAM,CAAC,KAAgB;YACzB,4BAA4B,CAAC,qBAAqB,CAAC,CAAA;YACnD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,EAAE,EAAE;QACR,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAM;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,aAAa,EAAE,mBAAmB,EAAE;QACpC,sBAAsB,KAAK,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;KAClE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MemoryLogReporter.js","sourceRoot":"","sources":["../../src/memory/MemoryLogReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAc9D,SAAS,mBAAmB;IAC1B,OAAO,SAAS,aAAa;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;aACpC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;SAC/B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC;QACX,gCAAgC;QAChC,uCAAuC;QACvC,2CAA2C;SAC1C,OAAO,CAAC,mEAAmE,EAAE,EAAE,CAAC,CAAA;AACrF,CAAC;AAGD,MAAM,UAAU,uBAAuB,CAAC,OAAsC;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC9E,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAC/B,OAAO;QACL,EAAE;QACF,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,SAAS,CAAC,KAAyB;YACrC,4BAA4B,CAAC,wBAAwB,CAAC,CAAA;YACtD,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,MAAM,CAAC,KAAgB;YACzB,4BAA4B,CAAC,qBAAqB,CAAC,CAAA;YACnD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,EAAE,EAAE;QACR,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAM;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,aAAa,EAAE,mBAAmB,EAAE;QACpC,sBAAsB,KAAK,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;KAClE,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Logger } from './types';
2
+ /**
3
+ * Suppress logging within the code block.
4
+ */
5
+ export declare function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R;
6
+ //# sourceMappingURL=suppressLogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressLogs.d.ts","sourceRoot":"","sources":["../src/suppressLogs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { logLevels } from './logLevel';
2
+ export function suppressLogs(block, ...logs) {
3
+ const origLevels = logs.map(l => l.level);
4
+ logs.forEach(l => l.level = logLevels.none);
5
+ const result = block();
6
+ logs.forEach((l, i) => l.level = origLevels[i]);
7
+ return result;
8
+ }
9
+ //# sourceMappingURL=suppressLogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressLogs.js","sourceRoot":"","sources":["../src/suppressLogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAOtC,MAAM,UAAU,YAAY,CAAI,KAAc,EAAE,GAAG,IAAc;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,KAAK,EAAE,CAAA;IACtB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "standard-log",
3
- "version": "7.0.1",
3
+ "version": "7.1.0",
4
4
  "description": "The standard log library",
5
5
  "homepage": "https://github.com/unional/standard-log/tree/master/packages/log",
6
6
  "bugs": {
@@ -56,5 +56,6 @@
56
56
  },
57
57
  "peerDependencies": {
58
58
  "global-store": "1.0.0-beta.19"
59
- }
59
+ },
60
+ "gitHead": "ed6ae73271094e303e57e8651806a6910df4e0d6"
60
61
  }
@@ -29,12 +29,19 @@ test('calling config twice throws ProhibitedDuringProduction in production mode'
29
29
  a.throws(() => config({ mode: 'development' }), ProhibitedDuringProduction)
30
30
  })
31
31
 
32
- test('calling config twice in test mode is allowed, but emit a warning', () => {
32
+ test('allow calling config with non-test mode while already running in test mode, but emit a warning', () => {
33
33
  const { reporter } = configForTest()
34
34
  config({ mode: 'production' })
35
35
  expect(reporter.getLogMessageWithLevel()).toEqual('(WARN) already configured for test, ignoring config() call')
36
36
  })
37
37
 
38
+ test('allow calling config in test mode again while in test mode. Emit no warning', () => {
39
+ const { reporter } = configForTest()
40
+ config({ mode: 'test' })
41
+ expect(reporter.getLogMessageWithLevel()).toEqual('')
42
+ })
43
+
44
+
38
45
  test('add custom levels', () => {
39
46
  config({
40
47
  customLevels: {
package/src/config.ts CHANGED
@@ -18,7 +18,7 @@ export const config: { (options?: Partial<ConfigOptions>): void, readonly isLock
18
18
  if (store.value.mode === 'production') {
19
19
  throw new ProhibitedDuringProduction('config')
20
20
  }
21
- if (store.value.mode === 'test') {
21
+ if (store.value.mode === 'test' && options.mode !== 'test') {
22
22
  const log = getLogger('standard-log')
23
23
  log.warn(`already configured for test, ignoring config() call`)
24
24
  return
package/src/index.ts CHANGED
@@ -11,5 +11,6 @@ export * from './logLevelFn'
11
11
  export * from './logReporter'
12
12
  export * from './memory'
13
13
  export * from './shouldLog'
14
+ export * from './suppressLogs'
14
15
  export * from './types'
15
16
  export * from './utils'
@@ -1,5 +1,7 @@
1
1
  import a from 'assertron'
2
2
  import { config, createMemoryLogReporter, logLevels, ProhibitedDuringProduction } from '..'
3
+ import { configForTest } from '../configForTest'
4
+ import { getLogger } from '../getLogger'
3
5
  import { store } from '../store'
4
6
 
5
7
  describe('production checks', () => {
@@ -16,6 +18,15 @@ describe('production checks', () => {
16
18
  const reporter = createMemoryLogReporter()
17
19
  a.throws(() => { reporter.filter = () => true }, ProhibitedDuringProduction)
18
20
  })
21
+
22
+ describe('getLogMessageWithLevel()', () => {
23
+ test('the production log is omitted', () => {
24
+ const { reporter } = configForTest()
25
+ config({ mode: 'production' })
26
+ getLogger('test').warn('some test warnings')
27
+ expect(reporter.getLogMessageWithLevel()).toEqual(`(WARN) some test warnings`)
28
+ })
29
+ })
19
30
  })
20
31
 
21
32
  describe('unit tests', () => {
@@ -31,7 +31,7 @@ export function toMessageWithLevel(logs: LogEntry[]) {
31
31
  // if it has more than this log,
32
32
  // we assume it is running under tests,
33
33
  // and remove this log to simplify testing.
34
- .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\\n.+/, '')
34
+ .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, '')
35
35
  }
36
36
 
37
37
 
@@ -0,0 +1,34 @@
1
+ import { configForTest } from './configForTest'
2
+ import { getLogger } from './getLogger'
3
+ import { logLevels } from './logLevel'
4
+ import { MemoryLogReporter } from './memory'
5
+ import { suppressLogs } from './suppressLogs'
6
+
7
+ let reporter: MemoryLogReporter
8
+ beforeEach(() => reporter = configForTest(logLevels.all).reporter)
9
+
10
+ test('suppress log', () => {
11
+ const log = getLogger('l')
12
+ suppressLogs(() => {
13
+ log.alert('should not see me')
14
+ }, log)
15
+
16
+ expect(reporter.getLogMessageWithLevel()).toBe('')
17
+ })
18
+
19
+ test('suppress multiple logs', () => {
20
+ const log1 = getLogger('l1')
21
+ const log2 = getLogger('l2')
22
+ suppressLogs(() => {
23
+ log1.alert('should not see me')
24
+ log2.alert('should not see me too')
25
+ }, log1, log2)
26
+ expect(reporter.getLogMessageWithLevel()).toBe('')
27
+ })
28
+
29
+ test('return block result', () => {
30
+ const log1 = getLogger('l')
31
+ const log2 = getLogger('l2')
32
+ const a = suppressLogs(() => 1, log1, log2)
33
+ expect(a).toBe(1)
34
+ })
@@ -0,0 +1,14 @@
1
+ import { logLevels } from './logLevel'
2
+ import { Logger } from './types'
3
+
4
+ /**
5
+ * Suppress logging within the code block.
6
+ */
7
+ export function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R
8
+ export function suppressLogs<R>(block: () => R, ...logs: Logger[]): R {
9
+ const origLevels = logs.map(l => l.level)
10
+ logs.forEach(l => l.level = logLevels.none)
11
+ const result = block()
12
+ logs.forEach((l, i) => l.level = origLevels[i])
13
+ return result
14
+ }