From cc0eaffa06f0e42af23a7a50fa137e341562bc39 Mon Sep 17 00:00:00 2001 From: Mahdi Bahrami Date: Sun, 14 Jul 2024 21:14:59 +0330 Subject: [PATCH] Make `MustacheSequence` public (#38) * Make `MustacheSequence` public * `MustacheSequence` require conformance to `Sequence` * remove protocol requirements * `MustacheContext` revert to `internal` --- Sources/Mustache/Sequence.swift | 9 ++------- Sources/Mustache/Template+Render.swift | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) 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)