Skip to content

Commit 1e8b1cc

Browse files
authored
encodeBytes -> encodeToBytes etc (#33)
1 parent 188c596 commit 1e8b1cc

File tree

8 files changed

+51
-51
lines changed

8 files changed

+51
-51
lines changed

IntegrationTests/tests_04_performance/test_01_resources/test_base32_encoding.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ func run(identifier: String) {
66

77
measure(identifier: identifier) {
88
for _ in 0 ..< 1000 {
9-
base32 = Base32.encodeString(bytes: bytes)
9+
base32 = Base32.encodeToString(bytes: bytes)
1010
}
1111

1212
return base32?.count ?? 0

IntegrationTests/tests_04_performance/test_01_resources/test_base64_encoding.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ func run(identifier: String) {
66

77
measure(identifier: identifier) {
88
for _ in 0 ..< 1000 {
9-
base64 = Base64.encodeString(bytes: bytes)
9+
base64 = Base64.encodeToString(bytes: bytes)
1010
}
1111

1212
return base64?.count ?? 0

Sources/ExtrasBase64/Base32.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public extension String {
44
/// Create a base32 encoded string from a buffer
55
init<Buffer: Collection>(base32Encoding bytes: Buffer, options: Base32.EncodingOptions = []) where Buffer.Element == UInt8 {
6-
self = Base32.encodeString(bytes: bytes, options: options)
6+
self = Base32.encodeToString(bytes: bytes, options: options)
77
}
88

99
/// Decode base32 encoded strin
@@ -19,15 +19,15 @@ public enum Base32 {
1919
public let rawValue: UInt
2020
public init(rawValue: UInt) { self.rawValue = rawValue }
2121

22-
public static let includePadding = EncodingOptions(rawValue: UInt(1 << 0))
22+
public static let omitPaddingCharacter = EncodingOptions(rawValue: UInt(1 << 0))
2323
}
2424

2525
public enum DecodingError: Swift.Error, Equatable {
2626
case invalidCharacter(UInt8)
2727
}
2828

2929
/// Base32 Encode a buffer to an array of bytes
30-
public static func encodeBytes<Buffer: Collection>(
30+
public static func encodeToBytes<Buffer: Collection>(
3131
bytes: Buffer,
3232
options: EncodingOptions = []
3333
) -> [UInt8] where Buffer.Element == UInt8 {
@@ -42,11 +42,11 @@ public enum Base32 {
4242
return result
4343
}
4444

45-
return self.encodeBytes(bytes: Array(bytes))
45+
return self.encodeToBytes(bytes: Array(bytes))
4646
}
4747

4848
/// Base32 Encode a buffer to a string
49-
public static func encodeString<Buffer: Collection>(
49+
public static func encodeToString<Buffer: Collection>(
5050
bytes: Buffer,
5151
options: EncodingOptions = []
5252
) -> String where Buffer.Element == UInt8 {
@@ -62,9 +62,9 @@ public enum Base32 {
6262
return result
6363
}
6464

65-
return self.encodeString(bytes: Array(bytes))
65+
return self.encodeToString(bytes: Array(bytes))
6666
} else {
67-
let bytes: [UInt8] = self.encodeBytes(bytes: bytes)
67+
let bytes: [UInt8] = self.encodeToBytes(bytes: bytes)
6868
return String(decoding: bytes, as: Unicode.UTF8.self)
6969
}
7070
}
@@ -249,7 +249,7 @@ extension Base32 {
249249
preconditionFailure("Shouldn't get here")
250250
}
251251
outputIndex += (remainingBytes * 8 + 4) / 5
252-
if options.contains(.includePadding) {
252+
if !options.contains(.omitPaddingCharacter) {
253253
let fullOutputSize = ((outputIndex + 7) / 8) * 8
254254
while outputIndex < fullOutputSize {
255255
output[outputIndex] = UInt8(ascii: "=")

Sources/ExtrasBase64/Base64.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public extension String {
6262
init<Buffer: Collection>(base64Encoding bytes: Buffer, options: Base64.EncodingOptions = [])
6363
where Buffer.Element == UInt8
6464
{
65-
self = Base64.encodeString(bytes: bytes, options: options)
65+
self = Base64.encodeToString(bytes: bytes, options: options)
6666
}
6767

6868
func base64decoded(options: Base64.DecodingOptions = []) throws -> [UInt8] {
@@ -207,7 +207,7 @@ extension Base64 {
207207
]
208208

209209
@inlinable
210-
public static func encodeBytes<Buffer: Collection>(bytes: Buffer, options: EncodingOptions = [])
210+
public static func encodeToBytes<Buffer: Collection>(bytes: Buffer, options: EncodingOptions = [])
211211
-> [UInt8] where Buffer.Element == UInt8
212212
{
213213
let newCapacity = ((bytes.count + 2) / 3) * 4
@@ -220,11 +220,11 @@ extension Base64 {
220220
return result
221221
}
222222

223-
return self.encodeBytes(bytes: Array(bytes), options: options)
223+
return self.encodeToBytes(bytes: Array(bytes), options: options)
224224
}
225225

226226
@inlinable
227-
public static func encodeString<Buffer: Collection>(bytes: Buffer, options: EncodingOptions = [])
227+
public static func encodeToString<Buffer: Collection>(bytes: Buffer, options: EncodingOptions = [])
228228
-> String where Buffer.Element == UInt8
229229
{
230230
let newCapacity = ((bytes.count + 2) / 3) * 4
@@ -241,9 +241,9 @@ extension Base64 {
241241
return result
242242
}
243243

244-
return self.encodeString(bytes: Array(bytes), options: options)
244+
return self.encodeToString(bytes: Array(bytes), options: options)
245245
} else {
246-
let bytes: [UInt8] = self.encodeBytes(bytes: bytes, options: options)
246+
let bytes: [UInt8] = self.encodeToBytes(bytes: bytes, options: options)
247247
return String(decoding: bytes, as: Unicode.UTF8.self)
248248
}
249249
#else

Sources/PerformanceTest/main.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,19 @@ let foundationEncodingData = timing(name: "Foundation: Data to Data ") {
3535

3636
let chromeEncodingBytes = timing(name: "Chromium: [UInt8] to [UInt8]") {
3737
for _ in 1 ... runs {
38-
let _: [UInt8] = Base64.encodeBytes(bytes: bytes)
38+
let _: [UInt8] = Base64.encodeToBytes(bytes: bytes)
3939
}
4040
}
4141

4242
let chromeEncodingString = timing(name: "Chromium: [UInt8] to String ") {
4343
for _ in 1 ... runs {
44-
let _: String = Base64.encodeString(bytes: bytes)
44+
let _: String = Base64.encodeToString(bytes: bytes)
4545
}
4646
}
4747

4848
let chromeEncodingData = timing(name: "Chromium: Data to [UInt8]") {
4949
for _ in 1 ... runs {
50-
let _: String = Base64.encodeString(bytes: data)
50+
let _: String = Base64.encodeToString(bytes: data)
5151
}
5252
}
5353

Tests/ExtrasBase64Tests/Base32Tests.swift

+23-23
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ class Base32Tests: XCTestCase {
66

77
func testEncodeEmptyData() {
88
let data = [UInt8]()
9-
let encodedData: [UInt8] = Base32.encodeBytes(bytes: data)
9+
let encodedData: [UInt8] = Base32.encodeToBytes(bytes: data)
1010
XCTAssertEqual(encodedData.count, 0)
1111
}
1212

1313
func testBase32EncodingArrayOfNulls() {
1414
let data = Array(repeating: UInt8(0), count: 10)
15-
let encodedData: [UInt8] = Base32.encodeBytes(bytes: data)
15+
let encodedData: [UInt8] = Base32.encodeToBytes(bytes: data)
1616
XCTAssertEqual(encodedData, [UInt8]("AAAAAAAAAAAAAAAA".utf8))
1717
}
1818

1919
func testBase32EncodingAllTheBytesSequentially() {
2020
let data = Array(UInt8(0) ... UInt8(255))
21-
let encodedData = Base32.encodeBytes(bytes: data)
22-
XCTAssertEqual(encodedData, [UInt8]("AAAQEAYEAUDAOCAJBIFQYDIOB4IBCEQTCQKRMFYYDENBWHA5DYPSAIJCEMSCKJRHFAUSUKZMFUXC6MBRGIZTINJWG44DSOR3HQ6T4P2AIFBEGRCFIZDUQSKKJNGE2TSPKBIVEU2UKVLFOWCZLJNVYXK6L5QGCYTDMRSWMZ3INFVGW3DNNZXXA4LSON2HK5TXPB4XU634PV7H7AEBQKBYJBMGQ6EITCULRSGY5D4QSGJJHFEVS2LZRGM2TOOJ3HU7UCQ2FI5EUWTKPKFJVKV2ZLNOV6YLDMVTWS23NN5YXG5LXPF5X274BQOCYPCMLRWHZDE4VS6MZXHM7UGR2LJ5JVOW27MNTWW33TO55X7A4HROHZHF43T6R2PK5PWO33XP6DY7F47U6X3PP6HZ7L57Z7P674".utf8))
21+
let encodedData = Base32.encodeToBytes(bytes: data)
22+
XCTAssertEqual(encodedData, [UInt8]("AAAQEAYEAUDAOCAJBIFQYDIOB4IBCEQTCQKRMFYYDENBWHA5DYPSAIJCEMSCKJRHFAUSUKZMFUXC6MBRGIZTINJWG44DSOR3HQ6T4P2AIFBEGRCFIZDUQSKKJNGE2TSPKBIVEU2UKVLFOWCZLJNVYXK6L5QGCYTDMRSWMZ3INFVGW3DNNZXXA4LSON2HK5TXPB4XU634PV7H7AEBQKBYJBMGQ6EITCULRSGY5D4QSGJJHFEVS2LZRGM2TOOJ3HU7UCQ2FI5EUWTKPKFJVKV2ZLNOV6YLDMVTWS23NN5YXG5LXPF5X274BQOCYPCMLRWHZDE4VS6MZXHM7UGR2LJ5JVOW27MNTWW33TO55X7A4HROHZHF43T6R2PK5PWO33XP6DY7F47U6X3PP6HZ7L57Z7P674======".utf8))
2323
}
2424

2525
// MARK: Decoding
@@ -61,54 +61,54 @@ class Base32Tests: XCTestCase {
6161
}
6262

6363
func testBase32DecodingOneTwoThreeFour() {
64-
let base32 = "AEBAGBA"
64+
let base32 = "AEBAGBA="
6565
let bytes: [UInt8] = [1, 2, 3, 4]
6666

67-
XCTAssertEqual(Base32.encodeString(bytes: bytes), base32)
67+
XCTAssertEqual(Base32.encodeToString(bytes: bytes), base32)
6868
XCTAssertEqual(try Base32.decode(string: base32), bytes)
6969
}
7070

7171
func testBase32DecodingOneTwoThreeFourFive() {
7272
let base32 = "AEBAGBAF"
7373
let bytes: [UInt8] = [1, 2, 3, 4, 5]
7474

75-
XCTAssertEqual(Base32.encodeString(bytes: bytes), base32)
75+
XCTAssertEqual(Base32.encodeToString(bytes: bytes), base32)
7676
XCTAssertEqual(try Base32.decode(string: base32), bytes)
7777
}
7878

7979
func testBase32DecodingOneTwoThreeFourFiveSix() {
8080
let base32 = "AEBAGBAFAY"
8181
let bytes: [UInt8] = [1, 2, 3, 4, 5, 6]
8282

83-
XCTAssertEqual(Base32.encodeString(bytes: bytes), base32)
83+
XCTAssertEqual(Base32.encodeToString(bytes: bytes, options: .omitPaddingCharacter), base32)
8484
XCTAssertEqual(try Base32.decode(string: base32), bytes)
8585
}
8686

8787
func testBase32DecodingPadding() {
8888
let base32 = "AEBAGBAFAY======"
8989
let bytes: [UInt8] = [1, 2, 3, 4, 5, 6]
9090

91-
XCTAssertEqual(Base32.encodeString(bytes: bytes, options: .includePadding), base32)
91+
XCTAssertEqual(Base32.encodeToString(bytes: bytes), base32)
9292
XCTAssertEqual(try base32.base32decoded(), bytes)
9393
}
9494

9595
func testBase32EncodeFoobar() {
96-
XCTAssertEqual(String(base32Encoding: "".utf8), "")
97-
XCTAssertEqual(String(base32Encoding: "f".utf8), "MY")
98-
XCTAssertEqual(String(base32Encoding: "fo".utf8), "MZXQ")
99-
XCTAssertEqual(String(base32Encoding: "foo".utf8), "MZXW6")
100-
XCTAssertEqual(String(base32Encoding: "foob".utf8), "MZXW6YQ")
101-
XCTAssertEqual(String(base32Encoding: "fooba".utf8), "MZXW6YTB")
102-
XCTAssertEqual(String(base32Encoding: "foobar".utf8), "MZXW6YTBOI")
96+
XCTAssertEqual(String(base32Encoding: "".utf8, options: .omitPaddingCharacter), "")
97+
XCTAssertEqual(String(base32Encoding: "f".utf8, options: .omitPaddingCharacter), "MY")
98+
XCTAssertEqual(String(base32Encoding: "fo".utf8, options: .omitPaddingCharacter), "MZXQ")
99+
XCTAssertEqual(String(base32Encoding: "foo".utf8, options: .omitPaddingCharacter), "MZXW6")
100+
XCTAssertEqual(String(base32Encoding: "foob".utf8, options: .omitPaddingCharacter), "MZXW6YQ")
101+
XCTAssertEqual(String(base32Encoding: "fooba".utf8, options: .omitPaddingCharacter), "MZXW6YTB")
102+
XCTAssertEqual(String(base32Encoding: "foobar".utf8, options: .omitPaddingCharacter), "MZXW6YTBOI")
103103
}
104104

105105
func testBase32EncodeFoobarWithPadding() {
106-
XCTAssertEqual(String(base32Encoding: "".utf8, options: .includePadding), "")
107-
XCTAssertEqual(String(base32Encoding: "f".utf8, options: .includePadding), "MY======")
108-
XCTAssertEqual(String(base32Encoding: "fo".utf8, options: .includePadding), "MZXQ====")
109-
XCTAssertEqual(String(base32Encoding: "foo".utf8, options: .includePadding), "MZXW6===")
110-
XCTAssertEqual(String(base32Encoding: "foob".utf8, options: .includePadding), "MZXW6YQ=")
111-
XCTAssertEqual(String(base32Encoding: "fooba".utf8, options: .includePadding), "MZXW6YTB")
112-
XCTAssertEqual(String(base32Encoding: "foobar".utf8, options: .includePadding), "MZXW6YTBOI======")
106+
XCTAssertEqual(String(base32Encoding: "".utf8), "")
107+
XCTAssertEqual(String(base32Encoding: "f".utf8), "MY======")
108+
XCTAssertEqual(String(base32Encoding: "fo".utf8), "MZXQ====")
109+
XCTAssertEqual(String(base32Encoding: "foo".utf8), "MZXW6===")
110+
XCTAssertEqual(String(base32Encoding: "foob".utf8), "MZXW6YQ=")
111+
XCTAssertEqual(String(base32Encoding: "fooba".utf8), "MZXW6YTB")
112+
XCTAssertEqual(String(base32Encoding: "foobar".utf8), "MZXW6YTBOI======")
113113
}
114114
}

Tests/ExtrasBase64Tests/ChromiumTests.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,31 @@ class ChromiumTests: XCTestCase {
66

77
func testEncodeEmptyData() {
88
let data = [UInt8]()
9-
let encodedData: [UInt8] = Base64.encodeBytes(bytes: data)
9+
let encodedData: [UInt8] = Base64.encodeToBytes(bytes: data)
1010
XCTAssertEqual(encodedData.count, 0)
1111
}
1212

1313
func testBase64EncodingArrayOfNulls() {
1414
let data = Array(repeating: UInt8(0), count: 10)
15-
let encodedData: [UInt8] = Base64.encodeBytes(bytes: data)
15+
let encodedData: [UInt8] = Base64.encodeToBytes(bytes: data)
1616
XCTAssertEqual(encodedData, [UInt8]("AAAAAAAAAAAAAA==".utf8))
1717
}
1818

1919
func testBase64EncodingAllTheBytesSequentially() {
2020
let data = Array(UInt8(0) ... UInt8(255))
21-
let encodedData: [UInt8] = Base64.encodeBytes(bytes: data)
21+
let encodedData: [UInt8] = Base64.encodeToBytes(bytes: data)
2222
XCTAssertEqual(encodedData, [UInt8]("AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==".utf8))
2323
}
2424

2525
func testBase64UrlEncodingAllTheBytesSequentially() {
2626
let data = Array(UInt8(0) ... UInt8(255))
27-
let encodedData: [UInt8] = Base64.encodeBytes(bytes: data, options: .base64UrlAlphabet)
27+
let encodedData: [UInt8] = Base64.encodeToBytes(bytes: data, options: .base64UrlAlphabet)
2828
XCTAssertEqual(encodedData, [UInt8]("AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0-P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn-AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq-wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy8_T19vf4-fr7_P3-_w==".utf8))
2929
}
3030

3131
func testBase64UrlEncodingAllTheBytesSequentiallyOmitPadding() {
3232
let data = Array(UInt8(0) ... UInt8(255))
33-
let encodedData: [UInt8] = Base64.encodeBytes(bytes: data, options: [.base64UrlAlphabet, .omitPaddingCharacter])
33+
let encodedData: [UInt8] = Base64.encodeToBytes(bytes: data, options: [.base64UrlAlphabet, .omitPaddingCharacter])
3434
XCTAssertEqual(encodedData, [UInt8]("AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0-P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn-AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq-wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy8_T19vf4-fr7_P3-_w".utf8))
3535
}
3636

@@ -96,23 +96,23 @@ class ChromiumTests: XCTestCase {
9696
let base64 = "AQIDBA=="
9797
let bytes: [UInt8] = [1, 2, 3, 4]
9898

99-
XCTAssertEqual(Base64.encodeString(bytes: bytes), base64)
99+
XCTAssertEqual(Base64.encodeToString(bytes: bytes), base64)
100100
XCTAssertEqual(try Base64.decode(string: base64), bytes)
101101
}
102102

103103
func testBase64DecodingOneTwoThreeFourFive() {
104104
let base64 = "AQIDBAU="
105105
let bytes: [UInt8] = [1, 2, 3, 4, 5]
106106

107-
XCTAssertEqual(Base64.encodeString(bytes: bytes), base64)
107+
XCTAssertEqual(Base64.encodeToString(bytes: bytes), base64)
108108
XCTAssertEqual(try Base64.decode(string: base64), bytes)
109109
}
110110

111111
func testBase64DecodingOneTwoThreeFourFiveSix() {
112112
let base64 = "AQIDBAUG"
113113
let bytes: [UInt8] = [1, 2, 3, 4, 5, 6]
114114

115-
XCTAssertEqual(Base64.encodeString(bytes: bytes), base64)
115+
XCTAssertEqual(Base64.encodeToString(bytes: bytes), base64)
116116
XCTAssertEqual(try Base64.decode(string: base64), bytes)
117117
}
118118

Tests/ExtrasBase64Tests/IntegrationTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class IntegrationTests: XCTestCase {
55
func testEncodeAndDecodingĨ() throws {
66
var input = "Ĩ"
77
let encoded = input.withUTF8 { ptr -> String in
8-
Base64.encodeString(bytes: ptr)
8+
Base64.encodeToString(bytes: ptr)
99
}
1010

1111
let decoded = try Base64.decode(string: encoded)

0 commit comments

Comments
 (0)