nightingale-debug 11.7.0 → 12.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.
- package/.eslintrc.json +1 -1
- package/CHANGELOG.md +52 -0
- package/dist/index-browser.cjs.js +38 -23
- package/dist/index-browser.cjs.js.map +1 -1
- package/dist/index-browser.es.js +37 -18
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-browsermodern.es.js +2 -3
- package/dist/index-browsermodern.es.js.map +1 -1
- package/dist/{index-browsermodern-dev.es.js → index-node14.cjs.js} +12 -9
- package/dist/index-node14.cjs.js.map +1 -0
- package/dist/{index-node12.mjs → index-node14.mjs} +3 -4
- package/dist/index-node14.mjs.map +1 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/package.json +20 -77
- package/rollup.config.mjs +3 -0
- package/src/index.test.ts +1 -1
- package/src/index.ts +6 -8
- package/dist/index-browser-dev.cjs.js +0 -99
- package/dist/index-browser-dev.cjs.js.map +0 -1
- package/dist/index-browser-dev.es.js +0 -91
- package/dist/index-browser-dev.es.js.map +0 -1
- package/dist/index-browsermodern-dev.es.js.map +0 -1
- package/dist/index-node12-dev.cjs.js +0 -99
- package/dist/index-node12-dev.cjs.js.map +0 -1
- package/dist/index-node12-dev.mjs +0 -91
- package/dist/index-node12-dev.mjs.map +0 -1
- package/dist/index-node12.cjs.js +0 -99
- package/dist/index-node12.cjs.js.map +0 -1
- package/dist/index-node12.mjs.map +0 -1
- package/index.js +0 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nightingale-debug",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Nightingale debug",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"logger"
|
|
@@ -13,67 +13,46 @@
|
|
|
13
13
|
"directory": "packages/nightingale-debug"
|
|
14
14
|
},
|
|
15
15
|
"homepage": "https://github.com/christophehurpeau/nightingale",
|
|
16
|
+
"type": "commonjs",
|
|
16
17
|
"engines": {
|
|
17
|
-
"node": ">=
|
|
18
|
+
"node": "^14.13.1 || >=16.0.0"
|
|
18
19
|
},
|
|
19
20
|
"browserslist": [
|
|
21
|
+
"defaults",
|
|
20
22
|
"> 0.2%",
|
|
21
|
-
"Firefox ESR",
|
|
22
|
-
"last 2 Chrome versions",
|
|
23
|
-
"last 2 iOS versions",
|
|
24
|
-
"last 2 Edge versions",
|
|
25
|
-
"last 2 Safari versions",
|
|
26
23
|
"not ie < 12",
|
|
27
|
-
"not
|
|
28
|
-
"not
|
|
29
|
-
"not op_mini all"
|
|
24
|
+
"not safari < 10",
|
|
25
|
+
"not ios_saf < 10"
|
|
30
26
|
],
|
|
31
|
-
"main": "./index.js",
|
|
27
|
+
"main": "./dist/index-node14.cjs.js",
|
|
32
28
|
"types": "./dist/index.d.ts",
|
|
33
29
|
"module": "./dist/index-browser.es.js",
|
|
34
30
|
"browser": "./dist/index-browser.es.js",
|
|
35
31
|
"exports": {
|
|
32
|
+
"./package.json": "./package.json",
|
|
36
33
|
".": {
|
|
37
34
|
"node": {
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
"require": "./dist/index-node12-dev.cjs.js"
|
|
41
|
-
},
|
|
42
|
-
"import": "./dist/index-node12.mjs",
|
|
43
|
-
"require": "./dist/index-node12.cjs.js"
|
|
35
|
+
"import": "./dist/index-node14.mjs",
|
|
36
|
+
"require": "./dist/index-node14.cjs.js"
|
|
44
37
|
},
|
|
45
38
|
"browser": {
|
|
46
39
|
"browser:modern": {
|
|
47
|
-
"development": {
|
|
48
|
-
"import": "./dist/index-browsermodern-dev.es.js"
|
|
49
|
-
},
|
|
50
40
|
"import": "./dist/index-browsermodern.es.js"
|
|
51
41
|
},
|
|
52
|
-
"development": {
|
|
53
|
-
"import": "./dist/index-browser-dev.es.js",
|
|
54
|
-
"require": "./dist/index-browser-dev.cjs.js"
|
|
55
|
-
},
|
|
56
42
|
"import": "./dist/index-browser.es.js",
|
|
57
43
|
"require": "./dist/index-browser.cjs.js"
|
|
58
44
|
}
|
|
59
45
|
}
|
|
60
46
|
},
|
|
61
|
-
"module:node": "./dist/index-
|
|
62
|
-
"module:node-dev": "./dist/index-node12-dev.mjs",
|
|
63
|
-
"module:browser": "./dist/index-browser.es.js",
|
|
64
|
-
"module:browser-dev": "./dist/index-browser-dev.es.js",
|
|
47
|
+
"module:node": "./dist/index-node14.mjs",
|
|
65
48
|
"module:modern-browsers": "./dist/index-browsermodern.es.js",
|
|
66
|
-
"module:modern-browsers-dev": "./dist/index-browsermodern-dev.es.js",
|
|
67
49
|
"sideEffects": false,
|
|
68
50
|
"scripts": {
|
|
69
51
|
"build": "pob-build && yarn run build:definitions",
|
|
70
52
|
"build:definitions": "tsc -p tsconfig.build.json",
|
|
71
|
-
"clean": "rm -Rf
|
|
72
|
-
"generate:test-coverage": "rm -Rf docs/coverage/ ; NODE_ENV=production BABEL_ENV=test jest --coverage --coverageReporters=pob-lcov-reporter --coverageDirectory=docs/coverage/",
|
|
53
|
+
"clean": "rm -Rf dist",
|
|
73
54
|
"lint": "yarn run lint:eslint",
|
|
74
|
-
"lint:eslint": "
|
|
75
|
-
"test": "jest",
|
|
76
|
-
"test:watch": "jest",
|
|
55
|
+
"lint:eslint": "cd ../.. && yarn run eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet packages/nightingale-debug",
|
|
77
56
|
"watch": "pob-watch"
|
|
78
57
|
},
|
|
79
58
|
"prettier": {
|
|
@@ -81,30 +60,11 @@
|
|
|
81
60
|
"singleQuote": true,
|
|
82
61
|
"arrowParens": "always"
|
|
83
62
|
},
|
|
84
|
-
"jest": {
|
|
85
|
-
"cacheDirectory": "./node_modules/.cache/jest",
|
|
86
|
-
"testMatch": [
|
|
87
|
-
"<rootDir>/src/**/__tests__/**/*.ts",
|
|
88
|
-
"<rootDir>/src/**/*.test.ts"
|
|
89
|
-
],
|
|
90
|
-
"collectCoverageFrom": [
|
|
91
|
-
"src/**/*.ts"
|
|
92
|
-
],
|
|
93
|
-
"moduleFileExtensions": [
|
|
94
|
-
"ts",
|
|
95
|
-
"js",
|
|
96
|
-
"json"
|
|
97
|
-
],
|
|
98
|
-
"transform": {
|
|
99
|
-
"^.+\\.ts$": "babel-jest"
|
|
100
|
-
},
|
|
101
|
-
"testEnvironment": "node"
|
|
102
|
-
},
|
|
103
63
|
"pob": {
|
|
104
64
|
"babelEnvs": [
|
|
105
65
|
{
|
|
106
66
|
"target": "node",
|
|
107
|
-
"version": "
|
|
67
|
+
"version": "14",
|
|
108
68
|
"formats": [
|
|
109
69
|
"cjs",
|
|
110
70
|
"es"
|
|
@@ -130,31 +90,14 @@
|
|
|
130
90
|
]
|
|
131
91
|
},
|
|
132
92
|
"dependencies": {
|
|
133
|
-
"nightingale-levels": "^
|
|
93
|
+
"nightingale-levels": "^12.0.0"
|
|
134
94
|
},
|
|
135
95
|
"devDependencies": {
|
|
136
|
-
"@babel/core": "7.
|
|
137
|
-
"@babel/preset-env": "7.
|
|
138
|
-
"@pob/eslint-config": "43.0.0",
|
|
139
|
-
"@pob/eslint-config-node": "43.1.0",
|
|
140
|
-
"@pob/eslint-config-typescript": "43.0.0",
|
|
141
|
-
"@types/jest": "26.0.22",
|
|
142
|
-
"@typescript-eslint/eslint-plugin": "4.19.0",
|
|
143
|
-
"@typescript-eslint/parser": "4.19.0",
|
|
144
|
-
"babel-jest": "26.6.3",
|
|
145
|
-
"babel-preset-latest-node": "5.5.1",
|
|
96
|
+
"@babel/core": "7.16.0",
|
|
97
|
+
"@babel/preset-env": "7.16.4",
|
|
146
98
|
"babel-preset-modern-browsers": "15.0.2",
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
"eslint-plugin-import": "2.22.1",
|
|
150
|
-
"eslint-plugin-node": "11.1.0",
|
|
151
|
-
"eslint-plugin-unicorn": "25.0.1",
|
|
152
|
-
"jest": "26.6.3",
|
|
153
|
-
"pob-babel": "26.8.0",
|
|
154
|
-
"pob-lcov-reporter": "4.0.1",
|
|
155
|
-
"rollup": "2.43.1",
|
|
156
|
-
"typescript": "4.2.3",
|
|
157
|
-
"xunit-file": "1.0.0"
|
|
99
|
+
"pob-babel": "29.3.0",
|
|
100
|
+
"typescript": "4.5.3"
|
|
158
101
|
},
|
|
159
|
-
"gitHead": "
|
|
102
|
+
"gitHead": "682f57fa30eaca9732681d16008abb2680b24174"
|
|
160
103
|
}
|
package/src/index.test.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/* eslint-disable complexity */
|
|
2
|
-
import Level from 'nightingale-levels';
|
|
2
|
+
import { Level } from 'nightingale-levels';
|
|
3
3
|
|
|
4
4
|
const specialRegexpChars = /[$()+.?[\\\]^{|}]/;
|
|
5
5
|
|
|
6
6
|
type TestFunction = (string: string) => boolean;
|
|
7
7
|
export type DebugValueType = string | RegExp | string[];
|
|
8
8
|
|
|
9
|
-
const createTestFunctionFromRegexp =
|
|
10
|
-
|
|
11
|
-
) =>
|
|
9
|
+
const createTestFunctionFromRegexp =
|
|
10
|
+
(regexp: RegExp): TestFunction =>
|
|
11
|
+
(string: string) =>
|
|
12
|
+
regexp.test(string);
|
|
12
13
|
|
|
13
14
|
const createTestFunctionFromRegexpString = (value: string): TestFunction => {
|
|
14
15
|
if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');
|
|
@@ -90,13 +91,10 @@ export function createFindDebugLevel(
|
|
|
90
91
|
return minLevel;
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
if (debugValues.some((
|
|
94
|
+
if (debugValues.some((dv) => dv(key))) {
|
|
94
95
|
return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
return minLevel;
|
|
98
99
|
};
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
-
/** @deprecated use named export instead */
|
|
102
|
-
export default createFindDebugLevel;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var Level = require('nightingale-levels');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
8
|
-
|
|
9
|
-
var Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
|
|
10
|
-
|
|
11
|
-
/* eslint-disable complexity */
|
|
12
|
-
const specialRegexpChars = /[$()+.?[\\\]^{|}]/;
|
|
13
|
-
|
|
14
|
-
const createTestFunctionFromRegexp = regexp => string => regexp.test(string);
|
|
15
|
-
|
|
16
|
-
const createTestFunctionFromRegexpString = value => {
|
|
17
|
-
if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');
|
|
18
|
-
return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const createTestFunctionFromValue = value => {
|
|
22
|
-
if (value.endsWith(':*')) {
|
|
23
|
-
value = value.slice(0, -2);
|
|
24
|
-
return string => string.startsWith(value);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return string => string === value;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
function createFindDebugLevel(debugValue) {
|
|
31
|
-
let isWildcard = false;
|
|
32
|
-
const debugValues = [];
|
|
33
|
-
const skips = [];
|
|
34
|
-
|
|
35
|
-
if (!Array.isArray(debugValue)) {
|
|
36
|
-
if (debugValue instanceof RegExp) {
|
|
37
|
-
debugValues.push(createTestFunctionFromRegexp(debugValue));
|
|
38
|
-
debugValue = undefined;
|
|
39
|
-
} else if (debugValue) {
|
|
40
|
-
debugValue = debugValue.trim();
|
|
41
|
-
|
|
42
|
-
if (debugValue.startsWith('/')) {
|
|
43
|
-
debugValues.push(createTestFunctionFromRegexpString(debugValue));
|
|
44
|
-
debugValue = undefined;
|
|
45
|
-
} else {
|
|
46
|
-
debugValue = debugValue.split(/[\s,]+/);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (debugValue) {
|
|
52
|
-
debugValue.forEach(value => {
|
|
53
|
-
if (specialRegexpChars.test(value)) {
|
|
54
|
-
throw new Error(`Invalid debug value: "${value}" (contains special chars)`);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (!value) return;
|
|
58
|
-
|
|
59
|
-
if (value === '*') {
|
|
60
|
-
isWildcard = true;
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (value.startsWith('-')) {
|
|
65
|
-
skips.push(createTestFunctionFromValue(value.slice(1)));
|
|
66
|
-
} else if (!isWildcard) {
|
|
67
|
-
debugValues.push(createTestFunctionFromValue(value));
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (isWildcard) {
|
|
73
|
-
if (skips.length === 0) {
|
|
74
|
-
return () => Level__default.ALL;
|
|
75
|
-
} else {
|
|
76
|
-
return (minLevel, key) => skips.some(skip => skip(key)) ? minLevel : Level__default.ALL;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (debugValues.length === 0) {
|
|
81
|
-
return minLevel => minLevel;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return (minLevel, key) => {
|
|
85
|
-
if (minLevel === Level__default.ALL || !key) {
|
|
86
|
-
return minLevel;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (debugValues.some(debugValue => debugValue(key))) {
|
|
90
|
-
return skips.some(skip => skip(key)) ? minLevel : Level__default.ALL;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return minLevel;
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
exports.createFindDebugLevel = createFindDebugLevel;
|
|
98
|
-
exports.default = createFindDebugLevel;
|
|
99
|
-
//# sourceMappingURL=index-browser-dev.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport Level from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp = (regexp: RegExp): TestFunction => (\n string: string,\n) => regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import Level from 'nightingale-levels';
|
|
2
|
-
|
|
3
|
-
/* eslint-disable complexity */
|
|
4
|
-
const specialRegexpChars = /[$()+.?[\\\]^{|}]/;
|
|
5
|
-
|
|
6
|
-
const createTestFunctionFromRegexp = regexp => string => regexp.test(string);
|
|
7
|
-
|
|
8
|
-
const createTestFunctionFromRegexpString = value => {
|
|
9
|
-
if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');
|
|
10
|
-
return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const createTestFunctionFromValue = value => {
|
|
14
|
-
if (value.endsWith(':*')) {
|
|
15
|
-
value = value.slice(0, -2);
|
|
16
|
-
return string => string.startsWith(value);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return string => string === value;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
function createFindDebugLevel(debugValue) {
|
|
23
|
-
let isWildcard = false;
|
|
24
|
-
const debugValues = [];
|
|
25
|
-
const skips = [];
|
|
26
|
-
|
|
27
|
-
if (!Array.isArray(debugValue)) {
|
|
28
|
-
if (debugValue instanceof RegExp) {
|
|
29
|
-
debugValues.push(createTestFunctionFromRegexp(debugValue));
|
|
30
|
-
debugValue = undefined;
|
|
31
|
-
} else if (debugValue) {
|
|
32
|
-
debugValue = debugValue.trim();
|
|
33
|
-
|
|
34
|
-
if (debugValue.startsWith('/')) {
|
|
35
|
-
debugValues.push(createTestFunctionFromRegexpString(debugValue));
|
|
36
|
-
debugValue = undefined;
|
|
37
|
-
} else {
|
|
38
|
-
debugValue = debugValue.split(/[\s,]+/);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (debugValue) {
|
|
44
|
-
debugValue.forEach(value => {
|
|
45
|
-
if (specialRegexpChars.test(value)) {
|
|
46
|
-
throw new Error(`Invalid debug value: "${value}" (contains special chars)`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (!value) return;
|
|
50
|
-
|
|
51
|
-
if (value === '*') {
|
|
52
|
-
isWildcard = true;
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (value.startsWith('-')) {
|
|
57
|
-
skips.push(createTestFunctionFromValue(value.slice(1)));
|
|
58
|
-
} else if (!isWildcard) {
|
|
59
|
-
debugValues.push(createTestFunctionFromValue(value));
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (isWildcard) {
|
|
65
|
-
if (skips.length === 0) {
|
|
66
|
-
return () => Level.ALL;
|
|
67
|
-
} else {
|
|
68
|
-
return (minLevel, key) => skips.some(skip => skip(key)) ? minLevel : Level.ALL;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (debugValues.length === 0) {
|
|
73
|
-
return minLevel => minLevel;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return (minLevel, key) => {
|
|
77
|
-
if (minLevel === Level.ALL || !key) {
|
|
78
|
-
return minLevel;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (debugValues.some(debugValue => debugValue(key))) {
|
|
82
|
-
return skips.some(skip => skip(key)) ? minLevel : Level.ALL;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return minLevel;
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export default createFindDebugLevel;
|
|
90
|
-
export { createFindDebugLevel };
|
|
91
|
-
//# sourceMappingURL=index-browser-dev.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport Level from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp = (regexp: RegExp): TestFunction => (\n string: string,\n) => regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":";;AAAA;AAGA,MAAMA,kBAAkB,GAAG,mBAA3B;;AAKA,MAAMC,4BAA4B,GAAIC,MAAD,IACnCC,MADqE,IAElED,MAAM,CAACE,IAAP,CAAYD,MAAZ,CAFL;;AAIA,MAAME,kCAAkC,GAAIC,KAAD,IAAiC;AAC1E,MAAI,CAACA,KAAK,CAACC,QAAN,CAAe,GAAf,CAAL,EAA0B,MAAM,IAAIC,KAAJ,CAAU,4BAAV,CAAN;AAC1B,SAAOP,4BAA4B,CAAC,IAAIQ,MAAJ,CAAWH,KAAK,CAACI,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAX,CAAD,CAAnC;AACD,CAHD;;AAKA,MAAMC,2BAA2B,GAAIL,KAAD,IAAiC;AACnE,MAAIA,KAAK,CAACC,QAAN,CAAe,IAAf,CAAJ,EAA0B;AACxBD,IAAAA,KAAK,GAAGA,KAAK,CAACI,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAR;AACA,WAAQP,MAAD,IAAoBA,MAAM,CAACS,UAAP,CAAkBN,KAAlB,CAA3B;AACD;;AAED,SAAQH,MAAD,IAAoBA,MAAM,KAAKG,KAAtC;AACD,CAPD;;AAWO,SAASO,oBAAT,CACLC,UADK,EAEW;AAChB,MAAIC,UAAU,GAAG,KAAjB;AACA,QAAMC,WAA2B,GAAG,EAApC;AACA,QAAMC,KAAqB,GAAG,EAA9B;;AAEA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcL,UAAd,CAAL,EAAgC;AAC9B,QAAIA,UAAU,YAAYL,MAA1B,EAAkC;AAChCO,MAAAA,WAAW,CAACI,IAAZ,CAAiBnB,4BAA4B,CAACa,UAAD,CAA7C;AACAA,MAAAA,UAAU,GAAGO,SAAb;AACD,KAHD,MAGO,IAAIP,UAAJ,EAAgB;AACrBA,MAAAA,UAAU,GAAGA,UAAU,CAACQ,IAAX,EAAb;;AAEA,UAAIR,UAAU,CAACF,UAAX,CAAsB,GAAtB,CAAJ,EAAgC;AAC9BI,QAAAA,WAAW,CAACI,IAAZ,CAAiBf,kCAAkC,CAACS,UAAD,CAAnD;AACAA,QAAAA,UAAU,GAAGO,SAAb;AACD,OAHD,MAGO;AACLP,QAAAA,UAAU,GAAGA,UAAU,CAACS,KAAX,CAAiB,QAAjB,CAAb;AACD;AACF;AACF;;AAED,MAAIT,UAAJ,EAAgB;AACbA,IAAAA,UAAD,CAAyBU,OAAzB,CAAkClB,KAAD,IAAW;AAC1C,UAAIN,kBAAkB,CAACI,IAAnB,CAAwBE,KAAxB,CAAJ,EAAoC;AAClC,cAAM,IAAIE,KAAJ,CACH,yBAAwBF,KAAM,4BAD3B,CAAN;AAGD;;AAED,UAAI,CAACA,KAAL,EAAY;;AAEZ,UAAIA,KAAK,KAAK,GAAd,EAAmB;AACjBS,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAIT,KAAK,CAACM,UAAN,CAAiB,GAAjB,CAAJ,EAA2B;AACzBK,QAAAA,KAAK,CAACG,IAAN,CAAWT,2BAA2B,CAACL,KAAK,CAACI,KAAN,CAAY,CAAZ,CAAD,CAAtC;AACD,OAFD,MAEO,IAAI,CAACK,UAAL,EAAiB;AACtBC,QAAAA,WAAW,CAACI,IAAZ,CAAiBT,2BAA2B,CAACL,KAAD,CAA5C;AACD;AACF,KAnBD;AAoBD;;AAED,MAAIS,UAAJ,EAAgB;AACd,QAAIE,KAAK,CAACQ,MAAN,KAAiB,CAArB,EAAwB;AACtB,aAAO,MAAMC,KAAK,CAACC,GAAnB;AACD,KAFD,MAEO;AACL,aAAO,CAACC,QAAD,EAAkBC,GAAlB,KACLZ,KAAK,CAACa,IAAN,CAAYC,IAAD,IAAUA,IAAI,CAACF,GAAD,CAAzB,IAAkCD,QAAlC,GAA6CF,KAAK,CAACC,GADrD;AAED;AACF;;AAED,MAAIX,WAAW,CAACS,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,WAAQG,QAAD,IAAqBA,QAA5B;AACD;;AAED,SAAO,CAACA,QAAD,EAAkBC,GAAlB,KAAkC;AACvC,QAAID,QAAQ,KAAKF,KAAK,CAACC,GAAnB,IAA0B,CAACE,GAA/B,EAAoC;AAClC,aAAOD,QAAP;AACD;;AAED,QAAIZ,WAAW,CAACc,IAAZ,CAAkBhB,UAAD,IAAgBA,UAAU,CAACe,GAAD,CAA3C,CAAJ,EAAuD;AACrD,aAAOZ,KAAK,CAACa,IAAN,CAAYC,IAAD,IAAUA,IAAI,CAACF,GAAD,CAAzB,IAAkCD,QAAlC,GAA6CF,KAAK,CAACC,GAA1D;AACD;;AAED,WAAOC,QAAP;AACD,GAVD;AAWD;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport Level from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp = (regexp: RegExp): TestFunction => (\n string: string,\n) => regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const Level = require('nightingale-levels');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
8
|
-
|
|
9
|
-
const Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
|
|
10
|
-
|
|
11
|
-
/* eslint-disable complexity */
|
|
12
|
-
const specialRegexpChars = /[$()+.?[\\\]^{|}]/;
|
|
13
|
-
|
|
14
|
-
const createTestFunctionFromRegexp = regexp => string => regexp.test(string);
|
|
15
|
-
|
|
16
|
-
const createTestFunctionFromRegexpString = value => {
|
|
17
|
-
if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');
|
|
18
|
-
return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const createTestFunctionFromValue = value => {
|
|
22
|
-
if (value.endsWith(':*')) {
|
|
23
|
-
value = value.slice(0, -2);
|
|
24
|
-
return string => string.startsWith(value);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return string => string === value;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
function createFindDebugLevel(debugValue) {
|
|
31
|
-
let isWildcard = false;
|
|
32
|
-
const debugValues = [];
|
|
33
|
-
const skips = [];
|
|
34
|
-
|
|
35
|
-
if (!Array.isArray(debugValue)) {
|
|
36
|
-
if (debugValue instanceof RegExp) {
|
|
37
|
-
debugValues.push(createTestFunctionFromRegexp(debugValue));
|
|
38
|
-
debugValue = undefined;
|
|
39
|
-
} else if (debugValue) {
|
|
40
|
-
debugValue = debugValue.trim();
|
|
41
|
-
|
|
42
|
-
if (debugValue.startsWith('/')) {
|
|
43
|
-
debugValues.push(createTestFunctionFromRegexpString(debugValue));
|
|
44
|
-
debugValue = undefined;
|
|
45
|
-
} else {
|
|
46
|
-
debugValue = debugValue.split(/[\s,]+/);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (debugValue) {
|
|
52
|
-
debugValue.forEach(value => {
|
|
53
|
-
if (specialRegexpChars.test(value)) {
|
|
54
|
-
throw new Error(`Invalid debug value: "${value}" (contains special chars)`);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (!value) return;
|
|
58
|
-
|
|
59
|
-
if (value === '*') {
|
|
60
|
-
isWildcard = true;
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (value.startsWith('-')) {
|
|
65
|
-
skips.push(createTestFunctionFromValue(value.slice(1)));
|
|
66
|
-
} else if (!isWildcard) {
|
|
67
|
-
debugValues.push(createTestFunctionFromValue(value));
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (isWildcard) {
|
|
73
|
-
if (skips.length === 0) {
|
|
74
|
-
return () => Level__default.ALL;
|
|
75
|
-
} else {
|
|
76
|
-
return (minLevel, key) => skips.some(skip => skip(key)) ? minLevel : Level__default.ALL;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (debugValues.length === 0) {
|
|
81
|
-
return minLevel => minLevel;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return (minLevel, key) => {
|
|
85
|
-
if (minLevel === Level__default.ALL || !key) {
|
|
86
|
-
return minLevel;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (debugValues.some(debugValue => debugValue(key))) {
|
|
90
|
-
return skips.some(skip => skip(key)) ? minLevel : Level__default.ALL;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return minLevel;
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
exports.createFindDebugLevel = createFindDebugLevel;
|
|
98
|
-
exports.default = createFindDebugLevel;
|
|
99
|
-
//# sourceMappingURL=index-node12-dev.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport Level from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp = (regexp: RegExp): TestFunction => (\n string: string,\n) => regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import Level from 'nightingale-levels';
|
|
2
|
-
|
|
3
|
-
/* eslint-disable complexity */
|
|
4
|
-
const specialRegexpChars = /[$()+.?[\\\]^{|}]/;
|
|
5
|
-
|
|
6
|
-
const createTestFunctionFromRegexp = regexp => string => regexp.test(string);
|
|
7
|
-
|
|
8
|
-
const createTestFunctionFromRegexpString = value => {
|
|
9
|
-
if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');
|
|
10
|
-
return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const createTestFunctionFromValue = value => {
|
|
14
|
-
if (value.endsWith(':*')) {
|
|
15
|
-
value = value.slice(0, -2);
|
|
16
|
-
return string => string.startsWith(value);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return string => string === value;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
function createFindDebugLevel(debugValue) {
|
|
23
|
-
let isWildcard = false;
|
|
24
|
-
const debugValues = [];
|
|
25
|
-
const skips = [];
|
|
26
|
-
|
|
27
|
-
if (!Array.isArray(debugValue)) {
|
|
28
|
-
if (debugValue instanceof RegExp) {
|
|
29
|
-
debugValues.push(createTestFunctionFromRegexp(debugValue));
|
|
30
|
-
debugValue = undefined;
|
|
31
|
-
} else if (debugValue) {
|
|
32
|
-
debugValue = debugValue.trim();
|
|
33
|
-
|
|
34
|
-
if (debugValue.startsWith('/')) {
|
|
35
|
-
debugValues.push(createTestFunctionFromRegexpString(debugValue));
|
|
36
|
-
debugValue = undefined;
|
|
37
|
-
} else {
|
|
38
|
-
debugValue = debugValue.split(/[\s,]+/);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (debugValue) {
|
|
44
|
-
debugValue.forEach(value => {
|
|
45
|
-
if (specialRegexpChars.test(value)) {
|
|
46
|
-
throw new Error(`Invalid debug value: "${value}" (contains special chars)`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (!value) return;
|
|
50
|
-
|
|
51
|
-
if (value === '*') {
|
|
52
|
-
isWildcard = true;
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (value.startsWith('-')) {
|
|
57
|
-
skips.push(createTestFunctionFromValue(value.slice(1)));
|
|
58
|
-
} else if (!isWildcard) {
|
|
59
|
-
debugValues.push(createTestFunctionFromValue(value));
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (isWildcard) {
|
|
65
|
-
if (skips.length === 0) {
|
|
66
|
-
return () => Level.ALL;
|
|
67
|
-
} else {
|
|
68
|
-
return (minLevel, key) => skips.some(skip => skip(key)) ? minLevel : Level.ALL;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (debugValues.length === 0) {
|
|
73
|
-
return minLevel => minLevel;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return (minLevel, key) => {
|
|
77
|
-
if (minLevel === Level.ALL || !key) {
|
|
78
|
-
return minLevel;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (debugValues.some(debugValue => debugValue(key))) {
|
|
82
|
-
return skips.some(skip => skip(key)) ? minLevel : Level.ALL;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return minLevel;
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export default createFindDebugLevel;
|
|
90
|
-
export { createFindDebugLevel };
|
|
91
|
-
//# sourceMappingURL=index-node12-dev.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport Level from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp = (regexp: RegExp): TestFunction => (\n string: string,\n) => regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"}
|