@ogcio/building-blocks-sdk 0.2.39 → 0.2.40

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.2.39"
2
+ ".": "0.2.40"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.40](https://github.com/ogcio/building-blocks-sdk/compare/@ogcio/building-blocks-sdk@v0.2.39...@ogcio/building-blocks-sdk@v0.2.40) (2025-07-02)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * removed response logging AB[#29456](https://github.com/ogcio/building-blocks-sdk/issues/29456) ([#227](https://github.com/ogcio/building-blocks-sdk/issues/227)) ([7ae885b](https://github.com/ogcio/building-blocks-sdk/commit/7ae885b1bbe5c3bd50fd470d58e37aa748c141df))
9
+
3
10
  ## [0.2.39](https://github.com/ogcio/building-blocks-sdk/compare/@ogcio/building-blocks-sdk@v0.2.38...@ogcio/building-blocks-sdk@v0.2.39) (2025-06-24)
4
11
 
5
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../src/client/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAM3B,8BAAsB,UAAU,CAAC,CAAC,SAAS,EAAE;IAC3C,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,sBAAsB,CAAQ;IACtC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,oBAAoB,SAA4B;IAC1D,OAAO,CAAC,WAAW,CAA0C;IAC7D,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACrC,SAAS,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzC,EACV,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAgDM,WAAW;cAKF,QAAQ;IAmBjB,aAAa;IAIb,aAAa;IAIpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;YAIR,mBAAmB;IAQpB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAazD"}
1
+ {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../src/client/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAM3B,8BAAsB,UAAU,CAAC,CAAC,SAAS,EAAE;IAC3C,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,sBAAsB,CAAQ;IACtC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,oBAAoB,SAA4B;IAC1D,OAAO,CAAC,WAAW,CAA0C;IAC7D,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACrC,SAAS,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzC,EACV,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAmDM,WAAW;cAKF,QAAQ;IAmBjB,aAAa;IAIb,aAAa;IAIpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;YAIR,mBAAmB;IAQpB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAazD"}
@@ -43,7 +43,10 @@ export class BaseClient {
43
43
  catch (_e) {
44
44
  requestBody = clonedRequest.body;
45
45
  }
46
- this.logger.trace({ body: requestBody, url: clonedRequest.url }, `${this.serviceName} - executing request`);
46
+ this.logger.trace({
47
+ body: requestBody ? "Is set" : "Not set",
48
+ url: clonedRequest.url,
49
+ }, `${this.serviceName} - executing request`);
47
50
  }
48
51
  if (this.token) {
49
52
  request.headers.set("Authorization", `Bearer ${this.token}`);
@@ -1 +1 @@
1
- {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../src/client/base-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../src/client/base-client.ts"],"names":[],"mappings":"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"}
@@ -13,21 +13,6 @@ export declare function preparePaginationParams(paginationParams?: PaginationPar
13
13
  offset?: string;
14
14
  limit?: string;
15
15
  };
16
- /**
17
- * Performs shallow redaction of specified fields from the input data.
18
- *
19
- * Behavior:
20
- * - If `data` is an object, returns a new object with keys in `keysToRemove` removed (shallow only).
21
- * - If `data` is an array, returns a new array where:
22
- * - Each element that is an object has keys in `keysToRemove` removed.
23
- * - Non-object elements are omitted from the output array.
24
- * - For all other types (including null/undefined), returns an empty object.
25
- *
26
- * @param {unknown} data - The input data to redact fields from. Can be an object, array, or any other type.
27
- * @param {string[]} keysToRemove - Array of keys to be removed from the object(s).
28
- * @returns {Record<string, unknown> | Record<string, unknown>[]} The redacted data: a new object or array of objects without the specified keys, or an empty object.
29
- */
30
- export declare function redactFields(data: unknown, keysToRemove: string[]): Record<string, unknown> | Record<string, unknown>[];
31
16
  export declare function formatResponse<G extends Record<string | number, any>, O>(response: FetchResponse<G, O, "application/json">, serviceName: string, logger?: Logger): DataResponseValue<G, O>;
32
17
  export declare function formatError<G, O>(reason: unknown, serviceName: string, logger?: Logger): DataResponseValue<G, O>;
33
18
  export declare function parseJwtToken(token: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"client-utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils/client-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,CACnD,UAAU,CACR,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAC3D,kBAAkB,CACnB,EACD,CAAC,CACF,GAAG;IACF,KAAK,EAAE,eAAe,CACpB,UAAU,CACR,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAC9D,kBAAkB,CACnB,EACD,CAAC,CACF,CAAC;CACH,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,sBAEzE;AAED,wBAAgB,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAYA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,uDAoBjE;AAGD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EACtE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,EACjD,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAwCzB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAKzB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAeA;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACV,MAAM,CAcR;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD"}
1
+ {"version":3,"file":"client-utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils/client-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,CACnD,UAAU,CACR,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAC3D,kBAAkB,CACnB,EACD,CAAC,CACF,GAAG;IACF,KAAK,EAAE,eAAe,CACpB,UAAU,CACR,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAC9D,kBAAkB,CACnB,EACD,CAAC,CACF,CAAC;CACH,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,sBAEzE;AAED,wBAAgB,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAYA;AAGD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EACtE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,EACjD,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAmDzB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAKzB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAeA;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACV,MAAM,CAcR;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD"}
@@ -11,35 +11,6 @@ export function preparePaginationParams(paginationParams) {
11
11
  }
12
12
  return output;
13
13
  }
14
- /**
15
- * Performs shallow redaction of specified fields from the input data.
16
- *
17
- * Behavior:
18
- * - If `data` is an object, returns a new object with keys in `keysToRemove` removed (shallow only).
19
- * - If `data` is an array, returns a new array where:
20
- * - Each element that is an object has keys in `keysToRemove` removed.
21
- * - Non-object elements are omitted from the output array.
22
- * - For all other types (including null/undefined), returns an empty object.
23
- *
24
- * @param {unknown} data - The input data to redact fields from. Can be an object, array, or any other type.
25
- * @param {string[]} keysToRemove - Array of keys to be removed from the object(s).
26
- * @returns {Record<string, unknown> | Record<string, unknown>[]} The redacted data: a new object or array of objects without the specified keys, or an empty object.
27
- */
28
- export function redactFields(data, keysToRemove) {
29
- let redactedData = {};
30
- if (Array.isArray(data)) {
31
- redactedData = [];
32
- for (const d of data) {
33
- if (d && typeof d === "object") {
34
- redactedData.push(Object.fromEntries(Object.entries(d).filter(([key]) => !keysToRemove.includes(key))));
35
- }
36
- }
37
- }
38
- else if (data && typeof data === "object") {
39
- redactedData = Object.fromEntries(Object.entries(data).filter(([key]) => !keysToRemove.includes(key)));
40
- }
41
- return redactedData;
42
- }
43
14
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
44
15
  export function formatResponse(response, serviceName, logger) {
45
16
  let outputData = undefined;
@@ -48,7 +19,13 @@ export function formatResponse(response, serviceName, logger) {
48
19
  logger?.trace(`${serviceName} - Undefined response`);
49
20
  return {};
50
21
  }
51
- logger?.trace({ rawResponse: response }, `${serviceName} - Raw response`);
22
+ // Log response format without leaking data
23
+ const toLogResponse = {
24
+ data: response.data ? "Is set" : "Not set",
25
+ error: response.error ? "Is set" : "Not set",
26
+ response: response.response ? "Is set" : "Not set",
27
+ };
28
+ logger?.trace({ responseFormat: toLogResponse }, `${serviceName} - Raw response`);
52
29
  if (response.data) {
53
30
  const dataEntries = Object.entries(response.data);
54
31
  // by docs the body should contain a "data"
@@ -65,11 +42,14 @@ export function formatResponse(response, serviceName, logger) {
65
42
  metadata: outputMetadata,
66
43
  error: response.error,
67
44
  };
45
+ // Log response format without leaking data
46
+ const toLogFormattedResponse = {
47
+ data: formattedResponse.data ? "Is set" : "Not set",
48
+ metadata: formattedResponse.metadata ? "Is set" : "Not set",
49
+ error: formattedResponse.error ? "Is set" : "Not set",
50
+ };
68
51
  logger?.trace({
69
- formattedResponse: redactFields(formattedResponse, [
70
- "receiverFullName",
71
- "subject",
72
- ]),
52
+ responseFormat: toLogFormattedResponse,
73
53
  }, `${serviceName} - Formatted response`);
74
54
  return formattedResponse;
75
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-utils.js","sourceRoot":"","sources":["../../../src/client/utils/client-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-utils.js","sourceRoot":"","sources":["../../../src/client/utils/client-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ogcio/building-blocks-sdk",
3
- "version": "0.2.39",
3
+ "version": "0.2.40",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
7
7
  "dependencies": {
8
- "@ogcio/analytics-sdk": "0.1.0-beta.18",
8
+ "@ogcio/analytics-sdk": "^0.2.0",
9
9
  "@sinclair/typebox": "^0.34.21",
10
10
  "commander": "^13.1.0",
11
11
  "http-errors": "^2.0.0",
@@ -64,7 +64,10 @@ export abstract class BaseClient<T extends {}> {
64
64
  requestBody = clonedRequest.body;
65
65
  }
66
66
  this.logger.trace(
67
- { body: requestBody, url: clonedRequest.url },
67
+ {
68
+ body: requestBody ? "Is set" : "Not set",
69
+ url: clonedRequest.url,
70
+ },
68
71
  `${this.serviceName} - executing request`,
69
72
  );
70
73
  }
@@ -50,42 +50,6 @@ export function preparePaginationParams(paginationParams?: PaginationParams): {
50
50
  return output;
51
51
  }
52
52
 
53
- /**
54
- * Performs shallow redaction of specified fields from the input data.
55
- *
56
- * Behavior:
57
- * - If `data` is an object, returns a new object with keys in `keysToRemove` removed (shallow only).
58
- * - If `data` is an array, returns a new array where:
59
- * - Each element that is an object has keys in `keysToRemove` removed.
60
- * - Non-object elements are omitted from the output array.
61
- * - For all other types (including null/undefined), returns an empty object.
62
- *
63
- * @param {unknown} data - The input data to redact fields from. Can be an object, array, or any other type.
64
- * @param {string[]} keysToRemove - Array of keys to be removed from the object(s).
65
- * @returns {Record<string, unknown> | Record<string, unknown>[]} The redacted data: a new object or array of objects without the specified keys, or an empty object.
66
- */
67
- export function redactFields(data: unknown, keysToRemove: string[]) {
68
- let redactedData: Record<string, unknown> | Record<string, unknown>[] = {};
69
- if (Array.isArray(data)) {
70
- redactedData = [];
71
- for (const d of data) {
72
- if (d && typeof d === "object") {
73
- redactedData.push(
74
- Object.fromEntries(
75
- Object.entries(d).filter(([key]) => !keysToRemove.includes(key)),
76
- ),
77
- );
78
- }
79
- }
80
- } else if (data && typeof data === "object") {
81
- redactedData = Object.fromEntries(
82
- Object.entries(data).filter(([key]) => !keysToRemove.includes(key)),
83
- );
84
- }
85
-
86
- return redactedData;
87
- }
88
-
89
53
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
90
54
  export function formatResponse<G extends Record<string | number, any>, O>(
91
55
  response: FetchResponse<G, O, "application/json">,
@@ -99,8 +63,16 @@ export function formatResponse<G extends Record<string | number, any>, O>(
99
63
  logger?.trace(`${serviceName} - Undefined response`);
100
64
  return {} as DataResponseValue<G, O>;
101
65
  }
102
-
103
- logger?.trace({ rawResponse: response }, `${serviceName} - Raw response`);
66
+ // Log response format without leaking data
67
+ const toLogResponse = {
68
+ data: response.data ? "Is set" : "Not set",
69
+ error: response.error ? "Is set" : "Not set",
70
+ response: response.response ? "Is set" : "Not set",
71
+ };
72
+ logger?.trace(
73
+ { responseFormat: toLogResponse },
74
+ `${serviceName} - Raw response`,
75
+ );
104
76
  if (response.data) {
105
77
  const dataEntries = Object.entries(response.data);
106
78
  // by docs the body should contain a "data"
@@ -120,12 +92,15 @@ export function formatResponse<G extends Record<string | number, any>, O>(
120
92
  error: response.error,
121
93
  } as unknown as DataResponseValue<G, O>;
122
94
 
95
+ // Log response format without leaking data
96
+ const toLogFormattedResponse = {
97
+ data: formattedResponse.data ? "Is set" : "Not set",
98
+ metadata: formattedResponse.metadata ? "Is set" : "Not set",
99
+ error: formattedResponse.error ? "Is set" : "Not set",
100
+ };
123
101
  logger?.trace(
124
102
  {
125
- formattedResponse: redactFields(formattedResponse, [
126
- "receiverFullName",
127
- "subject",
128
- ]),
103
+ responseFormat: toLogFormattedResponse,
129
104
  },
130
105
  `${serviceName} - Formatted response`,
131
106
  );
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-utils.test.d.ts","sourceRoot":"","sources":["../../../src/client/utils/client-utils.test.ts"],"names":[],"mappings":""}
@@ -1,118 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { redactFields } from "./client-utils.js";
3
- describe(redactFields.name, () => {
4
- describe("object input", () => {
5
- it("removes specified keys from an object (happy case)", () => {
6
- const obj = { a: 1, b: 2, c: 3 };
7
- const result = redactFields(obj, ["b", "c"]);
8
- expect(result).toEqual({ a: 1 });
9
- });
10
- it("returns full object if keysToRemove is empty", () => {
11
- const obj = { a: 1, b: 2 };
12
- const result = redactFields(obj, []);
13
- expect(result).toEqual(obj);
14
- });
15
- it("returns full object if keysToRemove keys are not in object", () => {
16
- const obj = { a: 1, b: 2 };
17
- const result = redactFields(obj, ["x", "y"]);
18
- expect(result).toEqual(obj);
19
- });
20
- it("works with keysToRemove partially present", () => {
21
- const obj = { a: 1, b: 2, c: 3 };
22
- const result = redactFields(obj, ["b", "x"]);
23
- expect(result).toEqual({ a: 1, c: 3 });
24
- });
25
- it("returns empty object if all keys removed", () => {
26
- const obj = { a: 1 };
27
- const result = redactFields(obj, ["a"]);
28
- expect(result).toEqual({});
29
- });
30
- it("handles non-object input (string) gracefully", () => {
31
- const result = redactFields("string", ["a"]);
32
- expect(result).toEqual({});
33
- });
34
- it("handles non-object input (number) gracefully", () => {
35
- const result = redactFields(123, ["a"]);
36
- expect(result).toEqual({});
37
- });
38
- it("does not throw if keysToRemove contains duplicates", () => {
39
- const obj = { a: 1, b: 2, c: 3 };
40
- const result = redactFields(obj, ["b", "b", "c"]);
41
- expect(result).toEqual({ a: 1 });
42
- });
43
- it("returns empty object if input is empty object", () => {
44
- const obj = {};
45
- const result = redactFields(obj, ["a"]);
46
- expect(result).toEqual({});
47
- });
48
- });
49
- describe("array input", () => {
50
- it("removes specified keys from array of objects (happy case)", () => {
51
- const arr = [
52
- { a: 1, b: 2, c: 3 },
53
- { a: 4, b: 5, c: 6 },
54
- ];
55
- const result = redactFields(arr, ["b", "c"]);
56
- expect(result).toEqual([{ a: 1 }, { a: 4 }]);
57
- });
58
- it("returns full array if keysToRemove is empty", () => {
59
- const arr = [
60
- { a: 1, b: 2 },
61
- { a: 3, b: 4 },
62
- ];
63
- const result = redactFields(arr, []);
64
- expect(result).toEqual(arr);
65
- });
66
- it("returns full array if keysToRemove keys are not in objects", () => {
67
- const arr = [
68
- { a: 1, b: 2 },
69
- { a: 3, b: 4 },
70
- ];
71
- const result = redactFields(arr, ["x", "y"]);
72
- expect(result).toEqual(arr);
73
- });
74
- it("works with keysToRemove partially present", () => {
75
- const arr = [
76
- { a: 1, b: 2, c: 3 },
77
- { a: 4, b: 5, c: 6 },
78
- ];
79
- const result = redactFields(arr, ["b", "x"]);
80
- expect(result).toEqual([
81
- { a: 1, c: 3 },
82
- { a: 4, c: 6 },
83
- ]);
84
- });
85
- it("returns array of empty objects if all keys removed", () => {
86
- const arr = [{ a: 1 }, { a: 2 }];
87
- const result = redactFields(arr, ["a"]);
88
- expect(result).toEqual([{}, {}]);
89
- });
90
- it("handles non-object items in array gracefully", () => {
91
- const arr = [{ a: 1, b: 2 }, "string", 123, null, { a: 3, b: 4 }];
92
- const result = redactFields(arr, ["b"]);
93
- expect(result).toEqual([{ a: 1 }, { a: 3 }]);
94
- });
95
- it("does not throw if keysToRemove contains duplicates", () => {
96
- const arr = [
97
- { a: 1, b: 2, c: 3 },
98
- { a: 4, b: 5, c: 6 },
99
- ];
100
- const result = redactFields(arr, ["b", "b", "c"]);
101
- expect(result).toEqual([{ a: 1 }, { a: 4 }]);
102
- });
103
- it("returns empty array if input is empty array", () => {
104
- const arr = [];
105
- const result = redactFields(arr, ["a"]);
106
- expect(result).toEqual([]);
107
- });
108
- });
109
- it("handles null input gracefully", () => {
110
- const result = redactFields(null, ["a"]);
111
- expect(result).toEqual({});
112
- });
113
- it("handles undefined input gracefully", () => {
114
- const result = redactFields(undefined, ["a"]);
115
- expect(result).toEqual({});
116
- });
117
- });
118
- //# sourceMappingURL=client-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-utils.test.js","sourceRoot":"","sources":["../../../src/client/utils/client-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { redactFields } from "./client-utils.js";
3
-
4
- describe(redactFields.name, () => {
5
- describe("object input", () => {
6
- it("removes specified keys from an object (happy case)", () => {
7
- const obj = { a: 1, b: 2, c: 3 };
8
- const result = redactFields(obj, ["b", "c"]);
9
- expect(result).toEqual({ a: 1 });
10
- });
11
-
12
- it("returns full object if keysToRemove is empty", () => {
13
- const obj = { a: 1, b: 2 };
14
- const result = redactFields(obj, []);
15
- expect(result).toEqual(obj);
16
- });
17
-
18
- it("returns full object if keysToRemove keys are not in object", () => {
19
- const obj = { a: 1, b: 2 };
20
- const result = redactFields(obj, ["x", "y"]);
21
- expect(result).toEqual(obj);
22
- });
23
-
24
- it("works with keysToRemove partially present", () => {
25
- const obj = { a: 1, b: 2, c: 3 };
26
- const result = redactFields(obj, ["b", "x"]);
27
- expect(result).toEqual({ a: 1, c: 3 });
28
- });
29
-
30
- it("returns empty object if all keys removed", () => {
31
- const obj = { a: 1 };
32
- const result = redactFields(obj, ["a"]);
33
- expect(result).toEqual({});
34
- });
35
-
36
- it("handles non-object input (string) gracefully", () => {
37
- const result = redactFields("string", ["a"]);
38
- expect(result).toEqual({});
39
- });
40
-
41
- it("handles non-object input (number) gracefully", () => {
42
- const result = redactFields(123, ["a"]);
43
- expect(result).toEqual({});
44
- });
45
-
46
- it("does not throw if keysToRemove contains duplicates", () => {
47
- const obj = { a: 1, b: 2, c: 3 };
48
- const result = redactFields(obj, ["b", "b", "c"]);
49
- expect(result).toEqual({ a: 1 });
50
- });
51
-
52
- it("returns empty object if input is empty object", () => {
53
- const obj = {};
54
- const result = redactFields(obj, ["a"]);
55
- expect(result).toEqual({});
56
- });
57
- });
58
-
59
- describe("array input", () => {
60
- it("removes specified keys from array of objects (happy case)", () => {
61
- const arr = [
62
- { a: 1, b: 2, c: 3 },
63
- { a: 4, b: 5, c: 6 },
64
- ];
65
- const result = redactFields(arr, ["b", "c"]);
66
- expect(result).toEqual([{ a: 1 }, { a: 4 }]);
67
- });
68
-
69
- it("returns full array if keysToRemove is empty", () => {
70
- const arr = [
71
- { a: 1, b: 2 },
72
- { a: 3, b: 4 },
73
- ];
74
- const result = redactFields(arr, []);
75
- expect(result).toEqual(arr);
76
- });
77
-
78
- it("returns full array if keysToRemove keys are not in objects", () => {
79
- const arr = [
80
- { a: 1, b: 2 },
81
- { a: 3, b: 4 },
82
- ];
83
- const result = redactFields(arr, ["x", "y"]);
84
- expect(result).toEqual(arr);
85
- });
86
-
87
- it("works with keysToRemove partially present", () => {
88
- const arr = [
89
- { a: 1, b: 2, c: 3 },
90
- { a: 4, b: 5, c: 6 },
91
- ];
92
- const result = redactFields(arr, ["b", "x"]);
93
- expect(result).toEqual([
94
- { a: 1, c: 3 },
95
- { a: 4, c: 6 },
96
- ]);
97
- });
98
-
99
- it("returns array of empty objects if all keys removed", () => {
100
- const arr = [{ a: 1 }, { a: 2 }];
101
- const result = redactFields(arr, ["a"]);
102
- expect(result).toEqual([{}, {}]);
103
- });
104
-
105
- it("handles non-object items in array gracefully", () => {
106
- const arr = [{ a: 1, b: 2 }, "string", 123, null, { a: 3, b: 4 }];
107
- const result = redactFields(arr, ["b"]);
108
- expect(result).toEqual([{ a: 1 }, { a: 3 }]);
109
- });
110
-
111
- it("does not throw if keysToRemove contains duplicates", () => {
112
- const arr = [
113
- { a: 1, b: 2, c: 3 },
114
- { a: 4, b: 5, c: 6 },
115
- ];
116
- const result = redactFields(arr, ["b", "b", "c"]);
117
- expect(result).toEqual([{ a: 1 }, { a: 4 }]);
118
- });
119
-
120
- it("returns empty array if input is empty array", () => {
121
- const arr: unknown[] = [];
122
- const result = redactFields(arr, ["a"]);
123
- expect(result).toEqual([]);
124
- });
125
- });
126
-
127
- it("handles null input gracefully", () => {
128
- const result = redactFields(null, ["a"]);
129
- expect(result).toEqual({});
130
- });
131
-
132
- it("handles undefined input gracefully", () => {
133
- const result = redactFields(undefined, ["a"]);
134
- expect(result).toEqual({});
135
- });
136
- });