[swift] Swift Sourcery에서 제공하는 템플릿 유형 소개
Swift Sourcery는 Swift 코드를 기반으로 코드 생성을 자동화하는 도구입니다. 이 도구는 템플릿을 사용하여 코드를 생성하는데, 다양한 유형의 템플릿을 제공합니다. 이번 블로그 포스트에서는 Swift Sourcery에서 제공하는 템플릿 유형에 대해 소개하겠습니다.
1. Basic Template
// BasicTemplate.swift
{% for type in types.all %}
// {{ type.name }}
{% endfor %}
기본 템플릿은 간단한 반복문을 사용하여 입력된 모든 타입 이름을 출력하는 예제입니다. types
변수는 Sourcery에서 제공하는 기본 변수로, 현재 분석 중인 타입 정보를 담고 있습니다.
2. Conditional Template
// ConditionalTemplate.swift
{% for type in types.all %}
{% if type.functions.count > 0 %}
// {{ type.name }} has functions
{% else %}
// {{ type.name }} does not have any functions
{% endif %}
{% endfor %}
조건문을 사용하여 각 타입이 함수를 가지고 있는지를 확인하고 그에 따라 다른 출력을 하는 예제입니다. functions
는 타입의 함수 정보를 담고 있는 변수입니다.
3. Looping Template
// LoopingTemplate.swift
{% for type in types.all %}
{% for property in type.properties %}
// {{ property.name }} in {{ type.name }}
{% endfor %}
{% endfor %}
중첩된 반복문을 사용하여 각 타입의 모든 프로퍼티의 이름과 타입을 출력하는 예제입니다. properties
는 타입의 프로퍼티 정보를 담고 있는 변수입니다.
4. Custom Template
// CustomTemplate.swift
// Custom template content
generated from a custom template
사용자 정의 템플릿을 작성할 수도 있습니다. 위 예제는 간단한 템플릿으로, type.name
변수를 사용하여 타입 이름을 출력합니다.
이처럼 Swift Sourcery에서는 다양한 템플릿 유형을 제공하여 사용자의 요구에 맞는 코드 생성을 지원합니다. 자세한 내용은 공식 문서를 참고하시기 바랍니다.