@naturalcycles/js-lib 14.65.0 → 14.66.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.
package/dist/index.d.ts CHANGED
@@ -54,7 +54,7 @@ import { Class, ConditionalExcept, ConditionalPick, Merge, Promisable, PromiseVa
54
54
  import { AsyncMapper, AsyncPredicate, BaseDBEntity, CreatedUpdated, CreatedUpdatedId, ObjectWithId, AnyObjectWithId, Saved, Unsaved, BatchResult, InstanceId, IsoDate, IsoDateTime, KeyValueTuple, Mapper, ObjectMapper, ObjectPredicate, Predicate, PromiseMap, AnyObject, AnyFunction, Reviver, SavedDBEntity, StringMap, UnixTimestamp, ValueOf, ValuesOf, _noop, _objectKeys, _passNothingPredicate, _passthroughMapper, _passthroughPredicate, _passUndefinedMapper, _stringMapEntries, _stringMapValues } from './types';
55
55
  import { _gb, _hb, _kb, _mb } from './unit/size.util';
56
56
  import { is } from './vendor/is';
57
- import { CommonLogLevel, CommonLogFunction, CommonLogger, SimpleLogger, createSimpleLogger, noopLogger } from './log/commonLogger';
57
+ import { CommonLogLevel, CommonLogFunction, CommonLogger, commonLoggerMinLevel, noopLogger, commonLogLevelNumber } from './log/commonLogger';
58
58
  import { _safeJsonStringify } from './string/safeJsonStringify';
59
- export type { MemoCache, PromiseDecoratorCfg, PromiseDecoratorResp, ErrorData, ErrorObject, HttpErrorData, HttpErrorResponse, Admin401ErrorData, Admin403ErrorData, StringMap, PromiseMap, AnyObject, AnyFunction, ValuesOf, ValueOf, KeyValueTuple, ObjectMapper, ObjectPredicate, InstanceId, IsoDate, IsoDateTime, Reviver, PMapOptions, Mapper, AsyncMapper, Predicate, AsyncPredicate, BatchResult, DeferredPromise, PRetryOptions, PTimeoutOptions, TryCatchOptions, StringifyAnyOptions, JsonStringifyFunction, Merge, ReadonlyDeep, Promisable, PromiseValue, Simplify, ConditionalPick, ConditionalExcept, Class, UnixTimestamp, BaseDBEntity, SavedDBEntity, Saved, Unsaved, CreatedUpdated, CreatedUpdatedId, ObjectWithId, AnyObjectWithId, JsonSchema, JsonSchemaAny, JsonSchemaOneOf, JsonSchemaAllOf, JsonSchemaAnyOf, JsonSchemaNot, JsonSchemaRef, JsonSchemaConst, JsonSchemaEnum, JsonSchemaString, JsonSchemaNumber, JsonSchemaBoolean, JsonSchemaNull, JsonSchemaRootObject, JsonSchemaObject, JsonSchemaArray, JsonSchemaTuple, JsonSchemaBuilder, CommonLogLevel, CommonLogFunction, CommonLogger, SimpleLogger, };
60
- export { is, _Memo, _memoFn, _LogMethod, _getArgsSignature, _createPromiseDecorator, AppError, HttpError, AssertionError, _isErrorObject, _isHttpErrorObject, _isHttpErrorResponse, _assert, _assertEquals, _assertDeepEquals, _assertIsError, _assertIsString, _assertIsNumber, _assertTypeOf, _randomInt, _randomArrayItem, _createDeterministicRandom, _inRange, _stringMapValues, _stringMapEntries, _objectKeys, _capitalize, _upperFirst, _lowerFirst, _split, _removeWhitespace, _substringBefore, _substringBeforeLast, _substringAfter, _substringAfterLast, _substringBetweenLast, _replaceAll, _nl2br, _truncate, _truncateMiddle, _pick, _omit, _filterFalsyValues, _filterUndefinedValues, _filterNullishValues, _filterEmptyArrays, _filterEmptyValues, _filterObject, _undefinedIfEmpty, _isObject, _isPrimitive, _mapKeys, _mapValues, _mapObject, _objectNullValuesToUndefined, _deepEquals, _deepCopy, _isEmptyObject, _isEmpty, _merge, _deepTrim, _sortObjectDeep, _sortObject, _get, _set, _has, _unset, _mask, _invert, _invertMap, _by, _groupBy, _sortBy, _sortNumbers, _toFixed, _toPrecision, _round, _findLast, _takeWhile, _takeRightWhile, _dropWhile, _dropRightWhile, _countBy, _intersection, _difference, _shuffle, _mapToObject, _findKeyByValue, _anyToError, _anyToErrorObject, _errorToErrorObject, _errorObjectToAppError, _range, _uniq, _uniqBy, _flatten, _flattenDeep, _chunk, SimpleMovingAverage, _average, _averageWeighted, _percentile, _median, _debounce, _throttle, _Debounce, _Throttle, pMap, _passthroughMapper, _passUndefinedMapper, _passthroughPredicate, _passNothingPredicate, _noop, pBatch, ErrorMode, pFilter, pProps, pDelay, pDefer, pHang, pState, AggregatedError, pRetry, pTimeout, pTuple, _Retry, _Timeout, _tryCatch, _TryCatch, _try, pTry, _jsonParseIfPossible, _stringifyAny, _ms, _since, _hb, _gb, _mb, _kb, _snakeCase, _camelCase, _kebabCase, _sum, _sumBy, _clamp, _last, mergeJsonSchemaObjects, jsonSchema, JsonSchemaAnyBuilder, JSON_SCHEMA_ORDER, generateJsonSchemaFromData, _parseQueryString, _defineLazyProperty, _defineLazyProps, _lazyValue, createSimpleLogger, noopLogger, _safeJsonStringify, };
59
+ export type { MemoCache, PromiseDecoratorCfg, PromiseDecoratorResp, ErrorData, ErrorObject, HttpErrorData, HttpErrorResponse, Admin401ErrorData, Admin403ErrorData, StringMap, PromiseMap, AnyObject, AnyFunction, ValuesOf, ValueOf, KeyValueTuple, ObjectMapper, ObjectPredicate, InstanceId, IsoDate, IsoDateTime, Reviver, PMapOptions, Mapper, AsyncMapper, Predicate, AsyncPredicate, BatchResult, DeferredPromise, PRetryOptions, PTimeoutOptions, TryCatchOptions, StringifyAnyOptions, JsonStringifyFunction, Merge, ReadonlyDeep, Promisable, PromiseValue, Simplify, ConditionalPick, ConditionalExcept, Class, UnixTimestamp, BaseDBEntity, SavedDBEntity, Saved, Unsaved, CreatedUpdated, CreatedUpdatedId, ObjectWithId, AnyObjectWithId, JsonSchema, JsonSchemaAny, JsonSchemaOneOf, JsonSchemaAllOf, JsonSchemaAnyOf, JsonSchemaNot, JsonSchemaRef, JsonSchemaConst, JsonSchemaEnum, JsonSchemaString, JsonSchemaNumber, JsonSchemaBoolean, JsonSchemaNull, JsonSchemaRootObject, JsonSchemaObject, JsonSchemaArray, JsonSchemaTuple, JsonSchemaBuilder, CommonLogLevel, CommonLogFunction, CommonLogger, };
60
+ export { is, _Memo, _memoFn, _LogMethod, _getArgsSignature, _createPromiseDecorator, AppError, HttpError, AssertionError, _isErrorObject, _isHttpErrorObject, _isHttpErrorResponse, _assert, _assertEquals, _assertDeepEquals, _assertIsError, _assertIsString, _assertIsNumber, _assertTypeOf, _randomInt, _randomArrayItem, _createDeterministicRandom, _inRange, _stringMapValues, _stringMapEntries, _objectKeys, _capitalize, _upperFirst, _lowerFirst, _split, _removeWhitespace, _substringBefore, _substringBeforeLast, _substringAfter, _substringAfterLast, _substringBetweenLast, _replaceAll, _nl2br, _truncate, _truncateMiddle, _pick, _omit, _filterFalsyValues, _filterUndefinedValues, _filterNullishValues, _filterEmptyArrays, _filterEmptyValues, _filterObject, _undefinedIfEmpty, _isObject, _isPrimitive, _mapKeys, _mapValues, _mapObject, _objectNullValuesToUndefined, _deepEquals, _deepCopy, _isEmptyObject, _isEmpty, _merge, _deepTrim, _sortObjectDeep, _sortObject, _get, _set, _has, _unset, _mask, _invert, _invertMap, _by, _groupBy, _sortBy, _sortNumbers, _toFixed, _toPrecision, _round, _findLast, _takeWhile, _takeRightWhile, _dropWhile, _dropRightWhile, _countBy, _intersection, _difference, _shuffle, _mapToObject, _findKeyByValue, _anyToError, _anyToErrorObject, _errorToErrorObject, _errorObjectToAppError, _range, _uniq, _uniqBy, _flatten, _flattenDeep, _chunk, SimpleMovingAverage, _average, _averageWeighted, _percentile, _median, _debounce, _throttle, _Debounce, _Throttle, pMap, _passthroughMapper, _passUndefinedMapper, _passthroughPredicate, _passNothingPredicate, _noop, pBatch, ErrorMode, pFilter, pProps, pDelay, pDefer, pHang, pState, AggregatedError, pRetry, pTimeout, pTuple, _Retry, _Timeout, _tryCatch, _TryCatch, _try, pTry, _jsonParseIfPossible, _stringifyAny, _ms, _since, _hb, _gb, _mb, _kb, _snakeCase, _camelCase, _kebabCase, _sum, _sumBy, _clamp, _last, mergeJsonSchemaObjects, jsonSchema, JsonSchemaAnyBuilder, JSON_SCHEMA_ORDER, generateJsonSchemaFromData, _parseQueryString, _defineLazyProperty, _defineLazyProps, _lazyValue, commonLoggerMinLevel, noopLogger, commonLogLevelNumber, _safeJsonStringify, };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._isObject = exports._undefinedIfEmpty = exports._filterObject = exports._filterEmptyValues = exports._filterEmptyArrays = exports._filterNullishValues = exports._filterUndefinedValues = exports._filterFalsyValues = exports._omit = exports._pick = exports._truncateMiddle = exports._truncate = exports._nl2br = exports._replaceAll = exports._substringBetweenLast = exports._substringAfterLast = exports._substringAfter = exports._substringBeforeLast = exports._substringBefore = exports._removeWhitespace = exports._split = exports._lowerFirst = exports._upperFirst = exports._capitalize = exports._objectKeys = exports._stringMapEntries = exports._stringMapValues = exports._inRange = exports._createDeterministicRandom = exports._randomArrayItem = exports._randomInt = exports._assertTypeOf = exports._assertIsNumber = exports._assertIsString = exports._assertIsError = exports._assertDeepEquals = exports._assertEquals = exports._assert = exports._isHttpErrorResponse = exports._isHttpErrorObject = exports._isErrorObject = exports.AssertionError = exports.HttpError = exports.AppError = exports._createPromiseDecorator = exports._getArgsSignature = exports._LogMethod = exports._memoFn = exports._Memo = exports.is = void 0;
4
4
  exports._average = exports.SimpleMovingAverage = exports._chunk = exports._flattenDeep = exports._flatten = exports._uniqBy = exports._uniq = exports._range = exports._errorObjectToAppError = exports._errorToErrorObject = exports._anyToErrorObject = exports._anyToError = exports._findKeyByValue = exports._mapToObject = exports._shuffle = exports._difference = exports._intersection = exports._countBy = exports._dropRightWhile = exports._dropWhile = exports._takeRightWhile = exports._takeWhile = exports._findLast = exports._round = exports._toPrecision = exports._toFixed = exports._sortNumbers = exports._sortBy = exports._groupBy = exports._by = exports._invertMap = exports._invert = exports._mask = exports._unset = exports._has = exports._set = exports._get = exports._sortObject = exports._sortObjectDeep = exports._deepTrim = exports._merge = exports._isEmpty = exports._isEmptyObject = exports._deepCopy = exports._deepEquals = exports._objectNullValuesToUndefined = exports._mapObject = exports._mapValues = exports._mapKeys = exports._isPrimitive = void 0;
5
5
  exports.JSON_SCHEMA_ORDER = exports.JsonSchemaAnyBuilder = exports.jsonSchema = exports.mergeJsonSchemaObjects = exports._last = exports._clamp = exports._sumBy = exports._sum = exports._kebabCase = exports._camelCase = exports._snakeCase = exports._kb = exports._mb = exports._gb = exports._hb = exports._since = exports._ms = exports._stringifyAny = exports._jsonParseIfPossible = exports.pTry = exports._try = exports._TryCatch = exports._tryCatch = exports._Timeout = exports._Retry = exports.pTuple = exports.pTimeout = exports.pRetry = exports.AggregatedError = exports.pState = exports.pHang = exports.pDefer = exports.pDelay = exports.pProps = exports.pFilter = exports.ErrorMode = exports.pBatch = exports._noop = exports._passNothingPredicate = exports._passthroughPredicate = exports._passUndefinedMapper = exports._passthroughMapper = exports.pMap = exports._Throttle = exports._Debounce = exports._throttle = exports._debounce = exports._median = exports._percentile = exports._averageWeighted = void 0;
6
- exports._safeJsonStringify = exports.noopLogger = exports.createSimpleLogger = exports._lazyValue = exports._defineLazyProps = exports._defineLazyProperty = exports._parseQueryString = exports.generateJsonSchemaFromData = void 0;
6
+ exports._safeJsonStringify = exports.commonLogLevelNumber = exports.noopLogger = exports.commonLoggerMinLevel = exports._lazyValue = exports._defineLazyProps = exports._defineLazyProperty = exports._parseQueryString = exports.generateJsonSchemaFromData = void 0;
7
7
  const array_util_1 = require("./array/array.util");
8
8
  Object.defineProperty(exports, "_by", { enumerable: true, get: function () { return array_util_1._by; } });
9
9
  Object.defineProperty(exports, "_chunk", { enumerable: true, get: function () { return array_util_1._chunk; } });
@@ -212,7 +212,8 @@ Object.defineProperty(exports, "_mb", { enumerable: true, get: function () { ret
212
212
  const is_1 = require("./vendor/is");
213
213
  Object.defineProperty(exports, "is", { enumerable: true, get: function () { return is_1.is; } });
214
214
  const commonLogger_1 = require("./log/commonLogger");
215
- Object.defineProperty(exports, "createSimpleLogger", { enumerable: true, get: function () { return commonLogger_1.createSimpleLogger; } });
215
+ Object.defineProperty(exports, "commonLoggerMinLevel", { enumerable: true, get: function () { return commonLogger_1.commonLoggerMinLevel; } });
216
216
  Object.defineProperty(exports, "noopLogger", { enumerable: true, get: function () { return commonLogger_1.noopLogger; } });
217
+ Object.defineProperty(exports, "commonLogLevelNumber", { enumerable: true, get: function () { return commonLogger_1.commonLogLevelNumber; } });
217
218
  const safeJsonStringify_1 = require("./string/safeJsonStringify");
218
219
  Object.defineProperty(exports, "_safeJsonStringify", { enumerable: true, get: function () { return safeJsonStringify_1._safeJsonStringify; } });
@@ -9,6 +9,7 @@
9
9
  * @experimental
10
10
  */
11
11
  export declare type CommonLogLevel = 'log' | 'warn' | 'error';
12
+ export declare const commonLogLevelNumber: Record<CommonLogLevel, number>;
12
13
  /**
13
14
  * Function that takes any number of arguments and logs them all.
14
15
  * It is expected that logged arguments are separated by "space", like console.log does.
@@ -28,22 +29,12 @@ export interface CommonLogger {
28
29
  error: CommonLogFunction;
29
30
  }
30
31
  /**
31
- * Same as CommonLogger, but also is a "convenience function" itself.
32
- * So you can do `logger('hey')` which is the same as `logger.log('hey')`
33
- *
34
- * @experimental
35
- */
36
- export interface SimpleLogger extends CommonLogFunction, CommonLogger {
37
- }
38
- /**
39
- * Creates a SimpleLogger from CommonLogger.
32
+ * SimpleLogger that does nothing (noop).
40
33
  *
41
34
  * @experimental
42
35
  */
43
- export declare function createSimpleLogger(logger: CommonLogger): SimpleLogger;
36
+ export declare const noopLogger: CommonLogger;
44
37
  /**
45
- * SimpleLogger that does nothing (noop).
46
- *
47
- * @experimental
38
+ * Creates a "child" logger that is "limited" to the specified CommonLogLevel.
48
39
  */
49
- export declare const noopLogger: SimpleLogger;
40
+ export declare function commonLoggerMinLevel(logger: CommonLogger, minLevel: CommonLogLevel, mutate?: boolean): CommonLogger;
@@ -1,27 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noopLogger = exports.createSimpleLogger = void 0;
3
+ exports.commonLoggerMinLevel = exports.noopLogger = exports.commonLogLevelNumber = void 0;
4
+ const index_1 = require("../index");
5
+ exports.commonLogLevelNumber = {
6
+ log: 10,
7
+ warn: 20,
8
+ error: 30,
9
+ };
4
10
  /**
5
- * Creates a SimpleLogger from CommonLogger.
11
+ * SimpleLogger that does nothing (noop).
6
12
  *
7
13
  * @experimental
8
14
  */
9
- function createSimpleLogger(logger) {
10
- return Object.assign(((...args) => logger.log(...args)), {
11
- log: (...args) => logger.log(...args),
12
- warn: (...args) => logger.warn(...args),
13
- error: (...args) => logger.error(...args),
14
- });
15
- }
16
- exports.createSimpleLogger = createSimpleLogger;
17
- const noop = () => { };
15
+ exports.noopLogger = {
16
+ log: index_1._noop,
17
+ warn: index_1._noop,
18
+ error: index_1._noop,
19
+ };
18
20
  /**
19
- * SimpleLogger that does nothing (noop).
20
- *
21
- * @experimental
21
+ * Creates a "child" logger that is "limited" to the specified CommonLogLevel.
22
22
  */
23
- exports.noopLogger = createSimpleLogger({
24
- log: noop,
25
- warn: noop,
26
- error: noop,
27
- });
23
+ function commonLoggerMinLevel(logger, minLevel, mutate = false) {
24
+ const level = exports.commonLogLevelNumber[minLevel];
25
+ if (mutate) {
26
+ if (level > exports.commonLogLevelNumber['log']) {
27
+ logger.log = index_1._noop;
28
+ if (level > exports.commonLogLevelNumber['warn']) {
29
+ logger.warn = index_1._noop;
30
+ if (level > exports.commonLogLevelNumber['error']) {
31
+ logger.error = index_1._noop;
32
+ }
33
+ }
34
+ }
35
+ return logger;
36
+ }
37
+ return {
38
+ log: level <= exports.commonLogLevelNumber['log'] ? (...args) => logger.log(...args) : index_1._noop,
39
+ warn: level <= exports.commonLogLevelNumber['warn'] ? (...args) => logger.warn(...args) : index_1._noop,
40
+ error: level <= exports.commonLogLevelNumber['error'] ? (...args) => logger.error(...args) : index_1._noop,
41
+ };
42
+ }
43
+ exports.commonLoggerMinLevel = commonLoggerMinLevel;
package/dist-esm/index.js CHANGED
@@ -50,6 +50,6 @@ import { _ms, _since } from './time/time.util';
50
50
  import { _noop, _objectKeys, _passNothingPredicate, _passthroughMapper, _passthroughPredicate, _passUndefinedMapper, _stringMapEntries, _stringMapValues, } from './types';
51
51
  import { _gb, _hb, _kb, _mb } from './unit/size.util';
52
52
  import { is } from './vendor/is';
53
- import { createSimpleLogger, noopLogger, } from './log/commonLogger';
53
+ import { commonLoggerMinLevel, noopLogger, commonLogLevelNumber, } from './log/commonLogger';
54
54
  import { _safeJsonStringify } from './string/safeJsonStringify';
55
- export { is, _Memo, _memoFn, _LogMethod, _getArgsSignature, _createPromiseDecorator, AppError, HttpError, AssertionError, _isErrorObject, _isHttpErrorObject, _isHttpErrorResponse, _assert, _assertEquals, _assertDeepEquals, _assertIsError, _assertIsString, _assertIsNumber, _assertTypeOf, _randomInt, _randomArrayItem, _createDeterministicRandom, _inRange, _stringMapValues, _stringMapEntries, _objectKeys, _capitalize, _upperFirst, _lowerFirst, _split, _removeWhitespace, _substringBefore, _substringBeforeLast, _substringAfter, _substringAfterLast, _substringBetweenLast, _replaceAll, _nl2br, _truncate, _truncateMiddle, _pick, _omit, _filterFalsyValues, _filterUndefinedValues, _filterNullishValues, _filterEmptyArrays, _filterEmptyValues, _filterObject, _undefinedIfEmpty, _isObject, _isPrimitive, _mapKeys, _mapValues, _mapObject, _objectNullValuesToUndefined, _deepEquals, _deepCopy, _isEmptyObject, _isEmpty, _merge, _deepTrim, _sortObjectDeep, _sortObject, _get, _set, _has, _unset, _mask, _invert, _invertMap, _by, _groupBy, _sortBy, _sortNumbers, _toFixed, _toPrecision, _round, _findLast, _takeWhile, _takeRightWhile, _dropWhile, _dropRightWhile, _countBy, _intersection, _difference, _shuffle, _mapToObject, _findKeyByValue, _anyToError, _anyToErrorObject, _errorToErrorObject, _errorObjectToAppError, _range, _uniq, _uniqBy, _flatten, _flattenDeep, _chunk, SimpleMovingAverage, _average, _averageWeighted, _percentile, _median, _debounce, _throttle, _Debounce, _Throttle, pMap, _passthroughMapper, _passUndefinedMapper, _passthroughPredicate, _passNothingPredicate, _noop, pBatch, ErrorMode, pFilter, pProps, pDelay, pDefer, pHang, pState, AggregatedError, pRetry, pTimeout, pTuple, _Retry, _Timeout, _tryCatch, _TryCatch, _try, pTry, _jsonParseIfPossible, _stringifyAny, _ms, _since, _hb, _gb, _mb, _kb, _snakeCase, _camelCase, _kebabCase, _sum, _sumBy, _clamp, _last, mergeJsonSchemaObjects, jsonSchema, JsonSchemaAnyBuilder, JSON_SCHEMA_ORDER, generateJsonSchemaFromData, _parseQueryString, _defineLazyProperty, _defineLazyProps, _lazyValue, createSimpleLogger, noopLogger, _safeJsonStringify, };
55
+ export { is, _Memo, _memoFn, _LogMethod, _getArgsSignature, _createPromiseDecorator, AppError, HttpError, AssertionError, _isErrorObject, _isHttpErrorObject, _isHttpErrorResponse, _assert, _assertEquals, _assertDeepEquals, _assertIsError, _assertIsString, _assertIsNumber, _assertTypeOf, _randomInt, _randomArrayItem, _createDeterministicRandom, _inRange, _stringMapValues, _stringMapEntries, _objectKeys, _capitalize, _upperFirst, _lowerFirst, _split, _removeWhitespace, _substringBefore, _substringBeforeLast, _substringAfter, _substringAfterLast, _substringBetweenLast, _replaceAll, _nl2br, _truncate, _truncateMiddle, _pick, _omit, _filterFalsyValues, _filterUndefinedValues, _filterNullishValues, _filterEmptyArrays, _filterEmptyValues, _filterObject, _undefinedIfEmpty, _isObject, _isPrimitive, _mapKeys, _mapValues, _mapObject, _objectNullValuesToUndefined, _deepEquals, _deepCopy, _isEmptyObject, _isEmpty, _merge, _deepTrim, _sortObjectDeep, _sortObject, _get, _set, _has, _unset, _mask, _invert, _invertMap, _by, _groupBy, _sortBy, _sortNumbers, _toFixed, _toPrecision, _round, _findLast, _takeWhile, _takeRightWhile, _dropWhile, _dropRightWhile, _countBy, _intersection, _difference, _shuffle, _mapToObject, _findKeyByValue, _anyToError, _anyToErrorObject, _errorToErrorObject, _errorObjectToAppError, _range, _uniq, _uniqBy, _flatten, _flattenDeep, _chunk, SimpleMovingAverage, _average, _averageWeighted, _percentile, _median, _debounce, _throttle, _Debounce, _Throttle, pMap, _passthroughMapper, _passUndefinedMapper, _passthroughPredicate, _passNothingPredicate, _noop, pBatch, ErrorMode, pFilter, pProps, pDelay, pDefer, pHang, pState, AggregatedError, pRetry, pTimeout, pTuple, _Retry, _Timeout, _tryCatch, _TryCatch, _try, pTry, _jsonParseIfPossible, _stringifyAny, _ms, _since, _hb, _gb, _mb, _kb, _snakeCase, _camelCase, _kebabCase, _sum, _sumBy, _clamp, _last, mergeJsonSchemaObjects, jsonSchema, JsonSchemaAnyBuilder, JSON_SCHEMA_ORDER, generateJsonSchemaFromData, _parseQueryString, _defineLazyProperty, _defineLazyProps, _lazyValue, commonLoggerMinLevel, noopLogger, commonLogLevelNumber, _safeJsonStringify, };
@@ -1,23 +1,39 @@
1
+ import { _noop } from '../index';
2
+ export const commonLogLevelNumber = {
3
+ log: 10,
4
+ warn: 20,
5
+ error: 30,
6
+ };
1
7
  /**
2
- * Creates a SimpleLogger from CommonLogger.
8
+ * SimpleLogger that does nothing (noop).
3
9
  *
4
10
  * @experimental
5
11
  */
6
- export function createSimpleLogger(logger) {
7
- return Object.assign(((...args) => logger.log(...args)), {
8
- log: (...args) => logger.log(...args),
9
- warn: (...args) => logger.warn(...args),
10
- error: (...args) => logger.error(...args),
11
- });
12
- }
13
- const noop = () => { };
12
+ export const noopLogger = {
13
+ log: _noop,
14
+ warn: _noop,
15
+ error: _noop,
16
+ };
14
17
  /**
15
- * SimpleLogger that does nothing (noop).
16
- *
17
- * @experimental
18
+ * Creates a "child" logger that is "limited" to the specified CommonLogLevel.
18
19
  */
19
- export const noopLogger = createSimpleLogger({
20
- log: noop,
21
- warn: noop,
22
- error: noop,
23
- });
20
+ export function commonLoggerMinLevel(logger, minLevel, mutate = false) {
21
+ const level = commonLogLevelNumber[minLevel];
22
+ if (mutate) {
23
+ if (level > commonLogLevelNumber['log']) {
24
+ logger.log = _noop;
25
+ if (level > commonLogLevelNumber['warn']) {
26
+ logger.warn = _noop;
27
+ if (level > commonLogLevelNumber['error']) {
28
+ logger.error = _noop;
29
+ }
30
+ }
31
+ }
32
+ return logger;
33
+ }
34
+ return {
35
+ log: level <= commonLogLevelNumber['log'] ? (...args) => logger.log(...args) : _noop,
36
+ warn: level <= commonLogLevelNumber['warn'] ? (...args) => logger.warn(...args) : _noop,
37
+ error: level <= commonLogLevelNumber['error'] ? (...args) => logger.error(...args) : _noop,
38
+ };
39
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
- "version": "14.65.0",
3
+ "version": "14.66.0",
4
4
  "scripts": {
5
5
  "prepare": "husky install",
6
6
  "build-prod": "build-prod-esm-cjs",
package/src/index.ts CHANGED
@@ -228,9 +228,9 @@ import {
228
228
  CommonLogLevel,
229
229
  CommonLogFunction,
230
230
  CommonLogger,
231
- SimpleLogger,
232
- createSimpleLogger,
231
+ commonLoggerMinLevel,
233
232
  noopLogger,
233
+ commonLogLevelNumber,
234
234
  } from './log/commonLogger'
235
235
  import { _safeJsonStringify } from './string/safeJsonStringify'
236
236
 
@@ -307,7 +307,6 @@ export type {
307
307
  CommonLogLevel,
308
308
  CommonLogFunction,
309
309
  CommonLogger,
310
- SimpleLogger,
311
310
  }
312
311
 
313
312
  export {
@@ -466,7 +465,8 @@ export {
466
465
  _defineLazyProperty,
467
466
  _defineLazyProps,
468
467
  _lazyValue,
469
- createSimpleLogger,
468
+ commonLoggerMinLevel,
470
469
  noopLogger,
470
+ commonLogLevelNumber,
471
471
  _safeJsonStringify,
472
472
  }
@@ -1,3 +1,5 @@
1
+ import { _noop } from '../index'
2
+
1
3
  /**
2
4
  * These levels follow console.* naming,
3
5
  * so you can use console[level] safely.
@@ -10,6 +12,12 @@
10
12
  */
11
13
  export type CommonLogLevel = 'log' | 'warn' | 'error'
12
14
 
15
+ export const commonLogLevelNumber: Record<CommonLogLevel, number> = {
16
+ log: 10,
17
+ warn: 20,
18
+ error: 30,
19
+ }
20
+
13
21
  /**
14
22
  * Function that takes any number of arguments and logs them all.
15
23
  * It is expected that logged arguments are separated by "space", like console.log does.
@@ -31,35 +39,41 @@ export interface CommonLogger {
31
39
  }
32
40
 
33
41
  /**
34
- * Same as CommonLogger, but also is a "convenience function" itself.
35
- * So you can do `logger('hey')` which is the same as `logger.log('hey')`
36
- *
37
- * @experimental
38
- */
39
- export interface SimpleLogger extends CommonLogFunction, CommonLogger {}
40
-
41
- /**
42
- * Creates a SimpleLogger from CommonLogger.
42
+ * SimpleLogger that does nothing (noop).
43
43
  *
44
44
  * @experimental
45
45
  */
46
- export function createSimpleLogger(logger: CommonLogger): SimpleLogger {
47
- return Object.assign(((...args: any[]) => logger.log(...args)) as any, {
48
- log: (...args: any[]) => logger.log(...args),
49
- warn: (...args: any[]) => logger.warn(...args),
50
- error: (...args: any[]) => logger.error(...args),
51
- })
46
+ export const noopLogger: CommonLogger = {
47
+ log: _noop,
48
+ warn: _noop,
49
+ error: _noop,
52
50
  }
53
51
 
54
- const noop = () => {}
55
-
56
52
  /**
57
- * SimpleLogger that does nothing (noop).
58
- *
59
- * @experimental
53
+ * Creates a "child" logger that is "limited" to the specified CommonLogLevel.
60
54
  */
61
- export const noopLogger: SimpleLogger = createSimpleLogger({
62
- log: noop,
63
- warn: noop,
64
- error: noop,
65
- })
55
+ export function commonLoggerMinLevel(
56
+ logger: CommonLogger,
57
+ minLevel: CommonLogLevel,
58
+ mutate = false,
59
+ ): CommonLogger {
60
+ const level = commonLogLevelNumber[minLevel]
61
+ if (mutate) {
62
+ if (level > commonLogLevelNumber['log']) {
63
+ logger.log = _noop
64
+ if (level > commonLogLevelNumber['warn']) {
65
+ logger.warn = _noop
66
+ if (level > commonLogLevelNumber['error']) {
67
+ logger.error = _noop
68
+ }
69
+ }
70
+ }
71
+ return logger
72
+ }
73
+
74
+ return {
75
+ log: level <= commonLogLevelNumber['log'] ? (...args) => logger.log(...args) : _noop,
76
+ warn: level <= commonLogLevelNumber['warn'] ? (...args) => logger.warn(...args) : _noop,
77
+ error: level <= commonLogLevelNumber['error'] ? (...args) => logger.error(...args) : _noop,
78
+ }
79
+ }