Skip to content
This repository was archived by the owner on Mar 11, 2026. It is now read-only.

Commit 6d7e9ed

Browse files
authored
fix: log.write removed option.resource.labels (#1219)
* fix: log.write removed option.resource.labels * Add test for capital upper case letter
1 parent d4ce4a3 commit 6d7e9ed

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

src/utils/log-common.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,18 @@ export function snakecaseKeys(
5757
labels: {[p: string]: string} | null | undefined
5858
) {
5959
for (const key in labels) {
60+
const replaced = key.replace(
61+
/[A-Z]/g,
62+
letter => `_${letter.toLowerCase()}`
63+
);
6064
Object.defineProperty(
6165
labels,
62-
key.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`),
66+
replaced,
6367
Object.getOwnPropertyDescriptor(labels, key) as PropertyDescriptor
6468
);
65-
delete labels[key];
69+
if (replaced !== key) {
70+
delete labels[key];
71+
}
6672
}
6773
return labels;
6874
}

test/utils/log-common.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,15 @@ describe('Log Common', () => {
9999
const labels = {
100100
projectId: 'id',
101101
fooBarBaz: 'foobar',
102+
some_other: 'value',
103+
AnotherOne: 'another',
102104
};
103105
const result = snakecaseKeys(labels);
104106
assert.deepStrictEqual(result, {
105107
project_id: 'id',
106108
foo_bar_baz: 'foobar',
109+
some_other: 'value',
110+
_another_one: 'another',
107111
});
108112
});
109113
});

0 commit comments

Comments
 (0)