Joe Amenta
Joe Amenta
Craft.Net.Server.MinecraftServer publicly exposes two events, named "PacketRecieved" and "PacketSent". These events are intended to be raised by the protected internal methods named "OnPacketRecieved" and "OnPacketSent", respectively. However, neither of those...
On `CsvSyncInputBase`: ```csharp public IEnumerable AsEnumerableFromUTF8() { return AsEnumerableFromUTF8(UTF8FieldDecodingParameters.Default); // CsvReaderVisitorWithUTF8HeadersBase.DefaultMaxHeaderLength } public virtual IEnumerable AsEnumerableFromUTF8(UTF8FieldDecodingParameters fieldDecodingParameters) { // ... } ```
On `CsvAsyncInputBase`: ```csharp public IAsyncEnumerable AsEnumerableFromUtf8() { // ... } public virtual async IAsyncEnumerable AsEnumerable(Encoding inputEncoding) { // ... } ```
The idea behind this "visitor"-based model is to enable intermediate subclasses that provide some of the services that "normal" text and CSV processing libraries offer, e.g., first-class headers with record...
Probably depends on #7. Desired usage: ```csharp public sealed class MyVisitor : CsvUTF8StringArrayReaderVisitorBase { public MyVisitor(int maxFieldLength, int maxFieldCount, DecoderFallback decoderFallback) : base(maxFieldLength, maxFieldCount, decoderFallback) { } public override void...
Desired usage: ```csharp public sealed class MyVisitor : CsvUTF8StringReaderVisitorBase { public MyVisitor(int maxFieldLength, DecoderFallback decoderFallback) : base(maxFieldLength, decoderFallback) { } public override void VisitField(string field) { // do stuff with...
The idea of only supporting streams that look like ASCII could hypothetically be a bit limiting. Technically, nothing's stopping us from exposing a `TextReader`-based API and decoding to UTF-8 on-the-fly...
Throughout the development of 1.x, I've made some mistakes that can only be completely fixed by one or more intentional breaking changes. I intend to follow SemVer 2.0.0, so the...
Something I neglected in 1.1.0 is to ensure that users have a decent experience when trying to discover Cursively's API through IntelliSense or the online API browser. At the moment,...
The visitor optionally lets us ignore a UTF-8 BOM on the first header field if present, **however**, if that field starts with a double-quote, then the tokenizer will fail to...