Zomp.SyncMethodGenerator 0.1.8-alpha

This is a prerelease version of Zomp.SyncMethodGenerator.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Zomp.SyncMethodGenerator --version 0.1.8-alpha
                    
NuGet\Install-Package Zomp.SyncMethodGenerator -Version 0.1.8-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Zomp.SyncMethodGenerator" Version="0.1.8-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Zomp.SyncMethodGenerator" Version="0.1.8-alpha" />
                    
Directory.Packages.props
<PackageReference Include="Zomp.SyncMethodGenerator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Zomp.SyncMethodGenerator --version 0.1.8-alpha
                    
#r "nuget: Zomp.SyncMethodGenerator, 0.1.8-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Zomp.SyncMethodGenerator@0.1.8-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Zomp.SyncMethodGenerator&version=0.1.8-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Zomp.SyncMethodGenerator&version=0.1.8-alpha&prerelease
                    
Install as a Cake Tool

Sync Method Generator

Build Support .NET Standard 2.0 Nuget

This .NET source generator produces a sync method from an async one.

Use cases

  • A library which exposes both sync and async version of a method
  • An application has to process two kinds of data in the same way:
    • Large data from I/O which cannot be stored in memory before processing: Original async method
    • Small sample of data in memory, usually a sample of the larger data: Generated sync method

How it works

Add CreateSyncVersionAttribute to your async method in your partial class

[Zomp.SyncMethodGenerator.CreateSyncVersion]
static async Task WriteAsync(ReadOnlyMemory<byte> buffer, Stream stream, 
CancellationToken ct)
    => await stream.WriteAsync(buffer, ct).ConfigureAwait(true);

And it will generate a sync version of the method:

static void Write(ReadOnlySpan<byte> buffer, Stream stream)
    => stream.Write(buffer);

A list of changes applied to the new synchronized method:

Installation

To add the library use:

dotnet add package Zomp.SyncMethodGenerator
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on Zomp.SyncMethodGenerator:

Repository Stars
FluentValidation/FluentValidation
A popular .NET validation library for building strongly-typed validation rules.
Zeugma440/atldotnet
Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
AvionBlock/VoiceCraft
VoiceCraft software to implement proximity VC for Minecraft Bedrock Edition
Version Downloads Last Updated
1.6.17 100 7/28/2025
1.6.16 86 7/28/2025
1.6.15 162 7/28/2025 1.6.15 is deprecated because it has critical bugs.
1.6.14 88 7/27/2025
1.6.13 104 7/27/2025
1.6.12 208 7/26/2025
1.6.11 452 7/24/2025
1.6.10 859 7/24/2025
1.6.9 509 7/23/2025
1.6.8 278 7/20/2025
1.6.3 119 7/17/2025
1.6.2 344 7/8/2025
1.6.1 138 7/8/2025
1.5.3 121 7/4/2025
1.5.1 228 6/29/2025
1.4.38 147 6/23/2025
1.4.37 215 6/23/2025
1.4.35 147 6/17/2025
1.4.32 253 6/17/2025
1.4.30 549 6/14/2025
1.4.29 512 6/12/2025
1.4.28 304 6/11/2025
1.4.27 286 6/11/2025
1.4.26 506 6/11/2025
1.4.25 511 6/10/2025
1.4.20 505 3/9/2025
1.4.18 195 2/24/2025
1.4.15 601 11/17/2024
1.4.14 1,804 8/7/2024
1.4.13 925 7/21/2024
1.4.11 732 7/15/2024
1.4.10 662 7/13/2024
1.4.8 319 7/8/2024
1.4.3 270 6/27/2024
1.4.1 299 5/21/2024
1.3.44 232 5/14/2024
1.3.43 312 4/26/2024
1.3.40 529 4/11/2024
1.3.39 268 4/9/2024
1.3.38 401 3/23/2024
1.3.36 233 3/20/2024
1.3.35 128 3/19/2024
1.3.33 189 3/18/2024
1.3.28 200 3/18/2024
1.3.27 215 3/17/2024
1.3.24 457 3/12/2024
1.3.23 255 3/12/2024
1.3.21 225 3/11/2024
1.3.20 254 3/11/2024
1.3.18 227 3/10/2024
1.3.17 294 2/26/2024
1.3.16 339 2/26/2024
1.3.13 249 2/25/2024
1.3.8-beta 1,050 2/12/2024
1.3.6 310 1/26/2024
1.3.5 231 1/21/2024
1.3.1 326 1/17/2024
1.2.24 238 1/14/2024
1.2.18 216 1/5/2024
1.2.16 232 1/5/2024
1.2.13 210 1/4/2024
1.2.12 207 1/4/2024
1.2.8 210 1/3/2024
1.2.3 447 11/20/2023
1.2.1 221 11/13/2023
1.1.2 2,923 8/8/2023
1.0.14 304 8/4/2023
1.0.12 32,307 8/3/2023
1.0.11 274 8/2/2023
1.0.5 199 7/31/2023
1.0.3 184 7/29/2023
1.0.2 202 7/29/2023
1.0.1 352 7/27/2023
0.1.39-alpha 566 1/25/2023
0.1.38-alpha 283 1/19/2023
0.1.37-alpha 282 1/19/2023
0.1.34-alpha 277 1/18/2023
0.1.33-alpha 251 1/15/2023
0.1.30-alpha 315 11/21/2022
0.1.22-alpha 265 11/19/2022
0.1.21-alpha 267 11/19/2022
0.1.19-alpha 240 11/19/2022
0.1.18-alpha 276 11/18/2022
0.1.17-alpha 345 11/14/2022
0.1.13-alpha 253 11/13/2022
0.1.12-alpha 293 10/31/2022
0.1.10-alpha 254 10/28/2022
0.1.9-alpha 293 10/27/2022
0.1.8-alpha 317 10/27/2022
0.1.5-alpha 275 10/27/2022
0.1.4-alpha 295 10/27/2022
0.1.3-alpha 324 10/26/2022
0.1.2-alpha 317 10/25/2022
0.1.1-alpha 342 10/25/2022