다양한 데이터 형식 간 변환 도구
업데이트
최근 반영된 개선 사항
TOML 설정 파일을 TypeScript 인터페이스 또는 타입으로 자동 변환합니다.
Cargo.toml, pyproject.toml 등 다양한 TOML 설정 파일의 타입을 생성할 때 유용합니다.
TOML 구문 자동 파싱
테이블 섹션 처리
테이블 배열 지원
중첩 테이블 자동 분리
설정 파일에는 Config 같은 의미있는 루트 이름을 사용하세요
설정 파일에는 readonly 옵션을 활성화하세요
Rust/Python 프로젝트 설정 타입 생성에 활용하세요
TOML to TypeScript 변환기는 TOML(Tom's Obvious Minimal Language) 설정 파일을 TypeScript 인터페이스 또는 타입으로 자동 변환하는 도구입니다. Cargo.toml(Rust), pyproject.toml(Python), 데이터베이스 설정 등 다양한 TOML 파일의 구조를 분석하여 타입 안전한 설정 관리 코드를 생성합니다.
TOML 입력
왼쪽 에디터에 TOML 데이터를 입력하거나, Cargo.toml, pyproject.toml 등 샘플을 로드합니다.
옵션 설정
루트 인터페이스 이름(Config 등), 출력 형식, export, readonly 옵션을 설정합니다.
결과 확인 및 복사
오른쪽 에디터에서 변환된 TypeScript 코드를 확인하고, 복사 또는 .ts 파일로 다운로드합니다.
TOML 테이블은 중첩된 객체로 변환됩니다. [database] 섹션은 database 프로퍼티가 되고, 해당 섹션의 키-값 쌍이 별도의 인터페이스로 생성됩니다.
TOML의 테이블 배열([[products]])은 배열 타입으로 변환됩니다. 각 테이블 항목의 구조를 분석하여 Products[] 형태의 타입이 생성됩니다.
TOML은 날짜, 시간, 날짜시간 타입을 기본 지원하지만, TypeScript에서는 Date 타입 또는 string으로 변환됩니다. 실제 파싱 시 Date 객체로 변환하는 추가 처리가 필요할 수 있습니다.
Rust 프로젝트를 관리하는 Node.js 도구나 빌드 스크립트에서 Cargo.toml을 파싱할 때 타입 안전성을 확보할 수 있습니다. 모노레포 도구, CI/CD 파이프라인 등에서 활용 가능합니다.
인라인 테이블(key = {a = 1, b = 2})과 일반 테이블([key])은 TOML에서 동일한 구조를 나타내며, 변환 결과도 동일합니다. 인라인은 한 줄로 간결하게, 일반 테이블은 여러 줄로 작성할 때 사용합니다.