@kcuf/sls-logger-base 0.0.1
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/LICENSE +21 -0
- package/README.md +71 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/clover.xml +417 -0
- package/coverage/coverage-final.json +20 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +176 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/coverage/src/class/index.html +146 -0
- package/coverage/src/class/index.ts.html +85 -0
- package/coverage/src/class/sls-logger.ts.html +457 -0
- package/coverage/src/class/sls-pipe.ts.html +400 -0
- package/coverage/src/const/index.html +116 -0
- package/coverage/src/const/index.ts.html +127 -0
- package/coverage/src/factory/create-logger.ts.html +166 -0
- package/coverage/src/factory/generate-create-logger.ts.html +184 -0
- package/coverage/src/factory/index.html +131 -0
- package/coverage/src/index.html +116 -0
- package/coverage/src/index.ts.html +118 -0
- package/coverage/src/util/build-post-body.ts.html +166 -0
- package/coverage/src/util/convert-error-to-plain.ts.html +133 -0
- package/coverage/src/util/convert-log-info.ts.html +214 -0
- package/coverage/src/util/create-sls-log-quick.ts.html +157 -0
- package/coverage/src/util/flatten-object.ts.html +283 -0
- package/coverage/src/util/flatten-should-ignore.ts.html +151 -0
- package/coverage/src/util/get-log-once-key.ts.html +115 -0
- package/coverage/src/util/get-silent-countdown.ts.html +97 -0
- package/coverage/src/util/index.html +281 -0
- package/coverage/src/util/index.ts.html +112 -0
- package/coverage/src/util/merge-default-params.ts.html +148 -0
- package/coverage/src/util/merge-should-ignore.ts.html +115 -0
- package/coverage/src/util/resolve-default-params.ts.html +103 -0
- package/dist/cjs/class/index.js +13 -0
- package/dist/cjs/class/sls-logger.js +118 -0
- package/dist/cjs/class/sls-pipe.js +110 -0
- package/dist/cjs/const/index.js +18 -0
- package/dist/cjs/factory/create-logger.js +22 -0
- package/dist/cjs/factory/generate-create-logger.js +30 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/types/common.js +5 -0
- package/dist/cjs/types/factory.js +5 -0
- package/dist/cjs/types/index.js +38 -0
- package/dist/cjs/types/options.js +5 -0
- package/dist/cjs/util/build-post-body.js +25 -0
- package/dist/cjs/util/convert-error-to-plain.js +21 -0
- package/dist/cjs/util/convert-log-info.js +44 -0
- package/dist/cjs/util/create-sls-log-quick.js +34 -0
- package/dist/cjs/util/flatten-object.js +60 -0
- package/dist/cjs/util/flatten-should-ignore.js +22 -0
- package/dist/cjs/util/get-log-once-key.js +15 -0
- package/dist/cjs/util/get-silent-countdown.js +10 -0
- package/dist/cjs/util/index.js +69 -0
- package/dist/cjs/util/merge-default-params.js +21 -0
- package/dist/cjs/util/merge-should-ignore.js +14 -0
- package/dist/cjs/util/resolve-default-params.js +9 -0
- package/dist/esm/class/index.js +2 -0
- package/dist/esm/class/index.js.map +1 -0
- package/dist/esm/class/sls-logger.js +114 -0
- package/dist/esm/class/sls-logger.js.map +1 -0
- package/dist/esm/class/sls-pipe.js +106 -0
- package/dist/esm/class/sls-pipe.js.map +1 -0
- package/dist/esm/const/index.js +13 -0
- package/dist/esm/const/index.js.map +1 -0
- package/dist/esm/factory/create-logger.js +18 -0
- package/dist/esm/factory/create-logger.js.map +1 -0
- package/dist/esm/factory/generate-create-logger.js +25 -0
- package/dist/esm/factory/generate-create-logger.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/common.js +2 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/factory.js +2 -0
- package/dist/esm/types/factory.js.map +1 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/options.js +2 -0
- package/dist/esm/types/options.js.map +1 -0
- package/dist/esm/util/build-post-body.js +20 -0
- package/dist/esm/util/build-post-body.js.map +1 -0
- package/dist/esm/util/convert-error-to-plain.js +16 -0
- package/dist/esm/util/convert-error-to-plain.js.map +1 -0
- package/dist/esm/util/convert-log-info.js +39 -0
- package/dist/esm/util/convert-log-info.js.map +1 -0
- package/dist/esm/util/create-sls-log-quick.js +28 -0
- package/dist/esm/util/create-sls-log-quick.js.map +1 -0
- package/dist/esm/util/flatten-object.js +55 -0
- package/dist/esm/util/flatten-object.js.map +1 -0
- package/dist/esm/util/flatten-should-ignore.js +17 -0
- package/dist/esm/util/flatten-should-ignore.js.map +1 -0
- package/dist/esm/util/get-log-once-key.js +10 -0
- package/dist/esm/util/get-log-once-key.js.map +1 -0
- package/dist/esm/util/get-silent-countdown.js +5 -0
- package/dist/esm/util/get-silent-countdown.js.map +1 -0
- package/dist/esm/util/index.js +10 -0
- package/dist/esm/util/index.js.map +1 -0
- package/dist/esm/util/merge-default-params.js +16 -0
- package/dist/esm/util/merge-default-params.js.map +1 -0
- package/dist/esm/util/merge-should-ignore.js +9 -0
- package/dist/esm/util/merge-should-ignore.js.map +1 -0
- package/dist/esm/util/resolve-default-params.js +4 -0
- package/dist/esm/util/resolve-default-params.js.map +1 -0
- package/dist/types/class/index.d.ts +1 -0
- package/dist/types/class/sls-logger.d.ts +15 -0
- package/dist/types/class/sls-pipe.d.ts +27 -0
- package/dist/types/const/index.d.ts +11 -0
- package/dist/types/factory/create-logger.d.ts +5 -0
- package/dist/types/factory/generate-create-logger.d.ts +7 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/types/common.d.ts +32 -0
- package/dist/types/types/factory.d.ts +30 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/options.d.ts +123 -0
- package/dist/types/util/build-post-body.d.ts +8 -0
- package/dist/types/util/convert-error-to-plain.d.ts +4 -0
- package/dist/types/util/convert-log-info.d.ts +8 -0
- package/dist/types/util/create-sls-log-quick.d.ts +2 -0
- package/dist/types/util/flatten-object.d.ts +13 -0
- package/dist/types/util/flatten-should-ignore.d.ts +2 -0
- package/dist/types/util/get-log-once-key.d.ts +1 -0
- package/dist/types/util/get-silent-countdown.d.ts +1 -0
- package/dist/types/util/index.d.ts +9 -0
- package/dist/types/util/merge-default-params.d.ts +5 -0
- package/dist/types/util/merge-should-ignore.d.ts +2 -0
- package/dist/types/util/resolve-default-params.d.ts +2 -0
- package/package.json +55 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/create-sls-log-quick.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> create-sls-log-quick.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>16/16</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>4/4</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>16/16</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">66x</span>
|
|
98
|
+
<span class="cline-any cline-yes">66x</span>
|
|
99
|
+
<span class="cline-any cline-yes">7x</span>
|
|
100
|
+
<span class="cline-any cline-yes">7x</span>
|
|
101
|
+
<span class="cline-any cline-yes">7x</span>
|
|
102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-yes">7x</span>
|
|
104
|
+
<span class="cline-any cline-yes">6x</span>
|
|
105
|
+
<span class="cline-any cline-yes">7x</span>
|
|
106
|
+
<span class="cline-any cline-yes">1x</span>
|
|
107
|
+
<span class="cline-any cline-yes">1x</span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">7x</span>
|
|
110
|
+
<span class="cline-any cline-yes">7x</span>
|
|
111
|
+
<span class="cline-any cline-yes">7x</span>
|
|
112
|
+
<span class="cline-any cline-yes">7x</span>
|
|
113
|
+
<span class="cline-any cline-yes">7x</span>
|
|
114
|
+
<span class="cline-any cline-yes">66x</span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
115
|
+
ISlsLogFn,
|
|
116
|
+
ISlsLogFnQuick,
|
|
117
|
+
ISlsLogOptions,
|
|
118
|
+
TLogQuickArgs
|
|
119
|
+
} from '../types';
|
|
120
|
+
|
|
121
|
+
export default function createSlsLogQuick(sls: ISlsLogFn, group: string): ISlsLogFnQuick {
|
|
122
|
+
return (...args: TLogQuickArgs): void => {
|
|
123
|
+
let options: ISlsLogOptions = {};
|
|
124
|
+
let topic: string;
|
|
125
|
+
let payload: object | undefined;
|
|
126
|
+
|
|
127
|
+
if (typeof args[0] === 'string') {
|
|
128
|
+
[topic, payload] = args as [string, object?];
|
|
129
|
+
} else {
|
|
130
|
+
[options, topic, payload] = args as [ISlsLogOptions, string, object?];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
sls({
|
|
134
|
+
...options,
|
|
135
|
+
group
|
|
136
|
+
}, topic, payload as object);
|
|
137
|
+
};
|
|
138
|
+
}</pre></td></tr></table></pre>
|
|
139
|
+
|
|
140
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
141
|
+
</div><!-- /wrapper -->
|
|
142
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
|
+
Code coverage generated by
|
|
144
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
+
at 2024-09-21T01:37:29.540Z
|
|
146
|
+
</div>
|
|
147
|
+
<script src="../../prettify.js"></script>
|
|
148
|
+
<script>
|
|
149
|
+
window.onload = function () {
|
|
150
|
+
prettyPrint();
|
|
151
|
+
};
|
|
152
|
+
</script>
|
|
153
|
+
<script src="../../sorter.js"></script>
|
|
154
|
+
<script src="../../block-navigation.js"></script>
|
|
155
|
+
</body>
|
|
156
|
+
</html>
|
|
157
|
+
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/flatten-object.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> flatten-object.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>38/38</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>16/16</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>3/3</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>38/38</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
133
|
+
<span class="cline-any cline-yes">1x</span>
|
|
134
|
+
<span class="cline-any cline-yes">1x</span>
|
|
135
|
+
<span class="cline-any cline-yes">1x</span>
|
|
136
|
+
<span class="cline-any cline-neutral"> </span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span>
|
|
141
|
+
<span class="cline-any cline-yes">1x</span>
|
|
142
|
+
<span class="cline-any cline-yes">1x</span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-neutral"> </span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-yes">6x</span>
|
|
156
|
+
<span class="cline-any cline-yes">6x</span>
|
|
157
|
+
<span class="cline-any cline-yes">3x</span>
|
|
158
|
+
<span class="cline-any cline-yes">6x</span>
|
|
159
|
+
<span class="cline-any cline-yes">6x</span>
|
|
160
|
+
<span class="cline-any cline-yes">6x</span>
|
|
161
|
+
<span class="cline-any cline-yes">6x</span>
|
|
162
|
+
<span class="cline-any cline-yes">6x</span>
|
|
163
|
+
<span class="cline-any cline-yes">6x</span>
|
|
164
|
+
<span class="cline-any cline-yes">6x</span>
|
|
165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-yes">6x</span>
|
|
167
|
+
<span class="cline-any cline-yes">38x</span>
|
|
168
|
+
<span class="cline-any cline-yes">38x</span>
|
|
169
|
+
<span class="cline-any cline-neutral"> </span>
|
|
170
|
+
<span class="cline-any cline-yes">6x</span>
|
|
171
|
+
<span class="cline-any cline-yes">17x</span>
|
|
172
|
+
<span class="cline-any cline-neutral"> </span>
|
|
173
|
+
<span class="cline-any cline-yes">17x</span>
|
|
174
|
+
<span class="cline-any cline-yes">42x</span>
|
|
175
|
+
<span class="cline-any cline-yes">42x</span>
|
|
176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-yes">42x</span>
|
|
179
|
+
<span class="cline-any cline-yes">10x</span>
|
|
180
|
+
<span class="cline-any cline-yes">10x</span>
|
|
181
|
+
<span class="cline-any cline-neutral"> </span>
|
|
182
|
+
<span class="cline-any cline-yes">32x</span>
|
|
183
|
+
<span class="cline-any cline-neutral"> </span>
|
|
184
|
+
<span class="cline-any cline-neutral"> </span>
|
|
185
|
+
<span class="cline-any cline-yes">42x</span>
|
|
186
|
+
<span class="cline-any cline-yes">21x</span>
|
|
187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-yes">21x</span>
|
|
189
|
+
<span class="cline-any cline-yes">21x</span>
|
|
190
|
+
<span class="cline-any cline-neutral"> </span>
|
|
191
|
+
<span class="cline-any cline-yes">11x</span>
|
|
192
|
+
<span class="cline-any cline-yes">17x</span>
|
|
193
|
+
<span class="cline-any cline-yes">17x</span>
|
|
194
|
+
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">6x</span>
|
|
196
|
+
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-yes">6x</span>
|
|
198
|
+
<span class="cline-any cline-yes">6x</span></td><td class="text"><pre class="prettyprint lang-js">import _isEmpty from 'lodash/isEmpty';
|
|
199
|
+
import _isPlainObject from 'lodash/isPlainObject';
|
|
200
|
+
import _isError from 'lodash/isError';
|
|
201
|
+
import _forEach from 'lodash/forEach';
|
|
202
|
+
|
|
203
|
+
import type {
|
|
204
|
+
ISlsFlattenOptions
|
|
205
|
+
} from '../types';
|
|
206
|
+
|
|
207
|
+
import convertErrorToPlain from './convert-error-to-plain';
|
|
208
|
+
import flattenShouldIgnore from './flatten-should-ignore';
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* 有时候为了统计方便,需要把传入的对象展平,比如 error 对象,可能会展平成如下形状:
|
|
212
|
+
*
|
|
213
|
+
* ```
|
|
214
|
+
* {
|
|
215
|
+
* "error.name": "..",
|
|
216
|
+
* "error.message": "..",
|
|
217
|
+
* "error.stack": ".."
|
|
218
|
+
* }
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
export default function flattenObject<T extends object>(o: T, options: string | ISlsFlattenOptions): Record<string, unknown> {
|
|
222
|
+
const resolvedOptions = typeof options === 'string' ? {
|
|
223
|
+
prefix: options
|
|
224
|
+
} : options;
|
|
225
|
+
const {
|
|
226
|
+
prefix,
|
|
227
|
+
depth = 5,
|
|
228
|
+
ignore
|
|
229
|
+
} = resolvedOptions;
|
|
230
|
+
const result: Record<string, unknown> = {};
|
|
231
|
+
|
|
232
|
+
function makeSureErrorObject(errorOrObject: object): object {
|
|
233
|
+
return _isError(errorOrObject) ? convertErrorToPlain(errorOrObject) : errorOrObject;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function loop(currentObj: object, parentPaths: string[]): void {
|
|
237
|
+
const depthFull = depth > 0 && parentPaths.length + 1 >= depth;
|
|
238
|
+
|
|
239
|
+
_forEach(currentObj, (v: unknown, k: string) => {
|
|
240
|
+
const key = [...parentPaths, k].join('.');
|
|
241
|
+
const prefixedKey = prefix ? `${prefix}.${key}` : key;
|
|
242
|
+
|
|
243
|
+
// 可以忽略不重要的信息
|
|
244
|
+
if (flattenShouldIgnore(ignore, key, k, v)) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const vAsObject = makeSureErrorObject(v as object);
|
|
249
|
+
|
|
250
|
+
// 深度满了,或者不是对象或 Error,或者空对象(或数组),则不继续 loop
|
|
251
|
+
if (depthFull || !_isPlainObject(vAsObject) || _isEmpty(vAsObject)) {
|
|
252
|
+
result[prefixedKey] = vAsObject;
|
|
253
|
+
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
loop(vAsObject, [...parentPaths, k]);
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
loop(makeSureErrorObject(o), []);
|
|
262
|
+
|
|
263
|
+
return result;
|
|
264
|
+
}</pre></td></tr></table></pre>
|
|
265
|
+
|
|
266
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
267
|
+
</div><!-- /wrapper -->
|
|
268
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
269
|
+
Code coverage generated by
|
|
270
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
271
|
+
at 2024-09-21T01:37:29.540Z
|
|
272
|
+
</div>
|
|
273
|
+
<script src="../../prettify.js"></script>
|
|
274
|
+
<script>
|
|
275
|
+
window.onload = function () {
|
|
276
|
+
prettyPrint();
|
|
277
|
+
};
|
|
278
|
+
</script>
|
|
279
|
+
<script src="../../sorter.js"></script>
|
|
280
|
+
<script src="../../block-navigation.js"></script>
|
|
281
|
+
</body>
|
|
282
|
+
</html>
|
|
283
|
+
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/flatten-should-ignore.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> flatten-should-ignore.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>15/15</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>9/9</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>15/15</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-neutral"> </span>
|
|
90
|
+
<span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-yes">42x</span>
|
|
93
|
+
<span class="cline-any cline-yes">42x</span>
|
|
94
|
+
<span class="cline-any cline-yes">2x</span>
|
|
95
|
+
<span class="cline-any cline-yes">2x</span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">42x</span>
|
|
98
|
+
<span class="cline-any cline-yes">16x</span>
|
|
99
|
+
<span class="cline-any cline-yes">16x</span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
|
+
<span class="cline-any cline-yes">42x</span>
|
|
102
|
+
<span class="cline-any cline-yes">7x</span>
|
|
103
|
+
<span class="cline-any cline-yes">7x</span>
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-yes">42x</span>
|
|
106
|
+
<span class="cline-any cline-yes">12x</span>
|
|
107
|
+
<span class="cline-any cline-yes">12x</span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">5x</span>
|
|
110
|
+
<span class="cline-any cline-yes">5x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
|
|
111
|
+
ISlsFlattenOptions
|
|
112
|
+
} from '../types';
|
|
113
|
+
|
|
114
|
+
export default function flattenShouldIgnore(ignore: ISlsFlattenOptions['ignore'], path: string, key: string, value: unknown): boolean {
|
|
115
|
+
if (/^_/.test(key)) { // 默认不记录 _ 打头的所有数据
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (!ignore) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (typeof ignore === 'function') {
|
|
124
|
+
return ignore(key, value, path);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (Array.isArray(ignore)) {
|
|
128
|
+
return ignore.includes(key);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return key === ignore;
|
|
132
|
+
}</pre></td></tr></table></pre>
|
|
133
|
+
|
|
134
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
135
|
+
</div><!-- /wrapper -->
|
|
136
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
|
+
Code coverage generated by
|
|
138
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
+
at 2024-09-21T01:37:29.540Z
|
|
140
|
+
</div>
|
|
141
|
+
<script src="../../prettify.js"></script>
|
|
142
|
+
<script>
|
|
143
|
+
window.onload = function () {
|
|
144
|
+
prettyPrint();
|
|
145
|
+
};
|
|
146
|
+
</script>
|
|
147
|
+
<script src="../../sorter.js"></script>
|
|
148
|
+
<script src="../../block-navigation.js"></script>
|
|
149
|
+
</body>
|
|
150
|
+
</html>
|
|
151
|
+
|