반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 쉬운 문제
- ip
- Algorithm
- Nestjs
- dfs
- 크롤링
- HTTP 완벽 가이드
- 문자열
- Node.js
- 수학
- javascript
- type challenge
- typescript
- BFS
- 레벨 1
- TCP
- 소켓
- socket
- dp
- 백준
- Crawling
- 가천대
- 알고리즘
- 자바스크립트
- HTTP
- 그래프
- 타입스크립트
- 타입 챌린지
- 프로그래머스
- 프로그래머스 레벨 2
Archives
- Today
- Total
kakasoo
SnakeCase에서 CamelCase로 리터럴 타입 추론하기 본문
반응형
type SnakeToCamel<
Target extends string,
P extends string[] = Split<Target, "_">
> = Join<{
[K in keyof P]: K extends "0"
? P[K]
: P[K] extends string
? FirstLetterCapitalize<P[K]>
: "";
}>;
타입 파라미터 Target을 받는다.
이 타입 Target을 _ 문자를 기준으로 Split하면 문자열이 배열의 형태가 되는데, 이를 일단 P에 저장한다.
이제 이 문자열 배열 P를 mapped type을 이용하여 첫번째 문자를 제외한 나머지 문자열들은 첫글자만 대문자로 변경한다.
이렇게 만들어진 문자열 배열을 다시 하나의 문자열이 되게 Join한다.
반응형
'프로그래밍 > TypeScript' 카테고리의 다른 글
타입만으로 클래스의 메서드를 한 번만 호출 가능하게 만들기 (0) | 2023.12.03 |
---|---|
재귀적으로 카멜케이스로 추론되는 객체 타입 (0) | 2023.08.11 |
FirstLetterCapitalize, 첫 글자를 대문자로 추론하는 리터럴 타입 (0) | 2023.08.11 |
문자열을 자르는 Split 타입 구현하기 (0) | 2023.08.11 |
타입 레벨에서 문자열 Join 구현하기 2 (0) | 2023.08.11 |