1111//===----------------------------------------------------------------------===//
1212
1313extension Unicode {
14- internal struct _NFD < S: StringProtocol > {
14+ @_spi ( _Unicode)
15+ public struct _NFD < S: StringProtocol > {
1516 let base : S
1617 }
1718}
1819
1920extension Unicode . _NFD {
20- internal struct Iterator {
21+ @_spi ( _Unicode)
22+ public struct Iterator {
2123 var buffer = Unicode . _NormDataBuffer ( )
2224
2325 // This index always points at the next starter of a normalization segment.
@@ -124,7 +126,8 @@ extension Unicode._NFD.Iterator: IteratorProtocol {
124126 }
125127 }
126128
127- internal mutating func next( ) -> ScalarAndNormData ? {
129+ @_spi ( _Unicode)
130+ public mutating func next( ) -> ScalarAndNormData ? {
128131 // Empty out our buffer before attempting to decompose the next
129132 // normalization segment.
130133 if let nextBuffered = buffer. next ( ) {
@@ -166,7 +169,8 @@ extension Unicode._NFD.Iterator: IteratorProtocol {
166169}
167170
168171extension Unicode . _NFD : Sequence {
169- internal func makeIterator( ) -> Iterator {
172+ @_spi ( _Unicode)
173+ public func makeIterator( ) -> Iterator {
170174 Iterator (
171175 index: base. unicodeScalars. startIndex,
172176 unicodeScalars: base. unicodeScalars
@@ -175,7 +179,8 @@ extension Unicode._NFD: Sequence {
175179}
176180
177181extension StringProtocol {
178- internal var _nfd : Unicode . _NFD < Self > {
182+ @_spi ( _Unicode)
183+ public var _nfd : Unicode . _NFD < Self > {
179184 Unicode . _NFD ( base: self )
180185 }
181186}
0 commit comments