@kcuf/sls-logger-base 0.0.3 → 0.0.5

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.
Files changed (73) hide show
  1. package/dist/cjs/class/sls-logger.js +3 -10
  2. package/dist/cjs/util/flatten-object.js +11 -15
  3. package/dist/cjs/util/index.js +7 -7
  4. package/dist/cjs/util/{convert-error-to-plain.js → normalize-error.js} +5 -5
  5. package/dist/cjs/util/normalize-file.js +16 -0
  6. package/dist/cjs/util/normalize-form-data.js +23 -0
  7. package/dist/cjs/util/normalize-headers.js +13 -0
  8. package/dist/cjs/util/normalize-payload.js +31 -0
  9. package/dist/cjs/util/normalize-search-params.js +20 -0
  10. package/dist/esm/class/sls-logger.js +4 -11
  11. package/dist/esm/class/sls-logger.js.map +1 -1
  12. package/dist/esm/types/options.js.map +1 -1
  13. package/dist/esm/util/flatten-object.js +11 -15
  14. package/dist/esm/util/flatten-object.js.map +1 -1
  15. package/dist/esm/util/index.js +1 -1
  16. package/dist/esm/util/index.js.map +1 -1
  17. package/dist/esm/util/{convert-error-to-plain.js → normalize-error.js} +5 -5
  18. package/dist/esm/util/normalize-error.js.map +1 -0
  19. package/dist/esm/util/normalize-file.js +11 -0
  20. package/dist/esm/util/normalize-file.js.map +1 -0
  21. package/dist/esm/util/normalize-form-data.js +17 -0
  22. package/dist/esm/util/normalize-form-data.js.map +1 -0
  23. package/dist/esm/util/normalize-headers.js +8 -0
  24. package/dist/esm/util/normalize-headers.js.map +1 -0
  25. package/dist/esm/util/normalize-payload.js +25 -0
  26. package/dist/esm/util/normalize-payload.js.map +1 -0
  27. package/dist/esm/util/normalize-search-params.js +15 -0
  28. package/dist/esm/util/normalize-search-params.js.map +1 -0
  29. package/dist/types/types/options.d.ts +1 -1
  30. package/dist/types/util/flatten-object.d.ts +1 -1
  31. package/dist/types/util/index.d.ts +1 -1
  32. package/dist/types/util/{convert-error-to-plain.d.ts → normalize-error.d.ts} +1 -1
  33. package/dist/types/util/normalize-file.d.ts +10 -0
  34. package/dist/types/util/normalize-form-data.d.ts +1 -0
  35. package/dist/types/util/normalize-headers.d.ts +1 -0
  36. package/dist/types/util/normalize-payload.d.ts +1 -0
  37. package/dist/types/util/normalize-search-params.d.ts +1 -0
  38. package/package.json +12 -12
  39. package/coverage/base.css +0 -224
  40. package/coverage/block-navigation.js +0 -87
  41. package/coverage/clover.xml +0 -407
  42. package/coverage/coverage-final.json +0 -20
  43. package/coverage/favicon.png +0 -0
  44. package/coverage/index.html +0 -176
  45. package/coverage/prettify.css +0 -1
  46. package/coverage/prettify.js +0 -2
  47. package/coverage/sort-arrow-sprite.png +0 -0
  48. package/coverage/sorter.js +0 -196
  49. package/coverage/src/class/index.html +0 -146
  50. package/coverage/src/class/index.ts.html +0 -85
  51. package/coverage/src/class/sls-logger.ts.html +0 -457
  52. package/coverage/src/class/sls-pipe.ts.html +0 -400
  53. package/coverage/src/const/index.html +0 -116
  54. package/coverage/src/const/index.ts.html +0 -127
  55. package/coverage/src/factory/create-logger.ts.html +0 -166
  56. package/coverage/src/factory/generate-create-logger.ts.html +0 -178
  57. package/coverage/src/factory/index.html +0 -131
  58. package/coverage/src/index.html +0 -116
  59. package/coverage/src/index.ts.html +0 -118
  60. package/coverage/src/util/build-post-body.ts.html +0 -166
  61. package/coverage/src/util/convert-error-to-plain.ts.html +0 -133
  62. package/coverage/src/util/convert-log-info.ts.html +0 -214
  63. package/coverage/src/util/create-sls-log-quick.ts.html +0 -157
  64. package/coverage/src/util/flatten-object.ts.html +0 -298
  65. package/coverage/src/util/flatten-test-path.ts.html +0 -109
  66. package/coverage/src/util/get-log-once-key.ts.html +0 -115
  67. package/coverage/src/util/get-silent-countdown.ts.html +0 -97
  68. package/coverage/src/util/index.html +0 -281
  69. package/coverage/src/util/index.ts.html +0 -112
  70. package/coverage/src/util/merge-default-params.ts.html +0 -148
  71. package/coverage/src/util/merge-dont-send.ts.html +0 -115
  72. package/coverage/src/util/resolve-default-params.ts.html +0 -103
  73. package/dist/esm/util/convert-error-to-plain.js.map +0 -1
@@ -1,118 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/index.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</a> index.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'>1/1</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'>0/0</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'>0/0</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'>1/1</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
78
- <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-neutral">&nbsp;</span>
84
- <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export { default } from './factory/create-logger';
89
- export { default as generateCreateLoggerBase } from './factory/generate-create-logger';
90
- &nbsp;
91
- export type {
92
- ICreateLogger as CreateLogger,
93
- ICreateLoggerOptions as CreateLoggerOptions,
94
- IGenerateCreateLoggerOptions as GenerateCreateLoggerOptions,
95
- ISlsLogger as SlsLogger,
96
- ISlsLogOptions as SlsLogOptions,
97
- ISlsLogOptionsQuick as SlsLogOptionsQuick,
98
- ISlsPostBody as SlsPostBody
99
- } from './types';</pre></td></tr></table></pre>
100
-
101
- <div class='push'></div><!-- for sticky footer -->
102
- </div><!-- /wrapper -->
103
- <div class='footer quiet pad2 space-top1 center small'>
104
- Code coverage generated by
105
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2024-09-23T02:22:37.767Z
107
- </div>
108
- <script src="../prettify.js"></script>
109
- <script>
110
- window.onload = function () {
111
- prettyPrint();
112
- };
113
- </script>
114
- <script src="../sorter.js"></script>
115
- <script src="../block-navigation.js"></script>
116
- </body>
117
- </html>
118
-
@@ -1,166 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/util/build-post-body.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> build-post-body.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'>13/13</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'>2/2</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'>13/13</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">1x</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-yes">1x</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">31x</span>
110
- <span class="cline-any cline-yes">31x</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-yes">31x</span>
113
- <span class="cline-any cline-yes">25x</span>
114
- <span class="cline-any cline-yes">25x</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">31x</span>
117
- <span class="cline-any cline-yes">31x</span>
118
- <span class="cline-any cline-yes">31x</span>
119
- <span class="cline-any cline-yes">31x</span>
120
- <span class="cline-any cline-yes">31x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
121
- ISlsLogPayload,
122
- ISlsPostBody
123
- } from '../types';
124
- import {
125
- TOPIC_MERGED
126
- } from '../const';
127
- &nbsp;
128
- import convertLogInfo from './convert-log-info';
129
- &nbsp;
130
- /**
131
- * 利用 PutWebTracking 发送日志,如果 `__logs__` 里含有 `__topic__` 则,外部的这个 `__topic__` 将被改为 `__topic__0`,
132
- * 为了干净,在仅发送一条日志的时候,将 `__logs__` 里的 `__topic__` 往上提。
133
- *
134
- * 但是,POST 的时候 `__source__` 不会被默认填充成 IP,IP 在 `__tag__:__client_ip__`(GET 方式也有)
135
- */
136
- export default function buildPostBody(payloads: ISlsLogPayload[]): ISlsPostBody {
137
- let topic = TOPIC_MERGED;
138
-
139
- if (payloads.length === 1) {
140
- topic = payloads[0]!.__topic__; // eslint-disable-line @typescript-eslint/no-non-null-assertion
141
- }
142
-
143
- return {
144
- __topic__: topic,
145
- __logs__: payloads.map(convertLogInfo)
146
- };
147
- }</pre></td></tr></table></pre>
148
-
149
- <div class='push'></div><!-- for sticky footer -->
150
- </div><!-- /wrapper -->
151
- <div class='footer quiet pad2 space-top1 center small'>
152
- Code coverage generated by
153
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
154
- at 2024-09-23T02:22:37.767Z
155
- </div>
156
- <script src="../../prettify.js"></script>
157
- <script>
158
- window.onload = function () {
159
- prettyPrint();
160
- };
161
- </script>
162
- <script src="../../sorter.js"></script>
163
- <script src="../../block-navigation.js"></script>
164
- </body>
165
- </html>
166
-
@@ -1,133 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/util/convert-error-to-plain.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> convert-error-to-plain.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'>11/11</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'>2/2</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'>11/11</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
83
- <span class="cline-any cline-neutral">&nbsp;</span>
84
- <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-yes">4x</span>
88
- <span class="cline-any cline-yes">4x</span>
89
- <span class="cline-any cline-yes">4x</span>
90
- <span class="cline-any cline-yes">4x</span>
91
- <span class="cline-any cline-yes">4x</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-yes">4x</span>
94
- <span class="cline-any cline-yes">6x</span>
95
- <span class="cline-any cline-yes">4x</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">4x</span>
98
- <span class="cline-any cline-yes">4x</span></td><td class="text"><pre class="prettyprint lang-js">import _forEach from 'lodash/forEach';
99
- &nbsp;
100
- /**
101
- * Error 身上的 name、message、stack 等信息用 _forEach 遍历不到,故需要转成普通对象
102
- */
103
- export default function convertErrorToPlain(err: Error): Record&lt;string, unknown&gt; {
104
- const plainError: Record&lt;string, unknown&gt; = {
105
- name: err.name,
106
- message: err.message
107
- };
108
-
109
- _forEach(err, (v, k) =&gt; {
110
- plainError[k] = v;
111
- });
112
-
113
- return plainError;
114
- }</pre></td></tr></table></pre>
115
-
116
- <div class='push'></div><!-- for sticky footer -->
117
- </div><!-- /wrapper -->
118
- <div class='footer quiet pad2 space-top1 center small'>
119
- Code coverage generated by
120
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2024-09-23T02:22:37.767Z
122
- </div>
123
- <script src="../../prettify.js"></script>
124
- <script>
125
- window.onload = function () {
126
- prettyPrint();
127
- };
128
- </script>
129
- <script src="../../sorter.js"></script>
130
- <script src="../../block-navigation.js"></script>
131
- </body>
132
- </html>
133
-
@@ -1,214 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/util/convert-log-info.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> convert-log-info.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'>22/22</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'>12/12</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'>22/22</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">56x</span>
120
- <span class="cline-any cline-yes">56x</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-yes">56x</span>
123
- <span class="cline-any cline-yes">215x</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">215x</span>
126
- <span class="cline-any cline-yes">3x</span>
127
- <span class="cline-any cline-yes">3x</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">215x</span>
130
- <span class="cline-any cline-yes">144x</span>
131
- <span class="cline-any cline-yes">215x</span>
132
- <span class="cline-any cline-yes">49x</span>
133
- <span class="cline-any cline-yes">68x</span>
134
- <span class="cline-any cline-yes">19x</span>
135
- <span class="cline-any cline-yes">19x</span>
136
- <span class="cline-any cline-yes">19x</span>
137
- <span class="cline-any cline-yes">1x</span>
138
- <span class="cline-any cline-yes">1x</span>
139
- <span class="cline-any cline-yes">19x</span>
140
- <span class="cline-any cline-yes">56x</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">56x</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">56x</span>
152
- <span class="cline-any cline-yes">56x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
153
- ISlsLogPayload
154
- } from '../types';
155
- &nbsp;
156
- /**
157
- * 发送的 JSON 里边不可以有除了字符串以外的值,否则报错
158
- *
159
- * - code = PostBodyInvalid
160
- * - message = Value in log is not string data type
161
- */
162
- export default function convertLogInfo(info: ISlsLogPayload): Record&lt;string, string&gt; {
163
- const o: Record&lt;string, string&gt; = {};
164
-
165
- Object.keys(info).forEach(k =&gt; {
166
- const v = info[k];
167
-
168
- if (v === '' || v === null || v === undefined) {
169
- return;
170
- }
171
-
172
- if (typeof v === 'string') {
173
- o[k] = v;
174
- } else if (typeof v === 'number' || typeof v === 'boolean') {
175
- o[k] = v.toString();
176
- } else {
177
- try { // 避免 cyclic error
178
- o[k] = JSON.stringify(v);
179
- } catch (err) {
180
- o[k] = 'TypeError: cyclic object value';
181
- }
182
- }
183
- });
184
-
185
- /**
186
- * SLS 说不要用 __topic__ 做检索... ~~但又必须每条日志有个 __topic__...~~ &lt;- 刚看了文档 __topic__ 非必填
187
- * 在发送多条日志的时候,无法通过内部的 __topic__ 检索到相关的内容,这是一个很奇葩的设定,所以这里给每条日志
188
- * 增加一个 _TOPIC 属性用来检索的时候替代 __topic__
189
- *
190
- * 详情 https://aone.alibaba-inc.com/issue/34492769
191
- */
192
- o._TOPIC = o.__topic__!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
193
-
194
- return o;
195
- }</pre></td></tr></table></pre>
196
-
197
- <div class='push'></div><!-- for sticky footer -->
198
- </div><!-- /wrapper -->
199
- <div class='footer quiet pad2 space-top1 center small'>
200
- Code coverage generated by
201
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2024-09-23T02:22:37.767Z
203
- </div>
204
- <script src="../../prettify.js"></script>
205
- <script>
206
- window.onload = function () {
207
- prettyPrint();
208
- };
209
- </script>
210
- <script src="../../sorter.js"></script>
211
- <script src="../../block-navigation.js"></script>
212
- </body>
213
- </html>
214
-