Skip to content

Commit 321f9ea

Browse files
committed
Prepare for release 0.3.0
1 parent 1876707 commit 321f9ea

3 files changed

Lines changed: 42 additions & 17 deletions

File tree

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,29 @@ The source generator also supports generating asynchronous parsing methods. To d
9393
public static partial IAsyncEnumerable<MyRecord> ParseAsync(SepReader reader, CancellationToken ct);
9494
```
9595

96+
### Passing IEnumerable instead of a SepReader
97+
98+
Sometimes you may want to filter out some of the rows of the CSV file before attempting to
99+
deserialize them. For example, some banks include lines like "Pending Transactions" and
100+
"Posted Transactions" to indicate where pending and posted transitions start. To accomplish this,
101+
you can pass an `IEnumerable<SepReader.Row>` instead of a `SepReader`. You will also need to specify
102+
a `SepReaderHeader` parameter.
103+
104+
```csharp
105+
[GenerateCsvParser]
106+
public static partial IEnumerable<MyRecord> Parse(SepReaderHeader header, IEnumerable<SepReader.Row> items);
107+
108+
[GenerateCsvParser]
109+
public static partial IAsyncEnumerable<MyRecord> ParseAsync(SepReaderHeader header, IAsyncEnumerable<SepReader.Row> items, CancellationToken ct);
110+
```
111+
96112
## Changelog
97113

114+
### 0.3.0
115+
116+
* Support for parameter types to be in any order.
117+
* Support for `IEnumerable<SepReader.Row>` or `IAsyncEnumerable<SepReader.Row>` as a parameter instead of `SepReader`.
118+
98119
### 0.2.1
99120

100121
Support for multiple header names.

src/SepCsvSourceGenerator.Analyzer/AnalyzerReleases.Shipped.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
; Shipped analyzer releases
22
; https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md
33

4+
## Release 0.3.0
5+
6+
### New Rules
7+
8+
Rule ID | Category | Severity | Notes
9+
--------|----------|----------|-------
10+
CSVGEN010 | Usage | Error | Unexpected parameter type
11+
CSVGEN011 | Usage | Error | Missing reader parameter
12+
CSVGEN012 | Usage | Error | Missing header parameter
13+
CSVGEN013 | Usage | Error | Duplicate CancellationToken Parameter
14+
CSVGEN014 | Usage | Error | Duplicate Header Parameter
15+
CSVGEN015 | Usage | Error | Duplicate Reader Parameter
16+
CSVGEN016 | Usage | Error | Unexpected IEnumerable parameter
17+
CSVGEN017 | Usage | Error | Unexpected IAsyncEnumerable parameter
18+
19+
### Removed Rules
20+
21+
Rule ID | Category | Severity | Notes
22+
--------|----------|----------|-------
23+
CSVGEN003 | Usage | Error | Invalid method parameters
24+
425
## Release 0.2.1
526

627
### New Rules

src/SepCsvSourceGenerator.Analyzer/AnalyzerReleases.Unshipped.md

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,3 @@
22
; https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md
33

44
### New Rules
5-
6-
Rule ID | Category | Severity | Notes
7-
--------|----------|----------|-------
8-
CSVGEN010 | Usage | Error | Unexpected parameter type
9-
CSVGEN011 | Usage | Error | Missing reader parameter
10-
CSVGEN012 | Usage | Error | Missing header parameter
11-
CSVGEN013 | Usage | Error | Duplicate CancellationToken Parameter
12-
CSVGEN014 | Usage | Error | Duplicate Header Parameter
13-
CSVGEN015 | Usage | Error | Duplicate Reader Parameter
14-
CSVGEN016 | Usage | Error | Unexpected IEnumerable parameter
15-
CSVGEN017 | Usage | Error | Unexpected IAsyncEnumerable parameter
16-
17-
### Removed Rules
18-
19-
Rule ID | Category | Severity | Notes
20-
--------|----------|----------|-------
21-
CSVGEN003 | Usage | Error | Invalid method parameters

0 commit comments

Comments
 (0)