Commit Graph

260 Commits

Author SHA1 Message Date
Caleb Kleveter 7ade8397c1
Removed UInt8 conformance to LosslessStringConvertible 2019-04-29 16:19:40 -05:00
Caleb Kleveter 6969d1f4e5
Replaced improper uses of newlines in Serializer with comma characters 2019-04-29 16:00:31 -05:00
Justin 19f58f47bd adds ‘delimiter’ parameter to decode functions
adds a ‘delimiter’ parameter to decoding functions to support other delimiters like “\t”. Where these delimiter parameters have been added a default has been set to “,” to maintain the current functionality.
2019-04-28 15:13:49 -06:00
Caleb Kleveter caad9866a8
Merge pull request #5 from skelpo/develop
Version 1.0.0
2019-04-19 10:14:46 -05:00
Caleb Kleveter bba4556f3f
Generated API docs 2019-04-19 10:07:58 -05:00
Caleb Kleveter 16dd5b5dc1
Only check parser position update if a cell or row is complete 2019-04-19 10:02:46 -05:00
Caleb Kleveter 413c17eb94
Added measure basline comments to DecoderTests measure tests 2019-04-19 10:00:35 -05:00
Caleb Kleveter 5afcfbb45f
Removed old code that has been replaced by streaming implementations 2019-04-19 09:58:56 -05:00
Caleb Kleveter fb983c5bb6
Created StressTests.testMeasureSyncEncoding test case 2019-04-19 09:55:55 -05:00
Caleb Kleveter 3453717c2c
Created StressTests.testMeasureAsyncEcndoing test case 2019-04-19 09:52:04 -05:00
Caleb Kleveter 74d621022e
Created StressTests.testMeasureSyncDecoding test case 2019-04-19 09:42:52 -05:00
Caleb Kleveter 45de8e19cb
Created StressTests.testMeasureAsyncDecoding test case 2019-04-19 09:38:15 -05:00
Caleb Kleveter cc8f568e21
Use Int literals instead of characters in Bytes.int, .float, and .double propertys
This gives ~94% speed improvment
2019-04-19 09:26:32 -05:00
Caleb Kleveter d4f82e6c77
Created StressTests.testMeasureSyncSerialize test case 2019-04-19 09:08:41 -05:00
Caleb Kleveter 9a9b0a2bd8
Created StressTests.testMeasureAsyncSerialize test case 2019-04-19 09:04:13 -05:00
Caleb Kleveter 77151f0255
Created StressTests.testMeasureSyncParsing test case 2019-04-19 08:58:42 -05:00
Caleb Kleveter 2801681d5c
Created StressTests test suite with .testMeasureAsyncParsing test case 2019-04-19 08:55:04 -05:00
Caleb Kleveter 8eb2ed40bc
Documented CSVCodingOptions, BoolCodingStrategy, and NilCodingStrategy types 2019-04-19 07:57:53 -05:00
Caleb Kleveter 5f6cba7cf5
Documented CSVEncoder and CSVDecoder types 2019-04-19 07:36:39 -05:00
Caleb Kleveter 2105cb0330
Renamed async CSV decoder types 2019-04-18 16:36:15 -05:00
Caleb Kleveter 0184ab3c2a
Documented BytesRepresentable and KeyedCollection protocols, and Serializer and SyncSerializer structs 2019-04-18 16:34:15 -05:00
Caleb Kleveter 7a2780d0f2
Documented ErrorList, Parser, and SyncParser types 2019-04-18 16:17:54 -05:00
Caleb Kleveter 4df8e23781
Updated CSVTests.testAsyncParseStringSpeed expected speed comment 2019-04-18 15:34:18 -05:00
Caleb Kleveter 4839271e06
Assign bytesLeft in Parser.parse(_:length:) using a single line 2019-04-18 15:26:53 -05:00
Caleb Kleveter 4783a49168
Fixed indentation in SyncParser method closures 2019-04-18 15:10:37 -05:00
Caleb Kleveter 08f41f868a
Renamed CSVSerializer.swift file to Serializer.swift 2019-04-18 15:01:07 -05:00
Caleb Kleveter f488cb0563
Trap on overflow when creating number from bytes 2019-04-18 13:07:21 -05:00
Caleb Kleveter f1021fbd9d
Created UtilityTests test suite 2019-04-18 12:55:16 -05:00
Caleb Kleveter e4d21444fb
Removed CSV namespacing from Parser and SyncParser types. Removed CSV.Delimiter enum 2019-04-18 12:19:08 -05:00
Caleb Kleveter 1a12fe8bde
Updated CSVTests.testCSVSyncEncodingSpeed test case expected time 2019-04-18 11:59:12 -05:00
Caleb Kleveter 65f1552335
Updated CSVTests.testCSVSyncDecodeSpeed test case expected time 2019-04-18 11:55:45 -05:00
Caleb Kleveter d95401abc2
Created EncoderTests test suite 2019-04-18 11:45:41 -05:00
Caleb Kleveter c94dc26b1d
Encode CSV cells in quotes and separate cells with commas 2019-04-18 11:45:27 -05:00
Caleb Kleveter 7a6fdd39db
Added custom support to encodeIfPresent methods in AsyncKeyedEncoder container class 2019-04-18 11:44:57 -05:00
Caleb Kleveter 40b5312902
Made Person struct for DecoderTests test suite fileprivate 2019-04-18 11:42:39 -05:00
Caleb Kleveter 08f0d5f3e4
Added default value to CSVEncoder.init(encodingOption:) initializer 2019-04-18 10:56:54 -05:00
Caleb Kleveter d74028d771
Created SerializerTests.testChunkedSerialize and .testMeasureChunkedSerialize test cases 2019-04-18 10:50:47 -05:00
Caleb Kleveter 42d6b7c7c5
Use a standard dictionary in SerializerTests.testMeasuerSyncSerializer test case 2019-04-18 10:26:24 -05:00
Caleb Kleveter 3b39fdb910
Created SerializerTests test suite with .testSyncSerialize and .testMeasuerSyncSerializer cases 2019-04-18 10:16:36 -05:00
Caleb Kleveter 69c92282a9
Specify Self.Element in KeyedCollection protocol signature condition 2019-04-18 10:01:35 -05:00
Caleb Kleveter 3ebcacc169
Created KeyedCollection protocol for Serializer.serialize method to use
This lets us create custom type for testing, since you can't know the order of a Dictionaries elements
2019-04-18 09:52:29 -05:00
Caleb Kleveter 502da1cb59
Use String.init(decoding:as:) initializer instead of .init(bytes:encoding:) in SyncParser.parse(_:String) method 2019-04-18 09:47:08 -05:00
Caleb Kleveter fa20a47458
Created Serializer struct 2019-04-18 09:38:05 -05:00
Caleb Kleveter a4444ffef3
Created aysnc CSV encoder 2019-04-17 16:10:13 -05:00
Caleb Kleveter 9896bd77df
Updated expected time comments in CSVTests test suite 2019-04-17 12:51:14 -05:00
Caleb Kleveter 0259e9e2bb
Changed CSV.Parser type back to a struct
Making it a class made the SyncParser unbearably slow
2019-04-17 12:38:22 -05:00
Caleb Kleveter 037993598f
Track cell data useing slice bounds in CSV.Parser implementation 2019-04-17 11:46:48 -05:00
Caleb Kleveter f58b64600a
Make CSV.Parser instances constant in the ParserTests test suite 2019-04-17 10:17:17 -05:00
Caleb Kleveter c56d3909e7
Added cases to CSVTests test suite for updated parsers and decoders 2019-04-17 10:16:19 -05:00
Caleb Kleveter 33a827c59c
Changed CSV.SyncParser type from struct to class 2019-04-17 07:24:36 -05:00