Skip to content

Commit 5156883

Browse files
authored
Make URL template regex dependency framework-only for now (#1268)
1 parent a63c901 commit 5156883

File tree

5 files changed

+13
-1
lines changed

5 files changed

+13
-1
lines changed

Sources/FoundationEssentials/URL/URLTemplate.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ extension URL {
130130
}
131131

132132
// MARK: - Parse
133-
133+
#if FOUNDATION_FRAMEWORK
134134
extension URL.Template {
135135
/// Creates a new template from its text form.
136136
///
@@ -164,6 +164,7 @@ extension URL.Template {
164164
}
165165
}
166166
}
167+
#endif
167168

168169
// MARK: -
169170

Sources/FoundationEssentials/URL/URLTemplate_Expression.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
#if FOUNDATION_FRAMEWORK
1314
internal import RegexBuilder
15+
#endif
16+
1417
#if canImport(CollectionsInternal)
1518
internal import CollectionsInternal
1619
#elseif canImport(OrderedCollections)
@@ -79,6 +82,7 @@ extension URL.Template.Expression.Element: CustomStringConvertible {
7982
}
8083
}
8184

85+
#if FOUNDATION_FRAMEWORK
8286
extension URL.Template.Expression {
8387
init(_ input: String) throws {
8488
var remainder = input[...]
@@ -202,6 +206,7 @@ extension URL.Template {
202206
}
203207
}
204208
}
209+
#endif
205210

206211
// .------------------------------------------------------------------.
207212
// | NUL + . / ; ? & # |

Sources/FoundationEssentials/URL/URLTemplate_PercentEncoding.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
#if FOUNDATION_FRAMEWORK
1314
internal import RegexBuilder
15+
#endif
1416

1517
extension String {
1618
/// Convert to NFC and percent-escape.

Tests/FoundationEssentialsTests/URITemplatingTests/URLTemplate_ExpressionTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import struct Foundation.URL
2020
#endif
2121
import Testing
2222

23+
#if FOUNDATION_FRAMEWORK
2324
@Suite("URL.Template Expression")
2425
private enum ExpressionTests {
2526
private typealias Expression = URL.Template.Expression
@@ -276,3 +277,4 @@ private enum ExpressionTests {
276277
#expect((try? Expression(input)) == nil, "Should fail to parse, but not crash.")
277278
}
278279
}
280+
#endif

Tests/FoundationEssentialsTests/URITemplatingTests/URLTemplate_TemplateTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ private var variables: [URL.Template.VariableName: URL.Template.Value] {
5454
]
5555
}
5656

57+
#if FOUNDATION_FRAMEWORK
5758
private func assertReplacing(template: String, result: String, sourceLocation: SourceLocation = #_sourceLocation) {
5859
do {
5960
let t = try #require(URL.Template(template))
@@ -263,3 +264,4 @@ private enum TemplateTests {
263264
assertReplacing(template: "{&keys*}", result: "&semi=%3B&dot=.&comma=%2C")
264265
}
265266
}
267+
#endif

0 commit comments

Comments
 (0)