Skip to content

Commit d4c5fdd

Browse files
committed
Fix bug where numbers weren't separated by hyphens or underscores
1 parent 7c51e0e commit d4c5fdd

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

v-next/hardhat-utils/src/string.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function kebabToCamelCase(str: string): string {
4848
* @returns The snake_case string.
4949
*/
5050
export function camelToSnakeCase(str: string): string {
51-
return str.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);
51+
return str.replace(/[A-Z0-9]/g, (match) => `_${match.toLowerCase()}`);
5252
}
5353

5454
/**
@@ -58,5 +58,5 @@ export function camelToSnakeCase(str: string): string {
5858
* @returns The kebab-case string.
5959
*/
6060
export function camelToKebabCase(str: string): string {
61-
return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
61+
return str.replace(/[A-Z0-9]/g, (match) => `-${match.toLowerCase()}`);
6262
}

v-next/hardhat-utils/test/string.ts

+14
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ describe("string", () => {
6060
"camel_c_a_s_e_s_t_r_i_n_g",
6161
);
6262
});
63+
assert.equal(camelToSnakeCase("camelcasestring1"), "camelcasestring_1");
64+
assert.equal(
65+
camelToSnakeCase("camel1Case2String"),
66+
"camel_1_case_2_string",
67+
);
68+
assert.equal(camelToSnakeCase("camelC1A2S3E4"), "camel_c_1_a_2_s_3_e_4");
69+
assert.equal(camelToSnakeCase("camel123"), "camel_1_2_3");
6370
});
6471

6572
describe("camelToKebabCase", () => {
@@ -70,6 +77,13 @@ describe("string", () => {
7077
camelToKebabCase("camelCASESTRING"),
7178
"camel-c-a-s-e-s-t-r-i-n-g",
7279
);
80+
assert.equal(camelToKebabCase("camelcasestring1"), "camelcasestring-1");
81+
assert.equal(
82+
camelToKebabCase("camel1Case2String"),
83+
"camel-1-case-2-string",
84+
);
85+
assert.equal(camelToKebabCase("camelC1A2S3E4"), "camel-c-1-a-2-s-3-e-4");
86+
assert.equal(camelToKebabCase("camel123"), "camel-1-2-3");
7387
});
7488
});
7589
});

0 commit comments

Comments
 (0)