@qqi/log 1.1.0 → 1.1.2
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/cjs/core.js +144 -0
- package/cjs/index.js +5 -181
- package/cjs/virtual-dog.js +60 -0
- package/es/core.js +142 -0
- package/es/index.js +2 -182
- package/es/src/core.d.ts +9 -0
- package/es/src/index.d.ts +12 -10
- package/es/src/virtual-dog.d.ts +16 -0
- package/es/virtual-dog.js +58 -0
- package/package.json +1 -1
package/cjs/core.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _static = require('@color-pen/static');
|
|
4
|
+
var aJsTools = require('a-js-tools');
|
|
5
|
+
var colorPen = require('color-pen');
|
|
6
|
+
var util = require('./util.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param options 配置项
|
|
11
|
+
* @returns 函数对象
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
var DogConstructor = aJsTools.createConstructor(Dog);
|
|
15
|
+
/**
|
|
16
|
+
* ## 创建 dev log 工厂函数
|
|
17
|
+
* @param options - 配置项
|
|
18
|
+
* @returns - dev log 工厂函数
|
|
19
|
+
*/
|
|
20
|
+
function Dog(options) {
|
|
21
|
+
var _this = this;
|
|
22
|
+
var _p = util.parseOption(options);
|
|
23
|
+
this.name = _p.name || aJsTools.getRandomString(12);
|
|
24
|
+
this.fold = Boolean(_p.fold);
|
|
25
|
+
var env = util.getEnv(this.name);
|
|
26
|
+
var type = _p.type || false;
|
|
27
|
+
this.mark = '';
|
|
28
|
+
/** 默认 node 环境以获取到的环境值为准,而非 node 环境默认开启,并通过自定义的 @qqi/babel-plugin-remove-dog-calls 来进行过滤正式环境(环境值需要自定义) */
|
|
29
|
+
this.type = util.platform === 'node' ? util.setType(env !== null && env !== void 0 ? env : type) : true;
|
|
30
|
+
/**
|
|
31
|
+
* ## 解析 error
|
|
32
|
+
* @param type
|
|
33
|
+
*/
|
|
34
|
+
var prefix = function (type) {
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
36
|
+
try {
|
|
37
|
+
throw new Error();
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
var parseErrorResult = (((_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\n')) || []).map(function (item) {
|
|
41
|
+
var reg = /at\s(.*)\s\((.*):(\d*):(\d*)\)/;
|
|
42
|
+
var res = reg.exec(item);
|
|
43
|
+
if (res) {
|
|
44
|
+
return {
|
|
45
|
+
name: res[1],
|
|
46
|
+
path: res[2],
|
|
47
|
+
line: res[3],
|
|
48
|
+
column: res[4],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
name: '',
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
var result = parseErrorResult.filter(function (e) { return e.name !== '' && e.path !== undefined; });
|
|
56
|
+
var res = (_d = (_c = (_b = result[3]) !== null && _b !== void 0 ? _b : result[2]) !== null && _c !== void 0 ? _c : result[1]) !== null && _d !== void 0 ? _d : result[0];
|
|
57
|
+
var startStr = " ".concat(type === 'info' ? '💡' : type === 'error' ? '❌' : '⚠️ ', " ").concat(new Date().toLocaleString(), " ");
|
|
58
|
+
var printStartPenStr = (type === 'info'
|
|
59
|
+
? colorPen.bgCyanPen.brightWhite
|
|
60
|
+
: type === 'error'
|
|
61
|
+
? colorPen.bgBlackPen.red
|
|
62
|
+
: colorPen.bgBrightYellowPen.brightGreen)(startStr);
|
|
63
|
+
var mark = (_e = res === null || res === void 0 ? void 0 : res.name) !== null && _e !== void 0 ? _e : '';
|
|
64
|
+
if (_this.fold && mark) {
|
|
65
|
+
if (mark === _this.mark) ;
|
|
66
|
+
else {
|
|
67
|
+
if (_this.mark) {
|
|
68
|
+
console.groupEnd();
|
|
69
|
+
}
|
|
70
|
+
console.groupCollapsed(mark);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
_this.mark = mark;
|
|
74
|
+
var msg = "".concat(printStartPenStr, " ").concat(mark, " ").concat((_f = res === null || res === void 0 ? void 0 : res.line) === null || _f === void 0 ? void 0 : _f.concat(' 行'), " ").concat((_g = res === null || res === void 0 ? void 0 : res.column) === null || _g === void 0 ? void 0 : _g.concat(' 列'));
|
|
75
|
+
return colorPen.colorText(msg);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
this.info = function () {
|
|
79
|
+
var arg = [];
|
|
80
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
81
|
+
arg[_i] = arguments[_i];
|
|
82
|
+
}
|
|
83
|
+
if (_this.type === 'all' || _this.type === 'info' || _this.type === true) {
|
|
84
|
+
var _prefix = prefix('info');
|
|
85
|
+
console.log.apply(console, _prefix);
|
|
86
|
+
console.log.apply(console, arg);
|
|
87
|
+
// console.log.apply(console, arg);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* @param msg
|
|
92
|
+
*/
|
|
93
|
+
this.warn = function () {
|
|
94
|
+
var msg = [];
|
|
95
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
96
|
+
msg[_i] = arguments[_i];
|
|
97
|
+
}
|
|
98
|
+
if (_this.type === 'all' || _this.type === 'warn' || _this.type === true) {
|
|
99
|
+
var _prefix = prefix('warn');
|
|
100
|
+
console.log.apply(console, _prefix);
|
|
101
|
+
console.warn.apply(console, msg);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
*
|
|
106
|
+
* @param msg
|
|
107
|
+
*/
|
|
108
|
+
this.error = function () {
|
|
109
|
+
var msg = [];
|
|
110
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
111
|
+
msg[_i] = arguments[_i];
|
|
112
|
+
}
|
|
113
|
+
if (_this.type === 'all' || _this.type === 'error' || _this.type === true) {
|
|
114
|
+
var _prefix = prefix('error');
|
|
115
|
+
console.log.apply(console, _prefix);
|
|
116
|
+
console.error.apply(console, msg);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* 本体方法
|
|
121
|
+
* @param str
|
|
122
|
+
*/
|
|
123
|
+
var dog = function () {
|
|
124
|
+
var str = [];
|
|
125
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
126
|
+
str[_i] = arguments[_i];
|
|
127
|
+
}
|
|
128
|
+
_this.info.apply(_this, str);
|
|
129
|
+
};
|
|
130
|
+
// 设置 prototype
|
|
131
|
+
Object.setPrototypeOf(dog, this);
|
|
132
|
+
return dog;
|
|
133
|
+
}
|
|
134
|
+
/** 原型上添加 clear 方法 */
|
|
135
|
+
Dog.prototype.clear = function () {
|
|
136
|
+
if (util.platform === 'browser') {
|
|
137
|
+
console.clear();
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.log(_static.esc.concat('c'));
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.Dog = DogConstructor;
|
package/cjs/index.js
CHANGED
|
@@ -1,185 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var colorPen = require('color-pen');
|
|
6
|
-
var util = require('./util.js');
|
|
3
|
+
var core = require('./core.js');
|
|
4
|
+
var virtualDog = require('./virtual-dog.js');
|
|
7
5
|
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @param options 配置项
|
|
11
|
-
* @returns 函数对象
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
var DogConstructor = aJsTools.createConstructor(Dog);
|
|
15
|
-
/**
|
|
16
|
-
* ## 创建 dev log 工厂函数
|
|
17
|
-
* @param options - 配置项
|
|
18
|
-
* @returns - dev log 工厂函数
|
|
19
|
-
*/
|
|
20
|
-
function Dog(options) {
|
|
21
|
-
var _this = this;
|
|
22
|
-
var _p = util.parseOption(options);
|
|
23
|
-
this.name = _p.name || aJsTools.getRandomString(12);
|
|
24
|
-
this.fold = Boolean(_p.fold);
|
|
25
|
-
var env = util.getEnv(this.name);
|
|
26
|
-
var type = _p.type || false;
|
|
27
|
-
this.mark = '';
|
|
28
|
-
/** 默认 node 环境以获取到的环境值为准,而非 node 环境默认开启,并通过自定义的 @qqi/babel-plugin-remove-dog-calls 来进行过滤正式环境(环境值需要自定义) */
|
|
29
|
-
this.type = util.platform === 'node' ? util.setType(env !== null && env !== void 0 ? env : type) : true;
|
|
30
|
-
/**
|
|
31
|
-
* ## 解析 error
|
|
32
|
-
* @param type
|
|
33
|
-
*/
|
|
34
|
-
var prefix = function (type) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
36
|
-
try {
|
|
37
|
-
throw new Error();
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
var parseErrorResult = (((_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\n')) || []).map(function (item) {
|
|
41
|
-
var reg = /at\s(.*)\s\((.*):(\d*):(\d*)\)/;
|
|
42
|
-
var res = reg.exec(item);
|
|
43
|
-
if (res) {
|
|
44
|
-
return {
|
|
45
|
-
name: res[1],
|
|
46
|
-
path: res[2],
|
|
47
|
-
line: res[3],
|
|
48
|
-
column: res[4],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
name: '',
|
|
53
|
-
};
|
|
54
|
-
});
|
|
55
|
-
var result = parseErrorResult.filter(function (e) { return e.name !== '' && e.path !== undefined; });
|
|
56
|
-
var res = (_d = (_c = (_b = result[3]) !== null && _b !== void 0 ? _b : result[2]) !== null && _c !== void 0 ? _c : result[1]) !== null && _d !== void 0 ? _d : result[0];
|
|
57
|
-
var startStr = " ".concat(type === 'info' ? '💡' : type === 'error' ? '❌' : '⚠️ ', " ").concat(new Date().toLocaleString(), " ");
|
|
58
|
-
var printStartPenStr = (type === 'info'
|
|
59
|
-
? colorPen.bgCyanPen.brightWhite
|
|
60
|
-
: type === 'error'
|
|
61
|
-
? colorPen.bgBlackPen.red
|
|
62
|
-
: colorPen.bgBrightYellowPen.brightGreen)(startStr);
|
|
63
|
-
var mark = (_e = res === null || res === void 0 ? void 0 : res.name) !== null && _e !== void 0 ? _e : '';
|
|
64
|
-
if (_this.fold && mark) {
|
|
65
|
-
if (mark === _this.mark) ;
|
|
66
|
-
else {
|
|
67
|
-
if (_this.mark) {
|
|
68
|
-
console.groupEnd();
|
|
69
|
-
}
|
|
70
|
-
console.groupCollapsed(mark);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
_this.mark = mark;
|
|
74
|
-
return "".concat(printStartPenStr, " ").concat(mark, " ").concat((_f = res === null || res === void 0 ? void 0 : res.line) === null || _f === void 0 ? void 0 : _f.concat(' 行'), " ").concat((_g = res === null || res === void 0 ? void 0 : res.column) === null || _g === void 0 ? void 0 : _g.concat(' 列'));
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
this.info = function () {
|
|
78
|
-
var msg = [];
|
|
79
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
80
|
-
msg[_i] = arguments[_i];
|
|
81
|
-
}
|
|
82
|
-
if (_this.type === 'all' || _this.type === 'info' || _this.type === true) {
|
|
83
|
-
var _prefix = prefix('info');
|
|
84
|
-
msg.unshift(_prefix);
|
|
85
|
-
console.log.apply(console, msg);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* @param msg
|
|
90
|
-
*/
|
|
91
|
-
this.warn = function () {
|
|
92
|
-
var msg = [];
|
|
93
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
94
|
-
msg[_i] = arguments[_i];
|
|
95
|
-
}
|
|
96
|
-
if (_this.type === 'all' || _this.type === 'warn' || _this.type === true) {
|
|
97
|
-
var _prefix = prefix('warn');
|
|
98
|
-
msg.unshift(_prefix);
|
|
99
|
-
console.warn.apply(console, msg);
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
*
|
|
104
|
-
* @param msg
|
|
105
|
-
*/
|
|
106
|
-
this.error = function () {
|
|
107
|
-
var msg = [];
|
|
108
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
109
|
-
msg[_i] = arguments[_i];
|
|
110
|
-
}
|
|
111
|
-
if (_this.type === 'all' || _this.type === 'error' || _this.type === true) {
|
|
112
|
-
var _prefix = prefix('error');
|
|
113
|
-
msg.unshift(_prefix);
|
|
114
|
-
console.error.apply(console, msg);
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
/**
|
|
118
|
-
* 本体方法
|
|
119
|
-
* @param str
|
|
120
|
-
*/
|
|
121
|
-
var dog = function () {
|
|
122
|
-
var str = [];
|
|
123
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
124
|
-
str[_i] = arguments[_i];
|
|
125
|
-
}
|
|
126
|
-
_this.info(str);
|
|
127
|
-
};
|
|
128
|
-
// 设置 prototype
|
|
129
|
-
Object.setPrototypeOf(dog, this);
|
|
130
|
-
return dog;
|
|
131
|
-
}
|
|
132
|
-
/** 原型上添加 clear 方法 */
|
|
133
|
-
Dog.prototype.clear = function () {
|
|
134
|
-
if (util.platform === 'browser') {
|
|
135
|
-
console.clear();
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
console.log(_static.esc.concat('c'));
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
*
|
|
143
|
-
*/
|
|
144
|
-
function DogVirtualImt() {
|
|
145
|
-
/**
|
|
146
|
-
* 模拟类的构建
|
|
147
|
-
* @param _arg
|
|
148
|
-
*/
|
|
149
|
-
var _dev = function () {
|
|
150
|
-
};
|
|
151
|
-
Object.setPrototypeOf(_dev, this);
|
|
152
|
-
Object.defineProperties(this, {
|
|
153
|
-
info: {
|
|
154
|
-
value: function () {
|
|
155
|
-
},
|
|
156
|
-
configurable: false,
|
|
157
|
-
writable: false,
|
|
158
|
-
},
|
|
159
|
-
warn: {
|
|
160
|
-
value: function () {
|
|
161
|
-
},
|
|
162
|
-
configurable: false,
|
|
163
|
-
writable: false,
|
|
164
|
-
},
|
|
165
|
-
error: {
|
|
166
|
-
value: function () {
|
|
167
|
-
},
|
|
168
|
-
configurable: false,
|
|
169
|
-
writable: false,
|
|
170
|
-
},
|
|
171
|
-
type: {
|
|
172
|
-
get: function () {
|
|
173
|
-
return false;
|
|
174
|
-
},
|
|
175
|
-
set: function (_) { },
|
|
176
|
-
},
|
|
177
|
-
});
|
|
178
|
-
return _dev;
|
|
179
|
-
}
|
|
180
|
-
DogVirtualImt.prototype.clear = console.clear;
|
|
181
|
-
/** 虚拟狗,没有实现不打印 */
|
|
182
|
-
var DogVirtualConstructor = aJsTools.createConstructor(DogVirtualImt);
|
|
183
6
|
|
|
184
|
-
|
|
185
|
-
exports.
|
|
7
|
+
|
|
8
|
+
exports.Dog = core.Dog;
|
|
9
|
+
exports.DogVirtual = virtualDog.DogVirtual;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var aJsTools = require('a-js-tools');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module @qqi/log/virtual-dog
|
|
8
|
+
* @file virtual-dog.ts
|
|
9
|
+
* @description _
|
|
10
|
+
* @author MrMudBean <Mr.MudBean@outlook.com>
|
|
11
|
+
* @license MIT
|
|
12
|
+
* @copyright 2026 ©️ MrMudBean
|
|
13
|
+
* @since 2026-01-28 04:52
|
|
14
|
+
* @version 1.1.0
|
|
15
|
+
* @lastModified 2026-01-28 04:53
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
function DogVirtualImt() {
|
|
21
|
+
/**
|
|
22
|
+
* 模拟类的构建
|
|
23
|
+
* @param _arg
|
|
24
|
+
*/
|
|
25
|
+
var _dev = function () {
|
|
26
|
+
};
|
|
27
|
+
Object.setPrototypeOf(_dev, this);
|
|
28
|
+
Object.defineProperties(this, {
|
|
29
|
+
info: {
|
|
30
|
+
value: function () {
|
|
31
|
+
},
|
|
32
|
+
configurable: false,
|
|
33
|
+
writable: false,
|
|
34
|
+
},
|
|
35
|
+
warn: {
|
|
36
|
+
value: function () {
|
|
37
|
+
},
|
|
38
|
+
configurable: false,
|
|
39
|
+
writable: false,
|
|
40
|
+
},
|
|
41
|
+
error: {
|
|
42
|
+
value: function () {
|
|
43
|
+
},
|
|
44
|
+
configurable: false,
|
|
45
|
+
writable: false,
|
|
46
|
+
},
|
|
47
|
+
type: {
|
|
48
|
+
get: function () {
|
|
49
|
+
return false;
|
|
50
|
+
},
|
|
51
|
+
set: function (_) { },
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return _dev;
|
|
55
|
+
}
|
|
56
|
+
DogVirtualImt.prototype.clear = console.clear;
|
|
57
|
+
/** 虚拟狗,没有实现不打印 */
|
|
58
|
+
var DogVirtualConstructor = aJsTools.createConstructor(DogVirtualImt);
|
|
59
|
+
|
|
60
|
+
exports.DogVirtual = DogVirtualConstructor;
|
package/es/core.js
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { esc } from '@color-pen/static';
|
|
2
|
+
import { createConstructor, getRandomString } from 'a-js-tools';
|
|
3
|
+
import { bgCyanPen, bgBlackPen, bgBrightYellowPen, colorText } from 'color-pen';
|
|
4
|
+
import { parseOption, getEnv, platform, setType } from './util.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param options 配置项
|
|
9
|
+
* @returns 函数对象
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
var DogConstructor = createConstructor(Dog);
|
|
13
|
+
/**
|
|
14
|
+
* ## 创建 dev log 工厂函数
|
|
15
|
+
* @param options - 配置项
|
|
16
|
+
* @returns - dev log 工厂函数
|
|
17
|
+
*/
|
|
18
|
+
function Dog(options) {
|
|
19
|
+
var _this = this;
|
|
20
|
+
var _p = parseOption(options);
|
|
21
|
+
this.name = _p.name || getRandomString(12);
|
|
22
|
+
this.fold = Boolean(_p.fold);
|
|
23
|
+
var env = getEnv(this.name);
|
|
24
|
+
var type = _p.type || false;
|
|
25
|
+
this.mark = '';
|
|
26
|
+
/** 默认 node 环境以获取到的环境值为准,而非 node 环境默认开启,并通过自定义的 @qqi/babel-plugin-remove-dog-calls 来进行过滤正式环境(环境值需要自定义) */
|
|
27
|
+
this.type = platform === 'node' ? setType(env !== null && env !== void 0 ? env : type) : true;
|
|
28
|
+
/**
|
|
29
|
+
* ## 解析 error
|
|
30
|
+
* @param type
|
|
31
|
+
*/
|
|
32
|
+
var prefix = function (type) {
|
|
33
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
34
|
+
try {
|
|
35
|
+
throw new Error();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
var parseErrorResult = (((_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\n')) || []).map(function (item) {
|
|
39
|
+
var reg = /at\s(.*)\s\((.*):(\d*):(\d*)\)/;
|
|
40
|
+
var res = reg.exec(item);
|
|
41
|
+
if (res) {
|
|
42
|
+
return {
|
|
43
|
+
name: res[1],
|
|
44
|
+
path: res[2],
|
|
45
|
+
line: res[3],
|
|
46
|
+
column: res[4],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
name: '',
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
var result = parseErrorResult.filter(function (e) { return e.name !== '' && e.path !== undefined; });
|
|
54
|
+
var res = (_d = (_c = (_b = result[3]) !== null && _b !== void 0 ? _b : result[2]) !== null && _c !== void 0 ? _c : result[1]) !== null && _d !== void 0 ? _d : result[0];
|
|
55
|
+
var startStr = " ".concat(type === 'info' ? '💡' : type === 'error' ? '❌' : '⚠️ ', " ").concat(new Date().toLocaleString(), " ");
|
|
56
|
+
var printStartPenStr = (type === 'info'
|
|
57
|
+
? bgCyanPen.brightWhite
|
|
58
|
+
: type === 'error'
|
|
59
|
+
? bgBlackPen.red
|
|
60
|
+
: bgBrightYellowPen.brightGreen)(startStr);
|
|
61
|
+
var mark = (_e = res === null || res === void 0 ? void 0 : res.name) !== null && _e !== void 0 ? _e : '';
|
|
62
|
+
if (_this.fold && mark) {
|
|
63
|
+
if (mark === _this.mark) ;
|
|
64
|
+
else {
|
|
65
|
+
if (_this.mark) {
|
|
66
|
+
console.groupEnd();
|
|
67
|
+
}
|
|
68
|
+
console.groupCollapsed(mark);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_this.mark = mark;
|
|
72
|
+
var msg = "".concat(printStartPenStr, " ").concat(mark, " ").concat((_f = res === null || res === void 0 ? void 0 : res.line) === null || _f === void 0 ? void 0 : _f.concat(' 行'), " ").concat((_g = res === null || res === void 0 ? void 0 : res.column) === null || _g === void 0 ? void 0 : _g.concat(' 列'));
|
|
73
|
+
return colorText(msg);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
this.info = function () {
|
|
77
|
+
var arg = [];
|
|
78
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
79
|
+
arg[_i] = arguments[_i];
|
|
80
|
+
}
|
|
81
|
+
if (_this.type === 'all' || _this.type === 'info' || _this.type === true) {
|
|
82
|
+
var _prefix = prefix('info');
|
|
83
|
+
console.log.apply(console, _prefix);
|
|
84
|
+
console.log.apply(console, arg);
|
|
85
|
+
// console.log.apply(console, arg);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* @param msg
|
|
90
|
+
*/
|
|
91
|
+
this.warn = function () {
|
|
92
|
+
var msg = [];
|
|
93
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
94
|
+
msg[_i] = arguments[_i];
|
|
95
|
+
}
|
|
96
|
+
if (_this.type === 'all' || _this.type === 'warn' || _this.type === true) {
|
|
97
|
+
var _prefix = prefix('warn');
|
|
98
|
+
console.log.apply(console, _prefix);
|
|
99
|
+
console.warn.apply(console, msg);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @param msg
|
|
105
|
+
*/
|
|
106
|
+
this.error = function () {
|
|
107
|
+
var msg = [];
|
|
108
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
109
|
+
msg[_i] = arguments[_i];
|
|
110
|
+
}
|
|
111
|
+
if (_this.type === 'all' || _this.type === 'error' || _this.type === true) {
|
|
112
|
+
var _prefix = prefix('error');
|
|
113
|
+
console.log.apply(console, _prefix);
|
|
114
|
+
console.error.apply(console, msg);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* 本体方法
|
|
119
|
+
* @param str
|
|
120
|
+
*/
|
|
121
|
+
var dog = function () {
|
|
122
|
+
var str = [];
|
|
123
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
124
|
+
str[_i] = arguments[_i];
|
|
125
|
+
}
|
|
126
|
+
_this.info.apply(_this, str);
|
|
127
|
+
};
|
|
128
|
+
// 设置 prototype
|
|
129
|
+
Object.setPrototypeOf(dog, this);
|
|
130
|
+
return dog;
|
|
131
|
+
}
|
|
132
|
+
/** 原型上添加 clear 方法 */
|
|
133
|
+
Dog.prototype.clear = function () {
|
|
134
|
+
if (platform === 'browser') {
|
|
135
|
+
console.clear();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
console.log(esc.concat('c'));
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export { DogConstructor as Dog };
|
package/es/index.js
CHANGED
|
@@ -1,182 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { bgCyanPen, bgBlackPen, bgBrightYellowPen } from 'color-pen';
|
|
4
|
-
import { parseOption, getEnv, platform, setType } from './util.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* @param options 配置项
|
|
9
|
-
* @returns 函数对象
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
var DogConstructor = createConstructor(Dog);
|
|
13
|
-
/**
|
|
14
|
-
* ## 创建 dev log 工厂函数
|
|
15
|
-
* @param options - 配置项
|
|
16
|
-
* @returns - dev log 工厂函数
|
|
17
|
-
*/
|
|
18
|
-
function Dog(options) {
|
|
19
|
-
var _this = this;
|
|
20
|
-
var _p = parseOption(options);
|
|
21
|
-
this.name = _p.name || getRandomString(12);
|
|
22
|
-
this.fold = Boolean(_p.fold);
|
|
23
|
-
var env = getEnv(this.name);
|
|
24
|
-
var type = _p.type || false;
|
|
25
|
-
this.mark = '';
|
|
26
|
-
/** 默认 node 环境以获取到的环境值为准,而非 node 环境默认开启,并通过自定义的 @qqi/babel-plugin-remove-dog-calls 来进行过滤正式环境(环境值需要自定义) */
|
|
27
|
-
this.type = platform === 'node' ? setType(env !== null && env !== void 0 ? env : type) : true;
|
|
28
|
-
/**
|
|
29
|
-
* ## 解析 error
|
|
30
|
-
* @param type
|
|
31
|
-
*/
|
|
32
|
-
var prefix = function (type) {
|
|
33
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
34
|
-
try {
|
|
35
|
-
throw new Error();
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
var parseErrorResult = (((_a = error.stack) === null || _a === void 0 ? void 0 : _a.split('\n')) || []).map(function (item) {
|
|
39
|
-
var reg = /at\s(.*)\s\((.*):(\d*):(\d*)\)/;
|
|
40
|
-
var res = reg.exec(item);
|
|
41
|
-
if (res) {
|
|
42
|
-
return {
|
|
43
|
-
name: res[1],
|
|
44
|
-
path: res[2],
|
|
45
|
-
line: res[3],
|
|
46
|
-
column: res[4],
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
name: '',
|
|
51
|
-
};
|
|
52
|
-
});
|
|
53
|
-
var result = parseErrorResult.filter(function (e) { return e.name !== '' && e.path !== undefined; });
|
|
54
|
-
var res = (_d = (_c = (_b = result[3]) !== null && _b !== void 0 ? _b : result[2]) !== null && _c !== void 0 ? _c : result[1]) !== null && _d !== void 0 ? _d : result[0];
|
|
55
|
-
var startStr = " ".concat(type === 'info' ? '💡' : type === 'error' ? '❌' : '⚠️ ', " ").concat(new Date().toLocaleString(), " ");
|
|
56
|
-
var printStartPenStr = (type === 'info'
|
|
57
|
-
? bgCyanPen.brightWhite
|
|
58
|
-
: type === 'error'
|
|
59
|
-
? bgBlackPen.red
|
|
60
|
-
: bgBrightYellowPen.brightGreen)(startStr);
|
|
61
|
-
var mark = (_e = res === null || res === void 0 ? void 0 : res.name) !== null && _e !== void 0 ? _e : '';
|
|
62
|
-
if (_this.fold && mark) {
|
|
63
|
-
if (mark === _this.mark) ;
|
|
64
|
-
else {
|
|
65
|
-
if (_this.mark) {
|
|
66
|
-
console.groupEnd();
|
|
67
|
-
}
|
|
68
|
-
console.groupCollapsed(mark);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
_this.mark = mark;
|
|
72
|
-
return "".concat(printStartPenStr, " ").concat(mark, " ").concat((_f = res === null || res === void 0 ? void 0 : res.line) === null || _f === void 0 ? void 0 : _f.concat(' 行'), " ").concat((_g = res === null || res === void 0 ? void 0 : res.column) === null || _g === void 0 ? void 0 : _g.concat(' 列'));
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
this.info = function () {
|
|
76
|
-
var msg = [];
|
|
77
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
78
|
-
msg[_i] = arguments[_i];
|
|
79
|
-
}
|
|
80
|
-
if (_this.type === 'all' || _this.type === 'info' || _this.type === true) {
|
|
81
|
-
var _prefix = prefix('info');
|
|
82
|
-
msg.unshift(_prefix);
|
|
83
|
-
console.log.apply(console, msg);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* @param msg
|
|
88
|
-
*/
|
|
89
|
-
this.warn = function () {
|
|
90
|
-
var msg = [];
|
|
91
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
92
|
-
msg[_i] = arguments[_i];
|
|
93
|
-
}
|
|
94
|
-
if (_this.type === 'all' || _this.type === 'warn' || _this.type === true) {
|
|
95
|
-
var _prefix = prefix('warn');
|
|
96
|
-
msg.unshift(_prefix);
|
|
97
|
-
console.warn.apply(console, msg);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
*
|
|
102
|
-
* @param msg
|
|
103
|
-
*/
|
|
104
|
-
this.error = function () {
|
|
105
|
-
var msg = [];
|
|
106
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
107
|
-
msg[_i] = arguments[_i];
|
|
108
|
-
}
|
|
109
|
-
if (_this.type === 'all' || _this.type === 'error' || _this.type === true) {
|
|
110
|
-
var _prefix = prefix('error');
|
|
111
|
-
msg.unshift(_prefix);
|
|
112
|
-
console.error.apply(console, msg);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* 本体方法
|
|
117
|
-
* @param str
|
|
118
|
-
*/
|
|
119
|
-
var dog = function () {
|
|
120
|
-
var str = [];
|
|
121
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
122
|
-
str[_i] = arguments[_i];
|
|
123
|
-
}
|
|
124
|
-
_this.info(str);
|
|
125
|
-
};
|
|
126
|
-
// 设置 prototype
|
|
127
|
-
Object.setPrototypeOf(dog, this);
|
|
128
|
-
return dog;
|
|
129
|
-
}
|
|
130
|
-
/** 原型上添加 clear 方法 */
|
|
131
|
-
Dog.prototype.clear = function () {
|
|
132
|
-
if (platform === 'browser') {
|
|
133
|
-
console.clear();
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
console.log(esc.concat('c'));
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
*
|
|
141
|
-
*/
|
|
142
|
-
function DogVirtualImt() {
|
|
143
|
-
/**
|
|
144
|
-
* 模拟类的构建
|
|
145
|
-
* @param _arg
|
|
146
|
-
*/
|
|
147
|
-
var _dev = function () {
|
|
148
|
-
};
|
|
149
|
-
Object.setPrototypeOf(_dev, this);
|
|
150
|
-
Object.defineProperties(this, {
|
|
151
|
-
info: {
|
|
152
|
-
value: function () {
|
|
153
|
-
},
|
|
154
|
-
configurable: false,
|
|
155
|
-
writable: false,
|
|
156
|
-
},
|
|
157
|
-
warn: {
|
|
158
|
-
value: function () {
|
|
159
|
-
},
|
|
160
|
-
configurable: false,
|
|
161
|
-
writable: false,
|
|
162
|
-
},
|
|
163
|
-
error: {
|
|
164
|
-
value: function () {
|
|
165
|
-
},
|
|
166
|
-
configurable: false,
|
|
167
|
-
writable: false,
|
|
168
|
-
},
|
|
169
|
-
type: {
|
|
170
|
-
get: function () {
|
|
171
|
-
return false;
|
|
172
|
-
},
|
|
173
|
-
set: function (_) { },
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
return _dev;
|
|
177
|
-
}
|
|
178
|
-
DogVirtualImt.prototype.clear = console.clear;
|
|
179
|
-
/** 虚拟狗,没有实现不打印 */
|
|
180
|
-
var DogVirtualConstructor = createConstructor(DogVirtualImt);
|
|
181
|
-
|
|
182
|
-
export { DogConstructor as Dog, DogVirtualConstructor as DogVirtual };
|
|
1
|
+
export { Dog } from './core.js';
|
|
2
|
+
export { DogVirtual } from './virtual-dog.js';
|
package/es/src/core.d.ts
ADDED
package/es/src/index.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { DevLog, DogOptions } from './type';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module @qqi/log/index
|
|
4
|
+
* @file index.ts
|
|
5
|
+
* @description _
|
|
6
|
+
* @author MrMudBean <Mr.MudBean@outlook.com>
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @copyright 2026 ©️ MrMudBean
|
|
9
|
+
* @since 2026-01-28 04:52
|
|
10
|
+
* @version 1.1.0
|
|
11
|
+
* @lastModified 2026-01-28 04:53
|
|
7
12
|
*/
|
|
8
|
-
|
|
9
|
-
export {
|
|
13
|
+
export { Dog } from './core';
|
|
14
|
+
export { DogVirtual } from './virtual-dog';
|
|
10
15
|
export type { DevLogType, DevLog } from './type';
|
|
11
|
-
/** 虚拟狗,没有实现不打印 */
|
|
12
|
-
declare const DogVirtualConstructor: import("a-js-tools").CreateConstructor<DevLog, []>;
|
|
13
|
-
export { DogVirtualConstructor as DogVirtual };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module @qqi/log/virtual-dog
|
|
4
|
+
* @file virtual-dog.ts
|
|
5
|
+
* @description _
|
|
6
|
+
* @author MrMudBean <Mr.MudBean@outlook.com>
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @copyright 2026 ©️ MrMudBean
|
|
9
|
+
* @since 2026-01-28 04:52
|
|
10
|
+
* @version 1.1.0
|
|
11
|
+
* @lastModified 2026-01-28 04:53
|
|
12
|
+
*/
|
|
13
|
+
import { DevLog } from './type';
|
|
14
|
+
/** 虚拟狗,没有实现不打印 */
|
|
15
|
+
declare const DogVirtualConstructor: import("a-js-tools").CreateConstructor<DevLog, []>;
|
|
16
|
+
export { DogVirtualConstructor as DogVirtual };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createConstructor } from 'a-js-tools';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
* @module @qqi/log/virtual-dog
|
|
6
|
+
* @file virtual-dog.ts
|
|
7
|
+
* @description _
|
|
8
|
+
* @author MrMudBean <Mr.MudBean@outlook.com>
|
|
9
|
+
* @license MIT
|
|
10
|
+
* @copyright 2026 ©️ MrMudBean
|
|
11
|
+
* @since 2026-01-28 04:52
|
|
12
|
+
* @version 1.1.0
|
|
13
|
+
* @lastModified 2026-01-28 04:53
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
function DogVirtualImt() {
|
|
19
|
+
/**
|
|
20
|
+
* 模拟类的构建
|
|
21
|
+
* @param _arg
|
|
22
|
+
*/
|
|
23
|
+
var _dev = function () {
|
|
24
|
+
};
|
|
25
|
+
Object.setPrototypeOf(_dev, this);
|
|
26
|
+
Object.defineProperties(this, {
|
|
27
|
+
info: {
|
|
28
|
+
value: function () {
|
|
29
|
+
},
|
|
30
|
+
configurable: false,
|
|
31
|
+
writable: false,
|
|
32
|
+
},
|
|
33
|
+
warn: {
|
|
34
|
+
value: function () {
|
|
35
|
+
},
|
|
36
|
+
configurable: false,
|
|
37
|
+
writable: false,
|
|
38
|
+
},
|
|
39
|
+
error: {
|
|
40
|
+
value: function () {
|
|
41
|
+
},
|
|
42
|
+
configurable: false,
|
|
43
|
+
writable: false,
|
|
44
|
+
},
|
|
45
|
+
type: {
|
|
46
|
+
get: function () {
|
|
47
|
+
return false;
|
|
48
|
+
},
|
|
49
|
+
set: function (_) { },
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
return _dev;
|
|
53
|
+
}
|
|
54
|
+
DogVirtualImt.prototype.clear = console.clear;
|
|
55
|
+
/** 虚拟狗,没有实现不打印 */
|
|
56
|
+
var DogVirtualConstructor = createConstructor(DogVirtualImt);
|
|
57
|
+
|
|
58
|
+
export { DogVirtualConstructor as DogVirtual };
|