@ogcio/fastify-logging-wrapper 5.4.0 → 5.4.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +32 -0
  3. package/__tests__/field-filter.test.ts +57 -0
  4. package/__tests__/helpers/build-fastify.ts +6 -2
  5. package/__tests__/helpers/fastify-test-helpers.ts +5 -2
  6. package/__tests__/logging-filtering.test.ts +99 -0
  7. package/coverage/cobertura-coverage.xml +347 -0
  8. package/coverage/lcov-report/base.css +224 -0
  9. package/coverage/lcov-report/block-navigation.js +87 -0
  10. package/coverage/lcov-report/fastify-logging-wrapper.ts.html +706 -0
  11. package/coverage/lcov-report/favicon.png +0 -0
  12. package/coverage/lcov-report/field-filter.ts.html +223 -0
  13. package/coverage/lcov-report/index.html +176 -0
  14. package/coverage/lcov-report/index.ts.html +130 -0
  15. package/coverage/lcov-report/logging-wrapper-entities.ts.html +484 -0
  16. package/coverage/lcov-report/logging-wrapper.ts.html +481 -0
  17. package/coverage/lcov-report/prettify.css +1 -0
  18. package/coverage/lcov-report/prettify.js +2 -0
  19. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  20. package/coverage/lcov-report/sorter.js +210 -0
  21. package/coverage/lcov.info +372 -0
  22. package/dist/fastify-logging-wrapper.d.ts +2 -1
  23. package/dist/fastify-logging-wrapper.d.ts.map +1 -1
  24. package/dist/fastify-logging-wrapper.js +3 -2
  25. package/dist/fastify-logging-wrapper.js.map +1 -1
  26. package/dist/field-filter.d.ts +17 -0
  27. package/dist/field-filter.d.ts.map +1 -0
  28. package/dist/field-filter.js +22 -0
  29. package/dist/field-filter.js.map +1 -0
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/logging-wrapper-entities.d.ts +2 -2
  35. package/dist/logging-wrapper-entities.d.ts.map +1 -1
  36. package/dist/logging-wrapper.d.ts +2 -0
  37. package/dist/logging-wrapper.d.ts.map +1 -1
  38. package/dist/logging-wrapper.js +21 -8
  39. package/dist/logging-wrapper.js.map +1 -1
  40. package/package.json +12 -10
  41. package/src/fastify-logging-wrapper.ts +7 -1
  42. package/src/field-filter.ts +46 -0
  43. package/src/index.ts +2 -0
  44. package/src/logging-wrapper-entities.ts +2 -2
  45. package/src/logging-wrapper.ts +27 -8
  46. package/tsconfig.prod.tsbuildinfo +1 -0
  47. package/vitest.config.mts +8 -3
@@ -0,0 +1,210 @@
1
+ /* eslint-disable */
2
+ var addSorting = (function() {
3
+ 'use strict';
4
+ var cols,
5
+ currentSort = {
6
+ index: 0,
7
+ desc: false
8
+ };
9
+
10
+ // returns the summary table element
11
+ function getTable() {
12
+ return document.querySelector('.coverage-summary');
13
+ }
14
+ // returns the thead element of the summary table
15
+ function getTableHeader() {
16
+ return getTable().querySelector('thead tr');
17
+ }
18
+ // returns the tbody element of the summary table
19
+ function getTableBody() {
20
+ return getTable().querySelector('tbody');
21
+ }
22
+ // returns the th element for nth column
23
+ function getNthColumn(n) {
24
+ return getTableHeader().querySelectorAll('th')[n];
25
+ }
26
+
27
+ function onFilterInput() {
28
+ const searchValue = document.getElementById('fileSearch').value;
29
+ const rows = document.getElementsByTagName('tbody')[0].children;
30
+
31
+ // Try to create a RegExp from the searchValue. If it fails (invalid regex),
32
+ // it will be treated as a plain text search
33
+ let searchRegex;
34
+ try {
35
+ searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive
36
+ } catch (error) {
37
+ searchRegex = null;
38
+ }
39
+
40
+ for (let i = 0; i < rows.length; i++) {
41
+ const row = rows[i];
42
+ let isMatch = false;
43
+
44
+ if (searchRegex) {
45
+ // If a valid regex was created, use it for matching
46
+ isMatch = searchRegex.test(row.textContent);
47
+ } else {
48
+ // Otherwise, fall back to the original plain text search
49
+ isMatch = row.textContent
50
+ .toLowerCase()
51
+ .includes(searchValue.toLowerCase());
52
+ }
53
+
54
+ row.style.display = isMatch ? '' : 'none';
55
+ }
56
+ }
57
+
58
+ // loads the search box
59
+ function addSearchBox() {
60
+ var template = document.getElementById('filterTemplate');
61
+ var templateClone = template.content.cloneNode(true);
62
+ templateClone.getElementById('fileSearch').oninput = onFilterInput;
63
+ template.parentElement.appendChild(templateClone);
64
+ }
65
+
66
+ // loads all columns
67
+ function loadColumns() {
68
+ var colNodes = getTableHeader().querySelectorAll('th'),
69
+ colNode,
70
+ cols = [],
71
+ col,
72
+ i;
73
+
74
+ for (i = 0; i < colNodes.length; i += 1) {
75
+ colNode = colNodes[i];
76
+ col = {
77
+ key: colNode.getAttribute('data-col'),
78
+ sortable: !colNode.getAttribute('data-nosort'),
79
+ type: colNode.getAttribute('data-type') || 'string'
80
+ };
81
+ cols.push(col);
82
+ if (col.sortable) {
83
+ col.defaultDescSort = col.type === 'number';
84
+ colNode.innerHTML =
85
+ colNode.innerHTML + '<span class="sorter"></span>';
86
+ }
87
+ }
88
+ return cols;
89
+ }
90
+ // attaches a data attribute to every tr element with an object
91
+ // of data values keyed by column name
92
+ function loadRowData(tableRow) {
93
+ var tableCols = tableRow.querySelectorAll('td'),
94
+ colNode,
95
+ col,
96
+ data = {},
97
+ i,
98
+ val;
99
+ for (i = 0; i < tableCols.length; i += 1) {
100
+ colNode = tableCols[i];
101
+ col = cols[i];
102
+ val = colNode.getAttribute('data-value');
103
+ if (col.type === 'number') {
104
+ val = Number(val);
105
+ }
106
+ data[col.key] = val;
107
+ }
108
+ return data;
109
+ }
110
+ // loads all row data
111
+ function loadData() {
112
+ var rows = getTableBody().querySelectorAll('tr'),
113
+ i;
114
+
115
+ for (i = 0; i < rows.length; i += 1) {
116
+ rows[i].data = loadRowData(rows[i]);
117
+ }
118
+ }
119
+ // sorts the table using the data for the ith column
120
+ function sortByIndex(index, desc) {
121
+ var key = cols[index].key,
122
+ sorter = function(a, b) {
123
+ a = a.data[key];
124
+ b = b.data[key];
125
+ return a < b ? -1 : a > b ? 1 : 0;
126
+ },
127
+ finalSorter = sorter,
128
+ tableBody = document.querySelector('.coverage-summary tbody'),
129
+ rowNodes = tableBody.querySelectorAll('tr'),
130
+ rows = [],
131
+ i;
132
+
133
+ if (desc) {
134
+ finalSorter = function(a, b) {
135
+ return -1 * sorter(a, b);
136
+ };
137
+ }
138
+
139
+ for (i = 0; i < rowNodes.length; i += 1) {
140
+ rows.push(rowNodes[i]);
141
+ tableBody.removeChild(rowNodes[i]);
142
+ }
143
+
144
+ rows.sort(finalSorter);
145
+
146
+ for (i = 0; i < rows.length; i += 1) {
147
+ tableBody.appendChild(rows[i]);
148
+ }
149
+ }
150
+ // removes sort indicators for current column being sorted
151
+ function removeSortIndicators() {
152
+ var col = getNthColumn(currentSort.index),
153
+ cls = col.className;
154
+
155
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
156
+ col.className = cls;
157
+ }
158
+ // adds sort indicators for current column being sorted
159
+ function addSortIndicators() {
160
+ getNthColumn(currentSort.index).className += currentSort.desc
161
+ ? ' sorted-desc'
162
+ : ' sorted';
163
+ }
164
+ // adds event listeners for all sorter widgets
165
+ function enableUI() {
166
+ var i,
167
+ el,
168
+ ithSorter = function ithSorter(i) {
169
+ var col = cols[i];
170
+
171
+ return function() {
172
+ var desc = col.defaultDescSort;
173
+
174
+ if (currentSort.index === i) {
175
+ desc = !currentSort.desc;
176
+ }
177
+ sortByIndex(i, desc);
178
+ removeSortIndicators();
179
+ currentSort.index = i;
180
+ currentSort.desc = desc;
181
+ addSortIndicators();
182
+ };
183
+ };
184
+ for (i = 0; i < cols.length; i += 1) {
185
+ if (cols[i].sortable) {
186
+ // add the click event handler on the th so users
187
+ // dont have to click on those tiny arrows
188
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
189
+ if (el.addEventListener) {
190
+ el.addEventListener('click', ithSorter(i));
191
+ } else {
192
+ el.attachEvent('onclick', ithSorter(i));
193
+ }
194
+ }
195
+ }
196
+ }
197
+ // adds sorting functionality to the UI
198
+ return function() {
199
+ if (!getTable()) {
200
+ return;
201
+ }
202
+ cols = loadColumns();
203
+ loadData();
204
+ addSearchBox();
205
+ addSortIndicators();
206
+ enableUI();
207
+ };
208
+ })();
209
+
210
+ window.addEventListener('load', addSorting);
@@ -0,0 +1,372 @@
1
+ TN:
2
+ SF:src/fastify-logging-wrapper.ts
3
+ FN:35,(anonymous_0)
4
+ FN:42,(anonymous_1)
5
+ FN:48,(anonymous_2)
6
+ FN:53,(anonymous_3)
7
+ FN:67,(anonymous_4)
8
+ FN:89,(anonymous_5)
9
+ FN:103,(anonymous_6)
10
+ FN:127,(anonymous_7)
11
+ FN:142,(anonymous_8)
12
+ FN:148,(anonymous_9)
13
+ FN:182,(anonymous_10)
14
+ FNF:11
15
+ FNH:10
16
+ FNDA:40,(anonymous_0)
17
+ FNDA:218,(anonymous_1)
18
+ FNDA:18,(anonymous_2)
19
+ FNDA:20,(anonymous_3)
20
+ FNDA:20,(anonymous_4)
21
+ FNDA:6,(anonymous_5)
22
+ FNDA:18,(anonymous_6)
23
+ FNDA:19,(anonymous_7)
24
+ FNDA:0,(anonymous_8)
25
+ FNDA:26,(anonymous_9)
26
+ FNDA:26,(anonymous_10)
27
+ DA:33,3
28
+ DA:35,3
29
+ DA:36,40
30
+ DA:42,218
31
+ DA:48,3
32
+ DA:52,18
33
+ DA:53,18
34
+ DA:54,20
35
+ DA:56,20
36
+ DA:58,20
37
+ DA:59,20
38
+ DA:61,0
39
+ DA:64,20
40
+ DA:67,18
41
+ DA:68,20
42
+ DA:73,20
43
+ DA:75,20
44
+ DA:78,20
45
+ DA:79,20
46
+ DA:80,6
47
+ DA:82,14
48
+ DA:85,20
49
+ DA:86,20
50
+ DA:89,18
51
+ DA:90,6
52
+ DA:95,6
53
+ DA:97,6
54
+ DA:99,6
55
+ DA:103,3
56
+ DA:117,18
57
+ DA:118,18
58
+ DA:127,19
59
+ DA:132,0
60
+ DA:133,0
61
+ DA:134,0
62
+ DA:139,0
63
+ DA:142,0
64
+ DA:148,3
65
+ DA:152,26
66
+ DA:153,26
67
+ DA:154,23
68
+ DA:158,3
69
+ DA:161,26
70
+ DA:162,0
71
+ DA:165,3
72
+ DA:166,1
73
+ DA:169,2
74
+ DA:173,0
75
+ DA:176,2
76
+ DA:182,3
77
+ DA:188,26
78
+ DA:189,26
79
+ DA:190,0
80
+ DA:192,26
81
+ DA:193,20
82
+ DA:195,26
83
+ DA:196,6
84
+ DA:199,26
85
+ DA:200,26
86
+ DA:201,26
87
+ DA:202,2
88
+ DA:206,26
89
+ LF:62
90
+ LH:53
91
+ BRDA:37,0,0,40
92
+ BRDA:37,0,1,40
93
+ BRDA:37,0,2,40
94
+ BRDA:37,0,3,40
95
+ BRDA:58,1,0,20
96
+ BRDA:58,1,1,0
97
+ BRDA:79,2,0,6
98
+ BRDA:79,2,1,14
99
+ BRDA:117,3,0,18
100
+ BRDA:117,3,1,0
101
+ BRDA:117,4,0,18
102
+ BRDA:117,4,1,18
103
+ BRDA:122,5,0,18
104
+ BRDA:122,5,1,18
105
+ BRDA:133,6,0,0
106
+ BRDA:133,6,1,0
107
+ BRDA:152,7,0,3
108
+ BRDA:152,7,1,23
109
+ BRDA:152,8,0,26
110
+ BRDA:152,8,1,3
111
+ BRDA:153,9,0,23
112
+ BRDA:153,9,1,3
113
+ BRDA:153,10,0,26
114
+ BRDA:153,10,1,3
115
+ BRDA:158,11,0,3
116
+ BRDA:158,11,1,0
117
+ BRDA:158,12,0,3
118
+ BRDA:158,12,1,3
119
+ BRDA:161,13,0,0
120
+ BRDA:161,13,1,26
121
+ BRDA:161,14,0,26
122
+ BRDA:161,14,1,3
123
+ BRDA:165,15,0,1
124
+ BRDA:165,15,1,2
125
+ BRDA:165,16,0,3
126
+ BRDA:165,16,1,3
127
+ BRDA:169,17,0,0
128
+ BRDA:169,17,1,2
129
+ BRDA:170,18,0,2
130
+ BRDA:170,18,1,2
131
+ BRDA:189,19,0,0
132
+ BRDA:189,19,1,26
133
+ BRDA:189,20,0,26
134
+ BRDA:189,20,1,26
135
+ BRDA:192,21,0,20
136
+ BRDA:192,21,1,6
137
+ BRDA:195,22,0,6
138
+ BRDA:195,22,1,20
139
+ BRDA:199,23,0,26
140
+ BRDA:199,23,1,0
141
+ BRDA:201,24,0,2
142
+ BRDA:201,24,1,24
143
+ BRF:52
144
+ BRH:43
145
+ end_of_record
146
+ TN:
147
+ SF:src/field-filter.ts
148
+ FN:20,(anonymous_0)
149
+ FN:32,(anonymous_1)
150
+ FNF:2
151
+ FNH:2
152
+ FNDA:91,(anonymous_0)
153
+ FNDA:36,(anonymous_1)
154
+ DA:20,5
155
+ DA:25,91
156
+ DA:26,79
157
+ DA:28,12
158
+ DA:29,3
159
+ DA:32,9
160
+ DA:33,36
161
+ DA:34,9
162
+ DA:35,91
163
+ DA:37,91
164
+ DA:38,91
165
+ DA:39,23
166
+ DA:40,23
167
+ DA:41,5
168
+ DA:43,18
169
+ DA:45,9
170
+ LF:16
171
+ LH:16
172
+ BRDA:23,0,0,91
173
+ BRDA:25,1,0,79
174
+ BRDA:25,1,1,12
175
+ BRDA:25,2,0,91
176
+ BRDA:25,2,1,14
177
+ BRDA:25,2,2,5
178
+ BRDA:28,3,0,3
179
+ BRDA:28,3,1,9
180
+ BRDA:28,4,0,12
181
+ BRDA:28,4,1,11
182
+ BRDA:28,4,2,10
183
+ BRDA:33,5,0,13
184
+ BRDA:33,5,1,23
185
+ BRDA:34,6,0,9
186
+ BRDA:34,6,1,3
187
+ BRDA:35,7,0,91
188
+ BRDA:35,7,1,2
189
+ BRDA:40,8,0,5
190
+ BRDA:40,8,1,18
191
+ BRDA:43,9,0,6
192
+ BRDA:43,9,1,12
193
+ BRF:21
194
+ BRH:21
195
+ end_of_record
196
+ TN:
197
+ SF:src/index.ts
198
+ FNF:0
199
+ FNH:0
200
+ LF:0
201
+ LH:0
202
+ BRF:0
203
+ BRH:0
204
+ end_of_record
205
+ TN:
206
+ SF:src/logging-wrapper-entities.ts
207
+ FN:48,(anonymous_0)
208
+ FN:55,(anonymous_1)
209
+ FN:80,(anonymous_2)
210
+ FN:109,(anonymous_3)
211
+ FNF:4
212
+ FNH:4
213
+ FNDA:5,(anonymous_0)
214
+ FNDA:5,(anonymous_1)
215
+ FNDA:6,(anonymous_2)
216
+ FNDA:6,(anonymous_3)
217
+ DA:48,5
218
+ DA:49,5
219
+ DA:50,5
220
+ DA:51,5
221
+ DA:52,5
222
+ DA:55,5
223
+ DA:56,5
224
+ DA:57,5
225
+ DA:58,5
226
+ DA:59,5
227
+ DA:60,5
228
+ DA:63,5
229
+ DA:65,5
230
+ DA:74,5
231
+ DA:76,5
232
+ DA:78,5
233
+ DA:80,5
234
+ DA:83,6
235
+ DA:89,6
236
+ DA:90,1
237
+ DA:91,1
238
+ DA:95,1
239
+ DA:103,5
240
+ DA:109,5
241
+ DA:110,6
242
+ DA:111,1
243
+ DA:114,5
244
+ DA:116,5
245
+ DA:117,0
246
+ DA:120,5
247
+ DA:121,2
248
+ DA:124,3
249
+ DA:125,1
250
+ DA:128,2
251
+ DA:129,1
252
+ DA:132,1
253
+ LF:36
254
+ LH:35
255
+ BRDA:89,0,0,1
256
+ BRDA:89,0,1,5
257
+ BRDA:90,1,0,1
258
+ BRDA:90,1,1,0
259
+ BRDA:91,2,0,1
260
+ BRDA:91,2,1,0
261
+ BRDA:105,3,0,5
262
+ BRDA:105,3,1,1
263
+ BRDA:110,4,0,1
264
+ BRDA:110,4,1,5
265
+ BRDA:116,5,0,0
266
+ BRDA:116,5,1,5
267
+ BRDA:120,6,0,2
268
+ BRDA:120,6,1,3
269
+ BRDA:124,7,0,1
270
+ BRDA:124,7,1,2
271
+ BRDA:128,8,0,1
272
+ BRDA:128,8,1,1
273
+ BRF:18
274
+ BRH:15
275
+ end_of_record
276
+ TN:
277
+ SF:src/logging-wrapper.ts
278
+ FN:23,(anonymous_0)
279
+ FN:29,(anonymous_1)
280
+ FN:36,(anonymous_2)
281
+ FN:56,(anonymous_3)
282
+ FN:63,(anonymous_4)
283
+ FN:66,(anonymous_5)
284
+ FN:73,(anonymous_6)
285
+ FN:76,(anonymous_7)
286
+ FN:85,(anonymous_8)
287
+ FN:102,(anonymous_9)
288
+ FN:111,(anonymous_10)
289
+ FN:116,(anonymous_11)
290
+ FN:126,(anonymous_12)
291
+ FNF:13
292
+ FNH:13
293
+ FNDA:18,(anonymous_0)
294
+ FNDA:128,(anonymous_1)
295
+ FNDA:46,(anonymous_2)
296
+ FNDA:20,(anonymous_3)
297
+ FNDA:6,(anonymous_4)
298
+ FNDA:20,(anonymous_5)
299
+ FNDA:40,(anonymous_6)
300
+ FNDA:40,(anonymous_7)
301
+ FNDA:20,(anonymous_8)
302
+ FNDA:20,(anonymous_9)
303
+ FNDA:26,(anonymous_10)
304
+ FNDA:76,(anonymous_11)
305
+ FNDA:156,(anonymous_12)
306
+ DA:19,4
307
+ DA:21,4
308
+ DA:23,4
309
+ DA:24,18
310
+ DA:29,4
311
+ DA:32,128
312
+ DA:36,4
313
+ DA:42,46
314
+ DA:43,20
315
+ DA:45,46
316
+ DA:46,20
317
+ DA:48,46
318
+ DA:49,6
319
+ DA:51,46
320
+ DA:52,2
321
+ DA:56,4
322
+ DA:57,20
323
+ DA:58,20
324
+ DA:59,20
325
+ DA:60,20
326
+ DA:63,4
327
+ DA:64,6
328
+ DA:66,4
329
+ DA:68,20
330
+ DA:73,4
331
+ DA:74,40
332
+ DA:76,40
333
+ DA:85,4
334
+ DA:88,20
335
+ DA:89,20
336
+ DA:93,20
337
+ DA:94,19
338
+ DA:96,20
339
+ DA:97,19
340
+ DA:99,20
341
+ DA:102,20
342
+ DA:111,4
343
+ DA:113,26
344
+ DA:116,76
345
+ DA:126,156
346
+ LF:40
347
+ LH:40
348
+ BRDA:23,0,0,18
349
+ BRDA:32,1,0,26
350
+ BRDA:32,1,1,102
351
+ BRDA:42,2,0,20
352
+ BRDA:42,2,1,26
353
+ BRDA:45,3,0,20
354
+ BRDA:45,3,1,26
355
+ BRDA:48,4,0,6
356
+ BRDA:48,4,1,40
357
+ BRDA:51,5,0,2
358
+ BRDA:51,5,1,44
359
+ BRDA:69,6,0,20
360
+ BRDA:69,6,1,14
361
+ BRDA:74,7,0,40
362
+ BRDA:74,7,1,0
363
+ BRDA:93,8,0,19
364
+ BRDA:93,8,1,1
365
+ BRDA:96,9,0,19
366
+ BRDA:96,9,1,1
367
+ BRDA:97,10,0,19
368
+ BRDA:97,10,1,0
369
+ BRDA:112,11,0,26
370
+ BRF:22
371
+ BRH:20
372
+ end_of_record
@@ -1,7 +1,8 @@
1
1
  import type { FastifyInstance, FastifyServerOptions, RawServerBase } from "fastify";
2
2
  import type { FastifyLoggerOptions, PinoLoggerOptions } from "fastify/types/logger.js";
3
3
  import { type DestinationStream } from "pino";
4
- export declare const initializeLoggingHooks: (server: FastifyInstance) => void;
4
+ import type { LoggingOptions } from "./field-filter.js";
5
+ export declare const initializeLoggingHooks: (server: FastifyInstance, options?: LoggingOptions) => void;
5
6
  export declare const getLoggingConfiguration: (customConfig?: {
6
7
  pinoOptions?: PinoLoggerOptions;
7
8
  loggerDestination?: DestinationStream;
@@ -1 +1 @@
1
- {"version":3,"file":"fastify-logging-wrapper.d.ts","sourceRoot":"","sources":["../src/fastify-logging-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAGf,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,MAAM,CAAC;AA8BxE,eAAO,MAAM,sBAAsB,GAAI,QAAQ,eAAe,KAAG,IAiDhE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,eACI;IACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,uBAAuB,CAAC,EAAE,KAAK,CAAC;CACjC,GACD;IACE,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC3D,iBAAiB,CAAC;CACrB,KACJ,oBA8BF,CAAC"}
1
+ {"version":3,"file":"fastify-logging-wrapper.d.ts","sourceRoot":"","sources":["../src/fastify-logging-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAGf,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,MAAM,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA+BxD,eAAO,MAAM,sBAAsB,GACjC,QAAQ,eAAe,EACvB,UAAU,cAAc,KACvB,IAkDF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,eACI;IACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,uBAAuB,CAAC,EAAE,KAAK,CAAC;CACjC,GACD;IACE,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC3D,iBAAiB,CAAC;CACrB,KACJ,oBA8BF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { REQUEST_ID_HEADER } from "@ogcio/shared-errors";
2
2
  import hyperid from "hyperid";
3
3
  import { pino } from "pino";
4
- import { getLoggerConfiguration, getLoggingContext, getLoggingContextError, getPartialLoggingContextError, parseFullLoggingRequest, resetLoggingContext, setLoggingContext, } from "./logging-wrapper.js";
4
+ import { getLoggerConfiguration, getLoggingContext, getLoggingContextError, getPartialLoggingContextError, parseFullLoggingRequest, resetLoggingContext, setLoggingContext, setLoggingOptions, } from "./logging-wrapper.js";
5
5
  import { LogMessages, REQUEST_ID_LOG_LABEL, } from "./logging-wrapper-entities.js";
6
6
  const hyperidInstance = hyperid({ fixedLength: true, urlSafe: true });
7
7
  const isObjectNotEmpty = (value) => {
@@ -10,7 +10,8 @@ const isObjectNotEmpty = (value) => {
10
10
  !Array.isArray(value) &&
11
11
  Object.keys(Object.fromEntries(Object.entries(value).filter(([_, v]) => v !== undefined))).length > 0);
12
12
  };
13
- export const initializeLoggingHooks = (server) => {
13
+ export const initializeLoggingHooks = (server, options) => {
14
+ setLoggingOptions(options);
14
15
  server.addHook("preParsing", (request, _reply, payload, done) => {
15
16
  setLoggingContext({ request });
16
17
  const requestParsed = parseFullLoggingRequest(request);
@@ -1 +1 @@
1
- {"version":3,"file":"fastify-logging-wrapper.js","sourceRoot":"","sources":["../src/fastify-logging-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastify-logging-wrapper.js","sourceRoot":"","sources":["../src/fastify-logging-wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface FieldRules {
2
+ omit?: string[];
3
+ mask?: string[];
4
+ }
5
+ export interface LoggingOptions {
6
+ request?: {
7
+ headers?: FieldRules;
8
+ queryParams?: FieldRules;
9
+ clientIp?: "omit";
10
+ userAgent?: "omit";
11
+ };
12
+ response?: {
13
+ headers?: FieldRules;
14
+ };
15
+ }
16
+ export declare const applyFieldRules: (value: unknown, rules: FieldRules | undefined, caseInsensitive?: boolean) => unknown;
17
+ //# sourceMappingURL=field-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-filter.d.ts","sourceRoot":"","sources":["../src/field-filter.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,UAAU,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,EACd,OAAO,UAAU,GAAG,SAAS,EAC7B,yBAAuB,KACtB,OAsBF,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { REDACTED_VALUE } from "./logging-wrapper-entities.js";
2
+ export const applyFieldRules = (value, rules, caseInsensitive = false) => {
3
+ if (!rules || (!rules.omit?.length && !rules.mask?.length)) {
4
+ return value;
5
+ }
6
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
7
+ return value;
8
+ }
9
+ const normalize = (key) => caseInsensitive ? key.toLowerCase() : key;
10
+ const toOmit = new Set((rules.omit ?? []).map(normalize));
11
+ const toMask = new Set((rules.mask ?? []).map(normalize));
12
+ const result = {};
13
+ for (const [key, entry] of Object.entries(value)) {
14
+ const normalized = normalize(key);
15
+ if (toOmit.has(normalized)) {
16
+ continue;
17
+ }
18
+ result[key] = toMask.has(normalized) ? REDACTED_VALUE : entry;
19
+ }
20
+ return result;
21
+ };
22
+ //# sourceMappingURL=field-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-filter.js","sourceRoot":"","sources":["../src/field-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAmB/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAc,EACd,KAA6B,EAC7B,eAAe,GAAG,KAAK,EACd,EAAE;IACX,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CACxC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { getLoggingConfiguration, initializeLoggingHooks, } from "./fastify-logging-wrapper.js";
2
- export { getLoggingContextError, setLoggingContext, } from "./logging-wrapper.js";
2
+ export type { FieldRules, LoggingOptions } from "./field-filter.js";
3
+ export { getLoggingContext, getLoggingContextError, setLoggingContext, } from "./logging-wrapper.js";
3
4
  export { LoggingError, LogMessages, toLoggingError, } from "./logging-wrapper-entities.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,+BAA+B,CAAC"}