Skip to content

Commit 5b19cc1

Browse files
committed
feat: 新增 varString
1 parent d3a93f4 commit 5b19cc1

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/utils/string.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,7 @@ export function findOrigin(source: string, relation: Map<string, string>) {
3636

3737
return origin;
3838
}
39+
40+
export function varString(string: string): string {
41+
return string.replace(/\{[^}]+\}/g, ($0) => `$${$0}`);
42+
}

test/utils/string.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { buildName, findOrigin, RefInfo, refToType } from '../../src/utils/string';
1+
import { buildName, findOrigin, RefInfo, refToType, varString } from '../../src/utils/string';
22

33
test('buildName', () => {
44
expect(buildName('!')).toEqual('unnamed');
@@ -42,3 +42,9 @@ test('findOrigin', () => {
4242
expect(findOrigin('x', relation)).toBe('y');
4343
expect(findOrigin('y', relation)).toBe('y');
4444
});
45+
46+
test('varString', () => {
47+
expect(varString('/a/b')).toEqual('/a/b');
48+
expect(varString('/a/b/{cc}')).toEqual('/a/b/${cc}');
49+
expect(varString('/a/b/{cc}/dd/{ee}')).toEqual('/a/b/${cc}/dd/${ee}');
50+
});

0 commit comments

Comments
 (0)