diff --git a/Sources/Mustache/Sequence.swift b/Sources/Mustache/Sequence.swift index 5c86901..cf0f830 100644 --- a/Sources/Mustache/Sequence.swift +++ b/Sources/Mustache/Sequence.swift @@ -13,14 +13,9 @@ //===----------------------------------------------------------------------===// /// Protocol for objects that can be rendered as a sequence in Mustache -protocol MustacheSequence { - /// Render section using template - func renderSection(with template: MustacheTemplate, context: MustacheContext) -> String - /// Render inverted section using template - func renderInvertedSection(with template: MustacheTemplate, context: MustacheContext) -> String -} +public protocol MustacheSequence: Sequence {} -extension Sequence { +extension MustacheSequence { /// Render section using template func renderSection(with template: MustacheTemplate, context: MustacheContext) -> String { var string = "" diff --git a/Sources/Mustache/Template+Render.swift b/Sources/Mustache/Template+Render.swift index b95305c..04014ef 100644 --- a/Sources/Mustache/Template+Render.swift +++ b/Sources/Mustache/Template+Render.swift @@ -101,7 +101,7 @@ extension MustacheTemplate { /// - Returns: Rendered text func renderSection(_ child: Any?, with template: MustacheTemplate, context: MustacheContext) -> String { switch child { - case let array as MustacheSequence: + case let array as any MustacheSequence: return array.renderSection(with: template, context: context) case let bool as Bool: return bool ? template.render(context: context) : "" @@ -124,7 +124,7 @@ extension MustacheTemplate { /// - Returns: Rendered text func renderInvertedSection(_ child: Any?, with template: MustacheTemplate, context: MustacheContext) -> String { switch child { - case let array as MustacheSequence: + case let array as any MustacheSequence: return array.renderInvertedSection(with: template, context: context) case let bool as Bool: return bool ? "" : template.render(context: context)