[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에서는 다양한 템플릿 유형을 제공하여 사용자의 요구에 맞는 코드 생성을 지원합니다. 자세한 내용은 공식 문서를 참고하시기 바랍니다.