@duckbug/js 0.1.0 → 0.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/README.md +195 -30
- package/dist/cjs/DuckBug/DuckBugConfig.cjs +18 -0
- package/dist/cjs/DuckBug/DuckBugProvider.cjs +88 -0
- package/dist/cjs/DuckBug/DuckBugService.cjs +59 -0
- package/dist/cjs/DuckBug/Log.cjs +18 -0
- package/dist/cjs/DuckBug/index.cjs +36 -0
- package/dist/cjs/SDK/DuckSDK.cjs +62 -0
- package/dist/cjs/SDK/LogLevel.cjs +42 -0
- package/dist/cjs/SDK/LogProvider.cjs +89 -0
- package/dist/cjs/SDK/LogProviderConfig.cjs +18 -0
- package/dist/cjs/SDK/Provider.cjs +18 -0
- package/dist/cjs/SDK/index.cjs +44 -0
- package/dist/cjs/index.cjs +69 -0
- package/dist/esm/DuckBug/DuckBugConfig.js +0 -0
- package/dist/esm/DuckBug/DuckBugProvider.js +32 -34
- package/dist/esm/DuckBug/DuckBugService.js +25 -0
- package/dist/esm/DuckBug/Log.js +0 -0
- package/dist/esm/DuckBug/index.js +2 -0
- package/dist/esm/SDK/DuckSDK.js +16 -11
- package/dist/esm/{Log → SDK}/LogLevel.js +3 -1
- package/dist/esm/SDK/LogProvider.js +55 -0
- package/dist/esm/SDK/LogProviderConfig.js +0 -0
- package/dist/esm/SDK/Provider.js +0 -0
- package/dist/esm/SDK/index.js +4 -1
- package/dist/esm/index.js +2 -3
- package/dist/types/DuckBug/DuckBugConfig.d.ts +3 -0
- package/dist/types/DuckBug/DuckBugProvider.d.ts +14 -0
- package/dist/types/DuckBug/DuckBugService.d.ts +12 -0
- package/dist/{cjs/Log → types/DuckBug}/Log.d.ts +1 -1
- package/dist/types/DuckBug/index.d.ts +2 -0
- package/dist/{esm → types}/SDK/DuckSDK.d.ts +5 -3
- package/dist/types/SDK/LogLevel.d.ts +2 -0
- package/dist/types/SDK/LogProvider.d.ts +13 -0
- package/dist/{esm/Provider → types/SDK}/Provider.d.ts +2 -1
- package/dist/{cjs/Log → types/SDK}/index.d.ts +2 -1
- package/dist/types/index.d.ts +2 -0
- package/package.json +27 -11
- package/dist/cjs/DuckBug/DuckBugProvider.d.ts +0 -11
- package/dist/cjs/DuckBug/DuckBugProvider.js +0 -71
- package/dist/cjs/Log/Log.js +0 -2
- package/dist/cjs/Log/LogLevel.d.ts +0 -2
- package/dist/cjs/Log/LogLevel.js +0 -9
- package/dist/cjs/Log/LogProvider.d.ts +0 -6
- package/dist/cjs/Log/LogProvider.js +0 -73
- package/dist/cjs/Log/LogProviderConfig.js +0 -2
- package/dist/cjs/Log/index.js +0 -7
- package/dist/cjs/Provider/Provider.d.ts +0 -7
- package/dist/cjs/Provider/Provider.js +0 -2
- package/dist/cjs/Provider/index.d.ts +0 -1
- package/dist/cjs/Provider/index.js +0 -2
- package/dist/cjs/SDK/DuckConfig.d.ts +0 -3
- package/dist/cjs/SDK/DuckConfig.js +0 -2
- package/dist/cjs/SDK/DuckSDK.d.ts +0 -10
- package/dist/cjs/SDK/DuckSDK.js +0 -40
- package/dist/cjs/SDK/index.d.ts +0 -2
- package/dist/cjs/SDK/index.js +0 -5
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/index.js +0 -22
- package/dist/esm/DuckBug/DuckBugProvider.d.ts +0 -11
- package/dist/esm/Log/Log.d.ts +0 -7
- package/dist/esm/Log/Log.js +0 -1
- package/dist/esm/Log/LogLevel.d.ts +0 -2
- package/dist/esm/Log/LogProvider.d.ts +0 -6
- package/dist/esm/Log/LogProvider.js +0 -60
- package/dist/esm/Log/LogProviderConfig.d.ts +0 -7
- package/dist/esm/Log/LogProviderConfig.js +0 -1
- package/dist/esm/Log/index.d.ts +0 -5
- package/dist/esm/Log/index.js +0 -2
- package/dist/esm/Provider/Provider.js +0 -1
- package/dist/esm/Provider/index.d.ts +0 -1
- package/dist/esm/Provider/index.js +0 -1
- package/dist/esm/SDK/DuckConfig.d.ts +0 -3
- package/dist/esm/SDK/DuckConfig.js +0 -1
- package/dist/esm/SDK/index.d.ts +0 -2
- package/dist/esm/index.d.ts +0 -5
- /package/dist/{cjs/Log → types/SDK}/LogProviderConfig.d.ts +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.r = (exports1)=>{
|
|
5
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
6
|
+
value: 'Module'
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
})();
|
|
13
|
+
var __webpack_exports__ = {};
|
|
14
|
+
__webpack_require__.r(__webpack_exports__);
|
|
15
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
16
|
+
Object.defineProperty(exports, '__esModule', {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
LogProvider: ()=>external_LogProvider_cjs_namespaceObject.LogProvider,
|
|
28
|
+
logLevel: ()=>external_LogLevel_cjs_namespaceObject.logLevel,
|
|
29
|
+
DuckSDK: ()=>external_DuckSDK_cjs_namespaceObject.DuckSDK
|
|
30
|
+
});
|
|
31
|
+
const external_DuckSDK_cjs_namespaceObject = require("./DuckSDK.cjs");
|
|
32
|
+
const external_LogLevel_cjs_namespaceObject = require("./LogLevel.cjs");
|
|
33
|
+
const external_LogProvider_cjs_namespaceObject = require("./LogProvider.cjs");
|
|
34
|
+
exports.DuckSDK = __webpack_exports__.DuckSDK;
|
|
35
|
+
exports.LogProvider = __webpack_exports__.LogProvider;
|
|
36
|
+
exports.logLevel = __webpack_exports__.logLevel;
|
|
37
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
38
|
+
"DuckSDK",
|
|
39
|
+
"LogProvider",
|
|
40
|
+
"logLevel"
|
|
41
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
42
|
+
Object.defineProperty(exports, '__esModule', {
|
|
43
|
+
value: true
|
|
44
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_modules__ = {
|
|
3
|
+
"./DuckBug": function(module) {
|
|
4
|
+
module.exports = require("./DuckBug/index.cjs");
|
|
5
|
+
},
|
|
6
|
+
"./SDK": function(module) {
|
|
7
|
+
module.exports = require("./SDK/index.cjs");
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var __webpack_module_cache__ = {};
|
|
11
|
+
function __webpack_require__(moduleId) {
|
|
12
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
13
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
14
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
15
|
+
exports: {}
|
|
16
|
+
};
|
|
17
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
18
|
+
return module.exports;
|
|
19
|
+
}
|
|
20
|
+
(()=>{
|
|
21
|
+
__webpack_require__.n = (module)=>{
|
|
22
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
23
|
+
__webpack_require__.d(getter, {
|
|
24
|
+
a: getter
|
|
25
|
+
});
|
|
26
|
+
return getter;
|
|
27
|
+
};
|
|
28
|
+
})();
|
|
29
|
+
(()=>{
|
|
30
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
31
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: definition[key]
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
(()=>{
|
|
38
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
39
|
+
})();
|
|
40
|
+
(()=>{
|
|
41
|
+
__webpack_require__.r = (exports1)=>{
|
|
42
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
43
|
+
value: 'Module'
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
46
|
+
value: true
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
var __webpack_exports__ = {};
|
|
51
|
+
(()=>{
|
|
52
|
+
__webpack_require__.r(__webpack_exports__);
|
|
53
|
+
var _DuckBug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./DuckBug");
|
|
54
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
55
|
+
for(var __WEBPACK_IMPORT_KEY__ in _DuckBug__WEBPACK_IMPORTED_MODULE_0__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
56
|
+
return _DuckBug__WEBPACK_IMPORTED_MODULE_0__[key];
|
|
57
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
58
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
59
|
+
var _SDK__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./SDK");
|
|
60
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
61
|
+
for(var __WEBPACK_IMPORT_KEY__ in _SDK__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
62
|
+
return _SDK__WEBPACK_IMPORTED_MODULE_1__[key];
|
|
63
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
64
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
65
|
+
})();
|
|
66
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
67
|
+
Object.defineProperty(exports, '__esModule', {
|
|
68
|
+
value: true
|
|
69
|
+
});
|
|
File without changes
|
|
@@ -1,56 +1,54 @@
|
|
|
1
|
-
import { logLevel } from "../
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { logLevel } from "../SDK/index.js";
|
|
2
|
+
import { DuckBugService } from "./DuckBugService.js";
|
|
3
|
+
class DuckBugProvider {
|
|
4
|
+
service;
|
|
5
|
+
constructor(config){
|
|
6
|
+
this.service = new DuckBugService(config);
|
|
6
7
|
}
|
|
7
8
|
warn(...args) {
|
|
8
|
-
this
|
|
9
|
-
time: this
|
|
9
|
+
this.service.sendLog({
|
|
10
|
+
time: this.getTimeStamp(),
|
|
10
11
|
level: logLevel.WARN,
|
|
11
|
-
message: this
|
|
12
|
-
context: this
|
|
12
|
+
message: this.convertArgsToString(args[0]),
|
|
13
|
+
context: this.convertArgsToString(args.slice(1))
|
|
13
14
|
});
|
|
14
15
|
}
|
|
15
16
|
error(...args) {
|
|
16
|
-
this
|
|
17
|
-
time: this
|
|
17
|
+
this.service.sendLog({
|
|
18
|
+
time: this.getTimeStamp(),
|
|
18
19
|
level: logLevel.ERROR,
|
|
19
|
-
message: this
|
|
20
|
-
context: this
|
|
20
|
+
message: this.convertArgsToString(args[0]),
|
|
21
|
+
context: this.convertArgsToString(args.slice(1))
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
24
|
log(...args) {
|
|
24
|
-
this
|
|
25
|
-
time: this
|
|
25
|
+
this.service.sendLog({
|
|
26
|
+
time: this.getTimeStamp(),
|
|
26
27
|
level: logLevel.INFO,
|
|
27
|
-
message: this
|
|
28
|
-
context: this
|
|
28
|
+
message: this.convertArgsToString(args[0]),
|
|
29
|
+
context: this.convertArgsToString(args.slice(1))
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
report(tag, level, payload) {
|
|
32
|
-
this
|
|
33
|
-
time: this
|
|
33
|
+
this.service.sendLog({
|
|
34
|
+
time: this.getTimeStamp(),
|
|
34
35
|
level,
|
|
35
36
|
message: tag,
|
|
36
|
-
context: JSON.stringify(payload)
|
|
37
|
+
context: JSON.stringify(payload)
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
quack(tag, error) {
|
|
41
|
+
this.service.sendError({
|
|
42
|
+
stack: error.stack,
|
|
43
|
+
message: tag,
|
|
44
|
+
context: error.message
|
|
45
|
+
});
|
|
43
46
|
}
|
|
44
|
-
|
|
45
|
-
return
|
|
47
|
+
convertArgsToString(...args) {
|
|
48
|
+
return args.map((arg)=>"object" == typeof arg ? JSON.stringify(arg) : String(arg)).join(" ");
|
|
46
49
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
method: "POST",
|
|
50
|
-
headers: {
|
|
51
|
-
"Content-Type": "application/json",
|
|
52
|
-
},
|
|
53
|
-
body: JSON.stringify(logInfo),
|
|
54
|
-
});
|
|
50
|
+
getTimeStamp() {
|
|
51
|
+
return Date.now();
|
|
55
52
|
}
|
|
56
53
|
}
|
|
54
|
+
export { DuckBugProvider };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class DuckBugService {
|
|
2
|
+
config;
|
|
3
|
+
constructor(config){
|
|
4
|
+
this.config = config;
|
|
5
|
+
}
|
|
6
|
+
sendLog(logInfo) {
|
|
7
|
+
fetch(`${this.config.dsn}/logs`, {
|
|
8
|
+
method: "POST",
|
|
9
|
+
headers: {
|
|
10
|
+
"Content-Type": "application/json"
|
|
11
|
+
},
|
|
12
|
+
body: JSON.stringify(logInfo)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
sendError(errorInfo) {
|
|
16
|
+
fetch(`${this.config.dsn}/errors`, {
|
|
17
|
+
method: "POST",
|
|
18
|
+
headers: {
|
|
19
|
+
"Content-Type": "application/json"
|
|
20
|
+
},
|
|
21
|
+
body: JSON.stringify(errorInfo)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export { DuckBugService };
|
|
File without changes
|
package/dist/esm/SDK/DuckSDK.js
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import { LogProvider, logLevel } from "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(providers, logProviderConfig)
|
|
5
|
-
this
|
|
1
|
+
import { LogProvider, logLevel } from "./index.js";
|
|
2
|
+
class DuckSDK {
|
|
3
|
+
providers;
|
|
4
|
+
constructor(providers, logProviderConfig){
|
|
5
|
+
this.providers = providers;
|
|
6
6
|
new LogProvider(providers, logProviderConfig);
|
|
7
7
|
}
|
|
8
8
|
log(tag, payload) {
|
|
9
|
-
this
|
|
9
|
+
this.sendReportToPlugins(tag, logLevel.DEBUG, payload);
|
|
10
10
|
}
|
|
11
11
|
error(tag, payload) {
|
|
12
|
-
this
|
|
12
|
+
this.sendReportToPlugins(tag, logLevel.DEBUG, payload);
|
|
13
13
|
}
|
|
14
14
|
debug(tag, payload) {
|
|
15
|
-
this
|
|
15
|
+
this.sendReportToPlugins(tag, logLevel.DEBUG, payload);
|
|
16
16
|
}
|
|
17
17
|
warn(tag, payload) {
|
|
18
|
-
this
|
|
18
|
+
this.sendReportToPlugins(tag, logLevel.WARN, payload);
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
this
|
|
20
|
+
fatal(tag, payload) {
|
|
21
|
+
this.sendReportToPlugins(tag, logLevel.FATAL, payload);
|
|
22
|
+
}
|
|
23
|
+
quack() {}
|
|
24
|
+
sendReportToPlugins(tag, level, payload) {
|
|
25
|
+
this.providers.forEach((plugin)=>plugin.report(tag, level, payload));
|
|
22
26
|
}
|
|
23
27
|
}
|
|
28
|
+
export { DuckSDK };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
class LogProvider {
|
|
2
|
+
originalConsole = {
|
|
3
|
+
log: console.log,
|
|
4
|
+
error: console.error,
|
|
5
|
+
warn: console.warn
|
|
6
|
+
};
|
|
7
|
+
providers;
|
|
8
|
+
logProviderConfig = {
|
|
9
|
+
logReports: {
|
|
10
|
+
log: false,
|
|
11
|
+
warn: true,
|
|
12
|
+
error: true
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
constructor(providers, logProviderConfig){
|
|
16
|
+
if (logProviderConfig) this.logProviderConfig = logProviderConfig;
|
|
17
|
+
this.providers = providers;
|
|
18
|
+
this.initialize();
|
|
19
|
+
}
|
|
20
|
+
initialize() {
|
|
21
|
+
if (this.logProviderConfig.logReports.log) this.overrideLog();
|
|
22
|
+
if (this.logProviderConfig.logReports.warn) this.overrideWarn();
|
|
23
|
+
if (this.logProviderConfig.logReports.error) this.overrideError();
|
|
24
|
+
}
|
|
25
|
+
overrideError() {
|
|
26
|
+
console.error = (...args)=>{
|
|
27
|
+
this.originalConsole.error.apply(console, args);
|
|
28
|
+
this.callPlugins((plugin)=>{
|
|
29
|
+
plugin.error(args);
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
overrideLog() {
|
|
34
|
+
console.log = (...args)=>{
|
|
35
|
+
this.originalConsole.log.apply(console, args);
|
|
36
|
+
this.callPlugins((plugin)=>{
|
|
37
|
+
plugin.log(args);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
overrideWarn() {
|
|
42
|
+
console.warn = (...args)=>{
|
|
43
|
+
this.originalConsole.warn.apply(console, args);
|
|
44
|
+
this.callPlugins((plugin)=>{
|
|
45
|
+
plugin.warn(args);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
callPlugins(callback) {
|
|
50
|
+
this.providers.forEach((plugin)=>{
|
|
51
|
+
callback(plugin);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export { LogProvider };
|
|
File without changes
|
|
File without changes
|
package/dist/esm/SDK/index.js
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from "./
|
|
3
|
-
export { DuckSDK } from "./SDK";
|
|
1
|
+
export * from "./DuckBug/index.js";
|
|
2
|
+
export * from "./SDK/index.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type LogLevel, type Provider } from "../SDK";
|
|
2
|
+
import type { DuckBugConfig } from "./DuckBugConfig";
|
|
3
|
+
import { DuckBugService } from "./DuckBugService";
|
|
4
|
+
export declare class DuckBugProvider implements Provider {
|
|
5
|
+
service: DuckBugService;
|
|
6
|
+
constructor(config: DuckBugConfig);
|
|
7
|
+
warn(...args: unknown[]): void;
|
|
8
|
+
error(...args: unknown[]): void;
|
|
9
|
+
log(...args: unknown[]): void;
|
|
10
|
+
report(tag: string, level: LogLevel, payload?: object): void;
|
|
11
|
+
quack(tag: string, error: Error): void;
|
|
12
|
+
private convertArgsToString;
|
|
13
|
+
private getTimeStamp;
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DuckBugConfig } from "./DuckBugConfig";
|
|
2
|
+
import type { Log } from "./Log";
|
|
3
|
+
export declare class DuckBugService {
|
|
4
|
+
private config;
|
|
5
|
+
constructor(config: DuckBugConfig);
|
|
6
|
+
sendLog(logInfo: Log): void;
|
|
7
|
+
sendError(errorInfo: {
|
|
8
|
+
message: string;
|
|
9
|
+
stack?: string;
|
|
10
|
+
context: string;
|
|
11
|
+
}): void;
|
|
12
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { LogProviderConfig } from "
|
|
2
|
-
import type { Provider } from "../Provider";
|
|
1
|
+
import type { LogProviderConfig, Provider } from ".";
|
|
3
2
|
export declare class DuckSDK {
|
|
4
|
-
|
|
3
|
+
private providers;
|
|
5
4
|
constructor(providers: Array<Provider>, logProviderConfig?: LogProviderConfig);
|
|
6
5
|
log(tag: string, payload?: object): void;
|
|
7
6
|
error(tag: string, payload?: object): void;
|
|
8
7
|
debug(tag: string, payload?: object): void;
|
|
9
8
|
warn(tag: string, payload?: object): void;
|
|
9
|
+
fatal(tag: string, payload?: object): void;
|
|
10
|
+
quack(): void;
|
|
11
|
+
private sendReportToPlugins;
|
|
10
12
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LogProviderConfig } from "./LogProviderConfig";
|
|
2
|
+
import type { Provider } from "./Provider";
|
|
3
|
+
export declare class LogProvider {
|
|
4
|
+
private originalConsole;
|
|
5
|
+
private providers;
|
|
6
|
+
private logProviderConfig;
|
|
7
|
+
constructor(providers: Array<Provider>, logProviderConfig?: LogProviderConfig);
|
|
8
|
+
initialize(): void;
|
|
9
|
+
private overrideError;
|
|
10
|
+
private overrideLog;
|
|
11
|
+
private overrideWarn;
|
|
12
|
+
private callPlugins;
|
|
13
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { LogLevel } from "
|
|
1
|
+
import type { LogLevel } from "./LogLevel";
|
|
2
2
|
export interface Provider {
|
|
3
3
|
log(...args: unknown[]): void;
|
|
4
4
|
warn(...args: unknown[]): void;
|
|
5
5
|
error(...args: unknown[]): void;
|
|
6
6
|
report(tag: string, level: LogLevel, payload?: object): void;
|
|
7
|
+
quack(tag: string, error: Error): void;
|
|
7
8
|
}
|
package/package.json
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duckbug/js",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"private": false,
|
|
3
|
+
"version": "0.1.2",
|
|
5
4
|
"type": "module",
|
|
6
|
-
"main": "dist/cjs/index.
|
|
7
|
-
"module": "dist/esm/index.js",
|
|
5
|
+
"main": "./dist/cjs/index.cjs",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"require": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"default": "./dist/cjs/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./dist/types/index.d.ts",
|
|
16
|
+
"default": "./dist/esm/index.js"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
8
20
|
"files": [
|
|
9
21
|
"dist",
|
|
10
22
|
"README.md"
|
|
11
23
|
],
|
|
12
24
|
"scripts": {
|
|
13
|
-
"
|
|
25
|
+
"build": "rslib build",
|
|
14
26
|
"lint": "yarn biome ci",
|
|
15
|
-
"prepare": "husky"
|
|
27
|
+
"prepare": "husky",
|
|
28
|
+
"test": "vitest run",
|
|
29
|
+
"publish": "yarn build && yarn npm publish"
|
|
16
30
|
},
|
|
17
31
|
"devDependencies": {
|
|
18
|
-
"@biomejs/biome": "
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
32
|
+
"@biomejs/biome": "2.1.1",
|
|
33
|
+
"@rslib/core": "0.10.6",
|
|
34
|
+
"husky": "9.1.7",
|
|
35
|
+
"pinst": "3.0.0",
|
|
36
|
+
"ts-node": "10.9.2",
|
|
37
|
+
"typescript": "5.8.3",
|
|
38
|
+
"vitest": "^3.2.4"
|
|
23
39
|
},
|
|
24
40
|
"packageManager": "yarn@3.8.7"
|
|
25
41
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from "../Log";
|
|
2
|
-
import type { Provider } from "../Provider";
|
|
3
|
-
import type { DuckConfig } from "../SDK";
|
|
4
|
-
export declare class DuckBugProvider implements Provider {
|
|
5
|
-
#private;
|
|
6
|
-
constructor(config: DuckConfig);
|
|
7
|
-
warn(...args: unknown[]): void;
|
|
8
|
-
error(...args: unknown[]): void;
|
|
9
|
-
log(...args: unknown[]): void;
|
|
10
|
-
report(tag: string, level: LogLevel, payload?: object): void;
|
|
11
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _DuckBugProvider_instances, _DuckBugProvider_config, _DuckBugProvider_convertArgsToString, _DuckBugProvider_getTimeStamp, _DuckBugProvider_sendLog;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.DuckBugProvider = void 0;
|
|
16
|
-
const Log_1 = require("../Log");
|
|
17
|
-
class DuckBugProvider {
|
|
18
|
-
constructor(config) {
|
|
19
|
-
_DuckBugProvider_instances.add(this);
|
|
20
|
-
_DuckBugProvider_config.set(this, void 0);
|
|
21
|
-
__classPrivateFieldSet(this, _DuckBugProvider_config, config, "f");
|
|
22
|
-
}
|
|
23
|
-
warn(...args) {
|
|
24
|
-
__classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_sendLog).call(this, {
|
|
25
|
-
time: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_getTimeStamp).call(this),
|
|
26
|
-
level: Log_1.logLevel.WARN,
|
|
27
|
-
message: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args[0]),
|
|
28
|
-
context: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args.slice(1)),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
error(...args) {
|
|
32
|
-
__classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_sendLog).call(this, {
|
|
33
|
-
time: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_getTimeStamp).call(this),
|
|
34
|
-
level: Log_1.logLevel.ERROR,
|
|
35
|
-
message: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args[0]),
|
|
36
|
-
context: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args.slice(1)),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
log(...args) {
|
|
40
|
-
__classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_sendLog).call(this, {
|
|
41
|
-
time: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_getTimeStamp).call(this),
|
|
42
|
-
level: Log_1.logLevel.INFO,
|
|
43
|
-
message: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args[0]),
|
|
44
|
-
context: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_convertArgsToString).call(this, args.slice(1)),
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
report(tag, level, payload) {
|
|
48
|
-
__classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_sendLog).call(this, {
|
|
49
|
-
time: __classPrivateFieldGet(this, _DuckBugProvider_instances, "m", _DuckBugProvider_getTimeStamp).call(this),
|
|
50
|
-
level,
|
|
51
|
-
message: tag,
|
|
52
|
-
context: JSON.stringify(payload),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.DuckBugProvider = DuckBugProvider;
|
|
57
|
-
_DuckBugProvider_config = new WeakMap(), _DuckBugProvider_instances = new WeakSet(), _DuckBugProvider_convertArgsToString = function _DuckBugProvider_convertArgsToString(...args) {
|
|
58
|
-
return args
|
|
59
|
-
.map((arg) => typeof arg === "object" ? JSON.stringify(arg) : String(arg))
|
|
60
|
-
.join(" ");
|
|
61
|
-
}, _DuckBugProvider_getTimeStamp = function _DuckBugProvider_getTimeStamp() {
|
|
62
|
-
return Date.now();
|
|
63
|
-
}, _DuckBugProvider_sendLog = function _DuckBugProvider_sendLog(logInfo) {
|
|
64
|
-
fetch(`${__classPrivateFieldGet(this, _DuckBugProvider_config, "f").dsn}/logs`, {
|
|
65
|
-
method: "POST",
|
|
66
|
-
headers: {
|
|
67
|
-
"Content-Type": "application/json",
|
|
68
|
-
},
|
|
69
|
-
body: JSON.stringify(logInfo),
|
|
70
|
-
});
|
|
71
|
-
};
|
package/dist/cjs/Log/Log.js
DELETED
package/dist/cjs/Log/LogLevel.js
DELETED