@kcuf/sls-logger-base 0.0.1 → 0.0.3

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 (65) hide show
  1. package/README.md +2 -2
  2. package/coverage/clover.xml +170 -180
  3. package/coverage/coverage-final.json +10 -10
  4. package/coverage/index.html +9 -9
  5. package/coverage/src/class/index.html +1 -1
  6. package/coverage/src/class/index.ts.html +1 -1
  7. package/coverage/src/class/sls-logger.ts.html +59 -59
  8. package/coverage/src/class/sls-pipe.ts.html +36 -36
  9. package/coverage/src/const/index.html +1 -1
  10. package/coverage/src/const/index.ts.html +1 -1
  11. package/coverage/src/factory/create-logger.ts.html +1 -1
  12. package/coverage/src/factory/generate-create-logger.ts.html +11 -17
  13. package/coverage/src/factory/index.html +5 -5
  14. package/coverage/src/index.html +1 -1
  15. package/coverage/src/index.ts.html +1 -1
  16. package/coverage/src/util/build-post-body.ts.html +14 -14
  17. package/coverage/src/util/convert-error-to-plain.ts.html +1 -1
  18. package/coverage/src/util/convert-log-info.ts.html +19 -19
  19. package/coverage/src/util/create-sls-log-quick.ts.html +1 -1
  20. package/coverage/src/util/flatten-object.ts.html +65 -50
  21. package/coverage/src/util/{flatten-should-ignore.ts.html → flatten-test-path.ts.html} +17 -59
  22. package/coverage/src/util/get-log-once-key.ts.html +6 -6
  23. package/coverage/src/util/get-silent-countdown.ts.html +1 -1
  24. package/coverage/src/util/index.html +12 -12
  25. package/coverage/src/util/index.ts.html +2 -2
  26. package/coverage/src/util/merge-default-params.ts.html +1 -1
  27. package/coverage/src/util/{merge-should-ignore.ts.html → merge-dont-send.ts.html} +8 -8
  28. package/coverage/src/util/resolve-default-params.ts.html +4 -4
  29. package/dist/cjs/class/sls-logger.js +11 -11
  30. package/dist/cjs/factory/generate-create-logger.js +4 -4
  31. package/dist/cjs/util/flatten-object.js +16 -11
  32. package/dist/cjs/util/flatten-test-path.js +11 -0
  33. package/dist/cjs/util/index.js +3 -3
  34. package/dist/cjs/util/merge-dont-send.js +14 -0
  35. package/dist/esm/class/sls-logger.js +11 -11
  36. package/dist/esm/class/sls-logger.js.map +1 -1
  37. package/dist/esm/factory/generate-create-logger.js +5 -5
  38. package/dist/esm/factory/generate-create-logger.js.map +1 -1
  39. package/dist/esm/types/common.js.map +1 -1
  40. package/dist/esm/types/options.js.map +1 -1
  41. package/dist/esm/util/flatten-object.js +16 -11
  42. package/dist/esm/util/flatten-object.js.map +1 -1
  43. package/dist/esm/util/flatten-test-path.js +6 -0
  44. package/dist/esm/util/flatten-test-path.js.map +1 -0
  45. package/dist/esm/util/index.js +1 -1
  46. package/dist/esm/util/index.js.map +1 -1
  47. package/dist/esm/util/merge-dont-send.js +9 -0
  48. package/dist/esm/util/merge-dont-send.js.map +1 -0
  49. package/dist/types/class/sls-logger.d.ts +1 -1
  50. package/dist/types/factory/generate-create-logger.d.ts +1 -1
  51. package/dist/types/types/common.d.ts +2 -12
  52. package/dist/types/types/options.d.ts +19 -12
  53. package/dist/types/util/flatten-object.d.ts +2 -2
  54. package/dist/types/util/flatten-test-path.d.ts +2 -0
  55. package/dist/types/util/index.d.ts +1 -1
  56. package/dist/types/util/merge-dont-send.d.ts +2 -0
  57. package/package.json +1 -1
  58. package/dist/cjs/util/flatten-should-ignore.js +0 -22
  59. package/dist/cjs/util/merge-should-ignore.js +0 -14
  60. package/dist/esm/util/flatten-should-ignore.js +0 -17
  61. package/dist/esm/util/flatten-should-ignore.js.map +0 -1
  62. package/dist/esm/util/merge-should-ignore.js +0 -9
  63. package/dist/esm/util/merge-should-ignore.js.map +0 -1
  64. package/dist/types/util/flatten-should-ignore.d.ts +0 -2
  65. package/dist/types/util/merge-should-ignore.d.ts +0 -2
@@ -116,28 +116,28 @@
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">55x</span>
120
- <span class="cline-any cline-yes">55x</span>
119
+ <span class="cline-any cline-yes">56x</span>
120
+ <span class="cline-any cline-yes">56x</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-yes">55x</span>
123
- <span class="cline-any cline-yes">171x</span>
122
+ <span class="cline-any cline-yes">56x</span>
123
+ <span class="cline-any cline-yes">215x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">171x</span>
125
+ <span class="cline-any cline-yes">215x</span>
126
126
  <span class="cline-any cline-yes">3x</span>
127
127
  <span class="cline-any cline-yes">3x</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">171x</span>
130
- <span class="cline-any cline-yes">134x</span>
131
- <span class="cline-any cline-yes">171x</span>
132
- <span class="cline-any cline-yes">28x</span>
133
- <span class="cline-any cline-yes">34x</span>
134
- <span class="cline-any cline-yes">6x</span>
135
- <span class="cline-any cline-yes">6x</span>
136
- <span class="cline-any cline-yes">6x</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
137
  <span class="cline-any cline-yes">1x</span>
138
138
  <span class="cline-any cline-yes">1x</span>
139
- <span class="cline-any cline-yes">6x</span>
140
- <span class="cline-any cline-yes">55x</span>
139
+ <span class="cline-any cline-yes">19x</span>
140
+ <span class="cline-any cline-yes">56x</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
143
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -146,10 +146,10 @@
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">55x</span>
149
+ <span class="cline-any cline-yes">56x</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">55x</span>
152
- <span class="cline-any cline-yes">55x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
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
153
  ISlsLogPayload
154
154
  } from '../types';
155
155
  &nbsp;
@@ -199,7 +199,7 @@ export default function convertLogInfo(info: ISlsLogPayload): Record&lt;string,
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2024-09-21T01:37:29.540Z
202
+ at 2024-09-23T02:22:37.767Z
203
203
  </div>
204
204
  <script src="../../prettify.js"></script>
205
205
  <script>
@@ -142,7 +142,7 @@ export default function createSlsLogQuick(sls: ISlsLogFn, group: string): ISlsLo
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2024-09-21T01:37:29.540Z
145
+ at 2024-09-23T02:22:37.767Z
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>38/38</span>
28
+ <span class='fraction'>39/39</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>16/16</span>
35
+ <span class='fraction'>20/20</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/38</span>
49
+ <span class='fraction'>39/39</span>
50
50
  </div>
51
51
 
52
52
 
@@ -129,7 +129,12 @@
129
129
  <a name='L64'></a><a href='#L64'>64</a>
130
130
  <a name='L65'></a><a href='#L65'>65</a>
131
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>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
133
138
  <span class="cline-any cline-yes">1x</span>
134
139
  <span class="cline-any cline-yes">1x</span>
135
140
  <span class="cline-any cline-yes">1x</span>
@@ -152,60 +157,65 @@
152
157
  <span class="cline-any cline-neutral">&nbsp;</span>
153
158
  <span class="cline-any cline-neutral">&nbsp;</span>
154
159
  <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-yes">6x</span>
156
- <span class="cline-any cline-yes">6x</span>
160
+ <span class="cline-any cline-yes">7x</span>
161
+ <span class="cline-any cline-yes">7x</span>
157
162
  <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">&nbsp;</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>
163
+ <span class="cline-any cline-yes">7x</span>
164
+ <span class="cline-any cline-yes">7x</span>
165
+ <span class="cline-any cline-yes">7x</span>
166
+ <span class="cline-any cline-yes">7x</span>
167
+ <span class="cline-any cline-yes">7x</span>
168
+ <span class="cline-any cline-yes">7x</span>
169
+ <span class="cline-any cline-yes">7x</span>
170
+ <span class="cline-any cline-yes">7x</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-yes">7x</span>
173
+ <span class="cline-any cline-yes">108x</span>
174
+ <span class="cline-any cline-yes">108x</span>
169
175
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">6x</span>
171
- <span class="cline-any cline-yes">17x</span>
176
+ <span class="cline-any cline-yes">7x</span>
177
+ <span class="cline-any cline-yes">45x</span>
172
178
  <span class="cline-any cline-neutral">&nbsp;</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>
179
+ <span class="cline-any cline-yes">45x</span>
180
+ <span class="cline-any cline-yes">112x</span>
181
+ <span class="cline-any cline-yes">112x</span>
176
182
  <span class="cline-any cline-neutral">&nbsp;</span>
177
183
  <span class="cline-any cline-neutral">&nbsp;</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>
184
+ <span class="cline-any cline-yes">112x</span>
185
+ <span class="cline-any cline-yes">11x</span>
186
+ <span class="cline-any cline-yes">11x</span>
181
187
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">32x</span>
188
+ <span class="cline-any cline-yes">101x</span>
183
189
  <span class="cline-any cline-neutral">&nbsp;</span>
184
190
  <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">42x</span>
186
- <span class="cline-any cline-yes">21x</span>
187
191
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">21x</span>
189
- <span class="cline-any cline-yes">21x</span>
190
192
  <span class="cline-any cline-neutral">&nbsp;</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
193
  <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-yes">6x</span>
196
194
  <span class="cline-any cline-neutral">&nbsp;</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';
195
+ <span class="cline-any cline-yes">112x</span>
196
+ <span class="cline-any cline-yes">63x</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-yes">63x</span>
199
+ <span class="cline-any cline-yes">63x</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-yes">38x</span>
202
+ <span class="cline-any cline-yes">45x</span>
203
+ <span class="cline-any cline-yes">45x</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-yes">7x</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-yes">7x</span>
208
+ <span class="cline-any cline-yes">7x</span></td><td class="text"><pre class="prettyprint lang-js">import _isEmpty from 'lodash/isEmpty';
199
209
  import _isPlainObject from 'lodash/isPlainObject';
200
210
  import _isError from 'lodash/isError';
201
211
  import _forEach from 'lodash/forEach';
202
212
  &nbsp;
203
213
  import type {
204
- ISlsFlattenOptions
214
+ IFlattenOptions
205
215
  } from '../types';
206
216
  &nbsp;
207
217
  import convertErrorToPlain from './convert-error-to-plain';
208
- import flattenShouldIgnore from './flatten-should-ignore';
218
+ import flattenTestPath from './flatten-test-path';
209
219
  &nbsp;
210
220
  /**
211
221
  * 有时候为了统计方便,需要把传入的对象展平,比如 error 对象,可能会展平成如下形状:
@@ -218,14 +228,15 @@ import flattenShouldIgnore from './flatten-should-ignore';
218
228
  * }
219
229
  * ```
220
230
  */
221
- export default function flattenObject&lt;T extends object&gt;(o: T, options: string | ISlsFlattenOptions): Record&lt;string, unknown&gt; {
231
+ export default function flattenObject&lt;T extends object&gt;(o: T, options: string | IFlattenOptions): Record&lt;string, unknown&gt; {
222
232
  const resolvedOptions = typeof options === 'string' ? {
223
- prefix: options
233
+ scope: options
224
234
  } : options;
225
235
  const {
226
- prefix,
236
+ scope,
227
237
  depth = 5,
228
- ignore
238
+ omit,
239
+ pass
229
240
  } = resolvedOptions;
230
241
  const result: Record&lt;string, unknown&gt; = {};
231
242
 
@@ -237,19 +248,23 @@ export default function flattenObject&lt;T extends object&gt;(o: T, options: str
237
248
  const depthFull = depth &gt; 0 &amp;&amp; parentPaths.length + 1 &gt;= depth;
238
249
 
239
250
  _forEach(currentObj, (v: unknown, k: string) =&gt; {
240
- const key = [...parentPaths, k].join('.');
241
- const prefixedKey = prefix ? `${prefix}.${key}` : key;
251
+ const pathKey = [...parentPaths, k].join('.');
252
+ const scopedPathKey = scope ? `${scope}.${pathKey}` : pathKey;
242
253
 
243
- // 可以忽略不重要的信息
244
- if (flattenShouldIgnore(ignore, key, k, v)) {
254
+ // 可以忽略不重要的信息,默认不记录 `_` 打头的所有数据
255
+ if (/^_/.test(k) || (omit &amp;&amp; flattenTestPath(pathKey, omit))) {
245
256
  return;
246
257
  }
247
258
 
248
259
  const vAsObject = makeSureErrorObject(v as object);
249
260
 
250
- // 深度满了,或者不是对象或 Error,或者空对象(或数组),则不继续 loop
251
- if (depthFull || !_isPlainObject(vAsObject) || _isEmpty(vAsObject)) {
252
- result[prefixedKey] = vAsObject;
261
+ // 不继续 loop
262
+ // 1. 深度满了
263
+ // 2. 不是对象,不是 Error
264
+ // 3. 空对象,或空数组
265
+ // 4. 命中 `pass` 规则
266
+ if (depthFull || !_isPlainObject(vAsObject) || _isEmpty(vAsObject) || (pass &amp;&amp; flattenTestPath(pathKey, pass))) {
267
+ result[scopedPathKey] = vAsObject;
253
268
 
254
269
  return;
255
270
  }
@@ -268,7 +283,7 @@ export default function flattenObject&lt;T extends object&gt;(o: T, options: str
268
283
  <div class='footer quiet pad2 space-top1 center small'>
269
284
  Code coverage generated by
270
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
271
- at 2024-09-21T01:37:29.540Z
286
+ at 2024-09-23T02:22:37.767Z
272
287
  </div>
273
288
  <script src="../../prettify.js"></script>
274
289
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/util/flatten-should-ignore.ts</title>
6
+ <title>Code coverage report for src/util/flatten-test-path.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
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>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> flatten-test-path.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>15/15</span>
28
+ <span class='fraction'>5/5</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/9</span>
35
+ <span class='fraction'>6/6</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>15/15</span>
49
+ <span class='fraction'>5/5</span>
50
50
  </div>
51
51
 
52
52
 
@@ -71,64 +71,22 @@
71
71
  <a name='L6'></a><a href='#L6'>6</a>
72
72
  <a name='L7'></a><a href='#L7'>7</a>
73
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">&nbsp;</span>
74
+ <a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
89
75
  <span class="cline-any cline-neutral">&nbsp;</span>
90
76
  <span class="cline-any cline-neutral">&nbsp;</span>
91
77
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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
78
+ <span class="cline-any cline-yes">81x</span>
79
+ <span class="cline-any cline-yes">81x</span>
80
+ <span class="cline-any cline-yes">130x</span>
81
+ <span class="cline-any cline-yes">81x</span>
82
+ <span class="cline-any cline-yes">81x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
83
+ TFlattenPathTester
112
84
  } from '../types';
113
85
  &nbsp;
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;
86
+ export default function flattenTestPath(path: string, tester: TFlattenPathTester): boolean {
87
+ return (Array.isArray(tester) ? tester : [tester]).some(v =&gt; {
88
+ return typeof v === 'string' ? v === path : v.test(path);
89
+ });
132
90
  }</pre></td></tr></table></pre>
133
91
 
134
92
  <div class='push'></div><!-- for sticky footer -->
@@ -136,7 +94,7 @@ export default function flattenShouldIgnore(ignore: ISlsFlattenOptions['ignore']
136
94
  <div class='footer quiet pad2 space-top1 center small'>
137
95
  Code coverage generated by
138
96
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2024-09-21T01:37:29.540Z
97
+ at 2024-09-23T02:22:37.767Z
140
98
  </div>
141
99
  <script src="../../prettify.js"></script>
142
100
  <script>
@@ -73,12 +73,12 @@
73
73
  <a name='L8'></a><a href='#L8'>8</a>
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">63x</span>
77
- <span class="cline-any cline-yes">63x</span>
78
- <span class="cline-any cline-yes">56x</span>
79
- <span class="cline-any cline-yes">56x</span>
76
+ <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">64x</span>
77
+ <span class="cline-any cline-yes">64x</span>
78
+ <span class="cline-any cline-yes">57x</span>
79
+ <span class="cline-any cline-yes">57x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-yes">63x</span>
81
+ <span class="cline-any cline-yes">64x</span>
82
82
  <span class="cline-any cline-yes">3x</span>
83
83
  <span class="cline-any cline-yes">3x</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,7 +100,7 @@
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2024-09-21T01:37:29.540Z
103
+ at 2024-09-23T02:22:37.767Z
104
104
  </div>
105
105
  <script src="../../prettify.js"></script>
106
106
  <script>
@@ -82,7 +82,7 @@ export default function getSilentCountdown(silentTime: number): number {
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2024-09-21T01:37:29.540Z
85
+ at 2024-09-23T02:22:37.767Z
86
86
  </div>
87
87
  <script src="../../prettify.js"></script>
88
88
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>152/152</span>
28
+ <span class='fraction'>143/143</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>64/64</span>
35
+ <span class='fraction'>65/65</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>152/152</span>
49
+ <span class='fraction'>143/143</span>
50
50
  </div>
51
51
 
52
52
 
@@ -144,28 +144,28 @@
144
144
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
145
  </td>
146
146
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="38" class="abs high">38/38</td>
147
+ <td data-value="39" class="abs high">39/39</td>
148
148
  <td data-value="100" class="pct high">100%</td>
149
- <td data-value="16" class="abs high">16/16</td>
149
+ <td data-value="20" class="abs high">20/20</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
151
  <td data-value="3" class="abs high">3/3</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="38" class="abs high">38/38</td>
153
+ <td data-value="39" class="abs high">39/39</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
157
- <td class="file high" data-value="flatten-should-ignore.ts"><a href="flatten-should-ignore.ts.html">flatten-should-ignore.ts</a></td>
157
+ <td class="file high" data-value="flatten-test-path.ts"><a href="flatten-test-path.ts.html">flatten-test-path.ts</a></td>
158
158
  <td data-value="100" class="pic high">
159
159
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
160
  </td>
161
161
  <td data-value="100" class="pct high">100%</td>
162
- <td data-value="15" class="abs high">15/15</td>
162
+ <td data-value="5" class="abs high">5/5</td>
163
163
  <td data-value="100" class="pct high">100%</td>
164
- <td data-value="9" class="abs high">9/9</td>
164
+ <td data-value="6" class="abs high">6/6</td>
165
165
  <td data-value="100" class="pct high">100%</td>
166
166
  <td data-value="1" class="abs high">1/1</td>
167
167
  <td data-value="100" class="pct high">100%</td>
168
- <td data-value="15" class="abs high">15/15</td>
168
+ <td data-value="5" class="abs high">5/5</td>
169
169
  </tr>
170
170
 
171
171
  <tr>
@@ -229,7 +229,7 @@
229
229
  </tr>
230
230
 
231
231
  <tr>
232
- <td class="file high" data-value="merge-should-ignore.ts"><a href="merge-should-ignore.ts.html">merge-should-ignore.ts</a></td>
232
+ <td class="file high" data-value="merge-dont-send.ts"><a href="merge-dont-send.ts.html">merge-dont-send.ts</a></td>
233
233
  <td data-value="100" class="pic high">
234
234
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
235
  </td>
@@ -266,7 +266,7 @@
266
266
  <div class='footer quiet pad2 space-top1 center small'>
267
267
  Code coverage generated by
268
268
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
269
- at 2024-09-21T01:37:29.540Z
269
+ at 2024-09-23T02:22:37.767Z
270
270
  </div>
271
271
  <script src="../../prettify.js"></script>
272
272
  <script>
@@ -89,7 +89,7 @@ export { default as convertErrorToPlain } from './convert-error-to-plain';
89
89
  export { default as resolveDefaultParams } from './resolve-default-params';
90
90
  export { default as createSlsLogQuick } from './create-sls-log-quick';
91
91
  export { default as mergeDefaultParams } from './merge-default-params';
92
- export { default as mergeShouldIgnore } from './merge-should-ignore';
92
+ export { default as mergeDontSend } from './merge-dont-send';
93
93
  &nbsp;</pre></td></tr></table></pre>
94
94
 
95
95
  <div class='push'></div><!-- for sticky footer -->
@@ -97,7 +97,7 @@ export { default as mergeShouldIgnore } from './merge-should-ignore';
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2024-09-21T01:37:29.540Z
100
+ at 2024-09-23T02:22:37.767Z
101
101
  </div>
102
102
  <script src="../../prettify.js"></script>
103
103
  <script>
@@ -133,7 +133,7 @@ export default function mergeDefaultParams(factoryDefaultParams?: TDefaultParams
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2024-09-21T01:37:29.540Z
136
+ at 2024-09-23T02:22:37.767Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/util/merge-should-ignore.ts</title>
6
+ <title>Code coverage report for src/util/merge-dont-send.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> merge-should-ignore.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> merge-dont-send.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -84,15 +84,15 @@
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
85
  <span class="cline-any cline-yes">1x</span>
86
86
  <span class="cline-any cline-yes">1x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
87
- IShouldIgnore
87
+ IDontSend
88
88
  } from '../types';
89
89
  &nbsp;
90
- export default function mergeShouldIgnore(factoryShouldIgnore?: IShouldIgnore, shouldIgnore?: IShouldIgnore): IShouldIgnore | undefined {
91
- if (!factoryShouldIgnore || !shouldIgnore) {
92
- return shouldIgnore || factoryShouldIgnore;
90
+ export default function mergeDontSend(factoryDontSend?: IDontSend, dontSend?: IDontSend): IDontSend | undefined {
91
+ if (!factoryDontSend || !dontSend) {
92
+ return dontSend || factoryDontSend;
93
93
  }
94
94
 
95
- return (): boolean | void =&gt; factoryShouldIgnore() || shouldIgnore();
95
+ return (): boolean | void =&gt; factoryDontSend() || dontSend();
96
96
  }</pre></td></tr></table></pre>
97
97
 
98
98
  <div class='push'></div><!-- for sticky footer -->
@@ -100,7 +100,7 @@ export default function mergeShouldIgnore(factoryShouldIgnore?: IShouldIgnore, s
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2024-09-21T01:37:29.540Z
103
+ at 2024-09-23T02:22:37.767Z
104
104
  </div>
105
105
  <script src="../../prettify.js"></script>
106
106
  <script>
@@ -73,9 +73,9 @@
73
73
  <span class="cline-any cline-neutral">&nbsp;</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
75
  <span class="cline-any cline-neutral">&nbsp;</span>
76
- <span class="cline-any cline-yes">59x</span>
77
- <span class="cline-any cline-yes">59x</span>
78
- <span class="cline-any cline-yes">59x</span></td><td class="text"><pre class="prettyprint lang-js">import {
76
+ <span class="cline-any cline-yes">60x</span>
77
+ <span class="cline-any cline-yes">60x</span>
78
+ <span class="cline-any cline-yes">60x</span></td><td class="text"><pre class="prettyprint lang-js">import {
79
79
  TDefaultParams
80
80
  } from '../types';
81
81
  &nbsp;
@@ -88,7 +88,7 @@ export default function resolveDefaultParams(defaultParams?: TDefaultParams): Re
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
91
- at 2024-09-21T01:37:29.540Z
91
+ at 2024-09-23T02:22:37.767Z
92
92
  </div>
93
93
  <script src="../../prettify.js"></script>
94
94
  <script>