@unito/integration-sdk 2.4.1 → 2.4.2

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.
@@ -179,7 +179,12 @@ class Logger {
179
179
  for (const key in value) {
180
180
  let deepValue;
181
181
  if (Array.isArray(value[key])) {
182
- deepValue = value[key].map(item => this.snakifyKeys(item));
182
+ if (value[key].every(v => typeof v === 'object')) {
183
+ deepValue = value[key].map(item => this.snakifyKeys(item));
184
+ }
185
+ else {
186
+ deepValue = value[key];
187
+ }
183
188
  }
184
189
  else if (typeof value[key] === 'object' && value[key] !== null) {
185
190
  deepValue = this.snakifyKeys(value[key]);
@@ -200,7 +205,12 @@ class Logger {
200
205
  (topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
201
206
  }
202
207
  else if (Array.isArray(metadata[key])) {
203
- prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
208
+ if (metadata[key].every(value => typeof value === 'object')) {
209
+ prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
210
+ }
211
+ else {
212
+ prunedMetadata[key] = metadata[key];
213
+ }
204
214
  }
205
215
  else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
206
216
  prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key], topLevelMeta ?? prunedMetadata);
@@ -151,7 +151,12 @@ export default class Logger {
151
151
  for (const key in value) {
152
152
  let deepValue;
153
153
  if (Array.isArray(value[key])) {
154
- deepValue = value[key].map(item => this.snakifyKeys(item));
154
+ if (value[key].every(v => typeof v === 'object')) {
155
+ deepValue = value[key].map(item => this.snakifyKeys(item));
156
+ }
157
+ else {
158
+ deepValue = value[key];
159
+ }
155
160
  }
156
161
  else if (typeof value[key] === 'object' && value[key] !== null) {
157
162
  deepValue = this.snakifyKeys(value[key]);
@@ -172,7 +177,12 @@ export default class Logger {
172
177
  (topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
173
178
  }
174
179
  else if (Array.isArray(metadata[key])) {
175
- prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
180
+ if (metadata[key].every(value => typeof value === 'object')) {
181
+ prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
182
+ }
183
+ else {
184
+ prunedMetadata[key] = metadata[key];
185
+ }
176
186
  }
177
187
  else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
178
188
  prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key], topLevelMeta ?? prunedMetadata);
@@ -113,6 +113,7 @@ describe('Logger', () => {
113
113
  { id: 1, organizationId: 'a' },
114
114
  { id: 2, organizationId: 'b' },
115
115
  ],
116
+ traceId: ['a', 'b'],
116
117
  };
117
118
  const logger = new Logger(metadata);
118
119
  logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
@@ -128,6 +129,7 @@ describe('Logger', () => {
128
129
  { id: 1, organization_id: 'a' },
129
130
  { id: 2, organization_id: 'b' },
130
131
  ]);
132
+ assert.deepEqual(actual['trace_id'], ['a', 'b']);
131
133
  });
132
134
  it('prunes sensitive Metadata', testContext => {
133
135
  const logSpy = testContext.mock.method(global.console, 'log', () => { });
@@ -141,6 +143,7 @@ describe('Logger', () => {
141
143
  { id: 1, organizationId: 'a' },
142
144
  { id: 2, organizationId: 'b' },
143
145
  ],
146
+ trace_id: ['a', 'b'],
144
147
  };
145
148
  const logger = new Logger(metadata);
146
149
  logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
@@ -158,6 +161,7 @@ describe('Logger', () => {
158
161
  { id: 1, organization_id: 'a' },
159
162
  { id: 2, organization_id: 'b' },
160
163
  ]);
164
+ assert.deepEqual(actual['trace_id'], ['a', 'b']);
161
165
  });
162
166
  it(`NULL_LOGGER should not log`, testContext => {
163
167
  const logger = NULL_LOGGER;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unito/integration-sdk",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Integration SDK",
5
5
  "type": "module",
6
6
  "types": "dist/src/index.d.ts",
@@ -187,7 +187,11 @@ export default class Logger {
187
187
  let deepValue;
188
188
 
189
189
  if (Array.isArray(value[key])) {
190
- deepValue = value[key].map(item => this.snakifyKeys(item as Value));
190
+ if (value[key].every(v => typeof v === 'object')) {
191
+ deepValue = value[key].map(item => this.snakifyKeys(item as Value));
192
+ } else {
193
+ deepValue = value[key];
194
+ }
191
195
  } else if (typeof value[key] === 'object' && value[key] !== null) {
192
196
  deepValue = this.snakifyKeys(value[key] as Value);
193
197
  } else {
@@ -209,9 +213,13 @@ export default class Logger {
209
213
  prunedMetadata[key] = '[REDACTED]';
210
214
  (topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
211
215
  } else if (Array.isArray(metadata[key])) {
212
- prunedMetadata[key] = metadata[key].map(value =>
213
- Logger.pruneSensitiveMetadata(value as Value, topLevelMeta ?? prunedMetadata),
214
- );
216
+ if (metadata[key].every(value => typeof value === 'object')) {
217
+ prunedMetadata[key] = metadata[key].map(value =>
218
+ Logger.pruneSensitiveMetadata(value as Value, topLevelMeta ?? prunedMetadata),
219
+ );
220
+ } else {
221
+ prunedMetadata[key] = metadata[key];
222
+ }
215
223
  } else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
216
224
  prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key] as Value, topLevelMeta ?? prunedMetadata);
217
225
  } else {
@@ -136,7 +136,9 @@ describe('Logger', () => {
136
136
  { id: 1, organizationId: 'a' },
137
137
  { id: 2, organizationId: 'b' },
138
138
  ],
139
+ traceId: ['a', 'b'],
139
140
  };
141
+
140
142
  const logger = new Logger(metadata);
141
143
  logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
142
144
  assert.strictEqual(logSpy.mock.calls.length, 1);
@@ -153,6 +155,7 @@ describe('Logger', () => {
153
155
  { id: 1, organization_id: 'a' },
154
156
  { id: 2, organization_id: 'b' },
155
157
  ]);
158
+ assert.deepEqual(actual['trace_id'], ['a', 'b']);
156
159
  });
157
160
 
158
161
  it('prunes sensitive Metadata', testContext => {
@@ -168,6 +171,7 @@ describe('Logger', () => {
168
171
  { id: 1, organizationId: 'a' },
169
172
  { id: 2, organizationId: 'b' },
170
173
  ],
174
+ trace_id: ['a', 'b'],
171
175
  };
172
176
  const logger = new Logger(metadata);
173
177
  logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
@@ -186,6 +190,7 @@ describe('Logger', () => {
186
190
  { id: 1, organization_id: 'a' },
187
191
  { id: 2, organization_id: 'b' },
188
192
  ]);
193
+ assert.deepEqual(actual['trace_id'], ['a', 'b']);
189
194
  });
190
195
 
191
196
  it(`NULL_LOGGER should not log`, testContext => {