Support Swift 6 mode (#65)

* Enable swift 6 mode

* Attach Sendable

* Stop async context because enumerator can use only synchronous contexts

* Fix global shared mutable state for MustacheContentTypes

* Revert "Fix global shared mutable state for MustacheContentTypes"

This reverts commit d4ccc83e07aeb48f4aa4024b71eb8e5f70131bc5.

* Use  instead of lock

* Support 5 and 6 versions

* Lock on access in Swift 6

* Support 5.9

* Revert "Support 5.9"

This reverts commit 9845b3bc448b2af7238c3ac88aabe6d764b2e667.

* Fix 5.9 compatibility

* Unify to manage the same lock logic in 5.9 and 6

* Add withLock backport in NSLock
This commit is contained in:
Go Takagi
2025-03-26 18:53:44 +09:00
committed by GitHub
parent eeb4eec97f
commit 2add8847a1
7 changed files with 51 additions and 16 deletions

View File

@@ -39,7 +39,7 @@ public struct MustacheLibrary: Sendable {
/// - Parameter directory: Directory to look for mustache templates
/// - Parameter extension: Extension of files to look for
public init(directory: String, withExtension extension: String = "mustache") async throws {
self.templates = try await Self.loadTemplates(from: directory, withExtension: `extension`)
self.templates = try Self.loadTemplates(from: directory, withExtension: `extension`)
}
/// Register template under name