Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 27 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# RSCG - 257 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
# RSCG - 258 Examples of Roslyn Source Code Generators / 16 created by Microsoft /

The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 257 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 258 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.

This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem

## Latest Update : 2026-02-15 => 15 February 2026
## Latest Update : 2026-03-18 => 18 March 2026
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix the future-dated metadata.

These entries say the latest update and generated date are March 18, 2026, but this PR was opened on March 8, 2026. Shipping docs with future dates will make the catalog look incorrect for ten days and usually means the generation date source is off.

Also applies to: 31-31

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 7, The README's metadata header "## Latest Update :
2026-03-18 => 18 March 2026" (and any other generated date entries such as the
"generated date" field) is set to a future date; update these to the PR/open
date (2026-03-08) or to use a dynamic generation method that inserts the current
date at build time. Locate the string "## Latest Update : 2026-03-18 => 18 March
2026" in README.md (and the analogous "generated date" entry mentioned) and
change the hard-coded date to "2026-03-08" or wire it to your date generator so
docs are never stamped with a future date.


If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)***

If you want just those from Microsoft, please click ***[Microsoft](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Authors/Microsoft)***

If you want to see by category, please click ***[category](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples)***
or click any category below
[actor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#actor) -[ai](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#ai) -[aop](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#aop) -[api](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#api) -[async](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#async) -[bitwise](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bitwise) -[blazor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#blazor) -[bool](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bool) -[builder](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#builder) -[clone](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#clone) -[codetostring](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#codetostring) -[commandline](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) -[console](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#console) -[constructor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#constructor) -[database](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#database) -[decorator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#decorator) -[dependencyinjection](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#dependencyinjection) -[disposer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#disposer) -[enhancementclass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) -[enhancementproject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) -[enum](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enum) -[equals](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#equals) -[filestocode](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#filestocode) -[functionalprogramming](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#functionalprogramming) -[hangfire](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#hangfire) -[idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#idempotency) -[interface](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#interface) -[linq](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#linq) -[mapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mapper) -[mcp](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mcp) -[mediator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mediator) -[mixin](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mixin) -[mvc](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvc) -[mvvm](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvvm) -[optimizer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#optimizer) -[primitiveobsession](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#primitiveobsession) -[profiler](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#profiler) -[rx](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#rx) -[serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) -[signalr](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#signalr) -[statemachine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#statemachine) -[templating](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#templating) -[tests](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#tests) -[validator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#validator) -[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi) -
[actor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#actor) -[ai](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#ai) -[aop](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#aop) -[api](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#api) -[async](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#async) -[bitwise](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bitwise) -[blazor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#blazor) -[bool](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bool) -[builder](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#builder) -[clone](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#clone) -[codetostring](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#codetostring) -[commandline](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) -[console](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#console) -[constructor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#constructor) -[database](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#database) -[decorator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#decorator) -[dependencyinjection](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#dependencyinjection) -[disposer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#disposer) -[documentation](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#documentation) -[enhancementclass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) -[enhancementproject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) -[enum](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enum) -[equals](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#equals) -[filestocode](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#filestocode) -[functionalprogramming](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#functionalprogramming) -[hangfire](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#hangfire) -[idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#idempotency) -[interface](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#interface) -[linq](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#linq) -[mapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mapper) -[mcp](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mcp) -[mediator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mediator) -[mixin](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mixin) -[mvc](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvc) -[mvvm](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvvm) -[optimizer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#optimizer) -[primitiveobsession](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#primitiveobsession) -[profiler](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#profiler) -[rx](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#rx) -[serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) -[signalr](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#signalr) -[statemachine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#statemachine) -[templating](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#templating) -[tests](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#tests) -[validator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#validator) -[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi) -


## If you have a Roslyn Source Code Generator, please create an issue.
Expand All @@ -24,8 +24,30 @@ If you want to be notified each time I add a new RSCG example , please click htt

## Content

Those are the 257 Roslyn Source Code Generators that I have tested you can see and download source code example.
Those are the 258 Roslyn Source Code Generators that I have tested you can see and download source code example.
( including 16 from Microsoft )
### 258. [REslava.ResultFlow](https://ignatandrei.github.io/RSCG_Examples/v2/docs/REslava.ResultFlow) , in the [Documentation](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#documentation) category

Generated on : 2026-03-18 => 18 March 2026

<details>
<summary>Expand</summary>



Author: Rafa Eslava

Source generator that auto-generates Mermaid pipeline diagrams at compile time for any Result library. Add [ResultFlow] to any fluent method and get a generated const string diagram — zero runtime overhead, zero manual maintenance.

Nuget: [https://www.nuget.org/packages/REslava.ResultFlow/](https://www.nuget.org/packages/REslava.ResultFlow/)


Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/REslava.ResultFlow](https://ignatandrei.github.io/RSCG_Examples/v2/docs/REslava.ResultFlow)

Source: [https://github.com/reslava/nuget-package-reslava-result/](https://github.com/reslava/nuget-package-reslava-result/)

</details>

### 257. [Pekspro.DataAnnotationValuesExtractor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Pekspro.DataAnnotationValuesExtractor) , in the [EnhancementClass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) category

Generated on : 2026-02-15 => 15 February 2026
Expand Down
2 changes: 1 addition & 1 deletion later.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Just later

## Latest Update : 2026-02-15 => 15 February 2026
## Latest Update : 2026-03-18 => 18 March 2026



Expand Down
42 changes: 42 additions & 0 deletions v2/.tours/REslava.ResultFlow.tour
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

{
"$schema": "https://aka.ms/codetour-schema",
"title": "REslava.ResultFlow",
"steps":
[
{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/ResultFlowGenerator.csproj",
"description": "First, we add Nuget [REslava.ResultFlow](https://www.nuget.org/packages/REslava.ResultFlow/) in csproj ",
"pattern": "REslava.ResultFlow"
}

,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/Helpers.cs",
"description": "File Helpers.cs ",
"pattern": "this is the code"
}

,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/Program.cs",
"description": "File Program.cs \r\n>> dotnet run --project rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/ResultFlowGenerator.csproj ",
"pattern": "this is the code"
}


,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/ResultFlowAttribute.g.cs",
"description": "Generated File 2 from 2 : ResultFlowAttribute.g.cs ",
"line": 1
}

,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/Helpers_Flows.g.cs",
"description": "Generated File 1 from 2 : Helpers_Flows.g.cs ",
"line": 1
}
Comment on lines +26 to +36
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Generated file descriptions are numbered backwards.

The step descriptions show "Generated File 2 from 2" (line 28) before "Generated File 1 from 2" (line 34), which is confusing. Consider swapping the numbering to reflect the natural order.

📝 Proposed fix
         ,{
         "file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/ResultFlowAttribute.g.cs",
-        "description": "Generated File 2  from 2 : ResultFlowAttribute.g.cs ",
+        "description": "Generated File 1 from 2 : ResultFlowAttribute.g.cs ",
         "line": 1
         }
     
         ,{
         "file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/Helpers_Flows.g.cs",
-        "description": "Generated File 1  from 2 : Helpers_Flows.g.cs ",
+        "description": "Generated File 2 from 2 : Helpers_Flows.g.cs ",
         "line": 1
         }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/ResultFlowAttribute.g.cs",
"description": "Generated File 2 from 2 : ResultFlowAttribute.g.cs ",
"line": 1
}
,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/Helpers_Flows.g.cs",
"description": "Generated File 1 from 2 : Helpers_Flows.g.cs ",
"line": 1
}
,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/ResultFlowAttribute.g.cs",
"description": "Generated File 1 from 2 : ResultFlowAttribute.g.cs ",
"line": 1
}
,{
"file": "rscg_examples/REslava.ResultFlow/src/ResultFlowGenerator/obj/GX/REslava.ResultFlow/REslava.ResultFlow.Generators.ResultFlow.ResultFlowGenerator/Helpers_Flows.g.cs",
"description": "Generated File 2 from 2 : Helpers_Flows.g.cs ",
"line": 1
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@v2/.tours/REslava.ResultFlow.tour` around lines 26 - 36, The tour entries
list generated files with inverted numbering; update the two JSON entries in
REslava.ResultFlow.tour that contain "description": "Generated File 2  from 2 :
ResultFlowAttribute.g.cs " and "description": "Generated File 1  from 2 :
Helpers_Flows.g.cs " so the descriptions reflect natural order (i.e., "Generated
File 1 from 2" for the first listed file and "Generated File 2 from 2" for the
second), or alternatively swap the two objects so the file with
Helpers_Flows.g.cs is listed first; edit the description strings or object order
accordingly to ensure numbering is sequential and not backwards.


],

"ref": "main"

}
3 changes: 3 additions & 0 deletions v2/Generator/MultiGeneratorV2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,11 @@ public string[] SourceNoRSCG()
text = text.Replace("(docs/rules/", $"({d.Generator!.Source}/docs/rules/");
text = text.Replace("(CHANGELOG.md", $"({d.Generator!.Source}/CHANGELOG.md");
text = text.Replace("(/.github/CONTRIBUTING.md)", $"({d.Generator!.Source}/.github/CONTRIBUTING.md)");
text = text.Replace("{reasonPhrase}", "`{reasonPhrase`}");
text = text.Replace("{code}", "`{code`}");
Comment on lines +157 to +158
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The replacement strings here look malformed: wrapping {reasonPhrase} / {code} in backticks is likely intended to prevent MDX interpolation, but the current replacements produce an unmatched backtick pattern and leave a trailing } outside the code span. This can result in broken markdown/MDX output. Consider replacing with a properly balanced inline-code form (e.g., backticks around the entire token including both braces) or escaping braces in a way compatible with MDX.

Suggested change
text = text.Replace("{reasonPhrase}", "`{reasonPhrase`}");
text = text.Replace("{code}", "`{code`}");
text = text.Replace("{reasonPhrase}", "`{reasonPhrase}`");
text = text.Replace("{code}", "`{code}`");

Copilot uses AI. Check for mistakes.

text = text.Replace("(CONTRIBUTING", $"({d.Generator!.Source}/CONTRIBUTING");
text = text.Replace("(CONTRIBUTORS", $"({d.Generator!.Source}/CONTRIBUTORS");
text = text.Replace("(SECURITY", $"({d.Generator!.Source}/SECURITY");
text = text.Replace("(./CODE-OF-CONDUCT", $"({d.Generator!.Source}/CODE-OF-CONDUCT");

Expand Down
1 change: 1 addition & 0 deletions v2/Generator/all.csv
Original file line number Diff line number Diff line change
Expand Up @@ -256,3 +256,4 @@ Nr,Key,Source,Category
255,KnockOff, https://github.com/NeatooDotNet/KnockOff,Tests
256,Sundew.DiscriminatedUnions, https://github.com/sundews/Sundew.DiscriminatedUnions,FunctionalProgramming
257,Pekspro.DataAnnotationValuesExtractor, https://github.com/pekspro/DataAnnotationValuesExtractor,EnhancementClass
258,REslava.ResultFlow, https://github.com/reslava/nuget-package-reslava-result/,Documentation
3 changes: 2 additions & 1 deletion v2/GeneratorData/Category.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public enum Category
MCP= 42,
Bool=43,
Profiler=44,
Idempotency=45
Idempotency=45,
Documentation=46,
}

6 changes: 6 additions & 0 deletions v2/RSCGExamplesData/GeneratorDataRec.json
Original file line number Diff line number Diff line change
Expand Up @@ -1558,5 +1558,11 @@
"Category": 5,
"dtStart": "2026-02-15T00:00:00",
"show": true
},
{
"ID":"REslava.ResultFlow",
"Category": 46,
"dtStart": "2026-03-18T00:00:00",
"show": true
}
]
64 changes: 64 additions & 0 deletions v2/book/examples/REslava.ResultFlow.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@

<h1>RSCG nr 258 : REslava.ResultFlow</h1>

<h2>Info</h2>
Nuget : <a href="https://www.nuget.org/packages/REslava.ResultFlow/" target="_blank">https://www.nuget.org/packages/REslava.ResultFlow/</a>

<p>You can find more details at : <a href="https://github.com/reslava/nuget-package-reslava-result/" target="_blank"> https://github.com/reslava/nuget-package-reslava-result/</a></p>

<p>Author :Rafa Eslava</p>

<p>Source: <a href="https://github.com/reslava/nuget-package-reslava-result/" target="_blank">https://github.com/reslava/nuget-package-reslava-result/</a> </p>

<h2>About</h2>

Functional Code as Mermaid diagrams

<h2>
How to use
</h2>
<h3>
Add reference to the <a href="https://www.nuget.org/packages/REslava.ResultFlow/" target="_blank">REslava.ResultFlow</a> in the csproj
</h3>
<img src="images/REslava.ResultFlow/ResultFlowGenerator.csproj.png" width="580" height="580" />

<h3>This was for me the <b>starting</b> code</h3>

<br />
I have <b>coded</b> the file Program.cs
<br />
<img src="images/REslava.ResultFlow/csFiles/Program.cs.png" width="580" height="580" />
<hr />

<br />
I have <b>coded</b> the file Helpers.cs
<br />
<img src="images/REslava.ResultFlow/csFiles/Helpers.cs.png" width="580" height="580" />
<hr />
<h3>And here are the <i>generated</i> files</h3>

<br />
The file <i>generated</i> is Helpers_Flows.g.cs
<br />
<img src="images/REslava.ResultFlow/generated/Helpers_Flows.g.cs.png" width="580" height="580" />

<br />
The file <i>generated</i> is ResultFlowAttribute.g.cs
<br />
<img src="images/REslava.ResultFlow/generated/ResultFlowAttribute.g.cs.png" width="580" height="580" />

<p>
You can download the code and this page as pdf from
<a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/REslava.ResultFlow'>
https://ignatandrei.github.io/RSCG_Examples/v2/docs/REslava.ResultFlow
</a>
</p>


<p>
You can see the whole list at
<a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'>
https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG
</a>
</p>

6 changes: 5 additions & 1 deletion v2/book/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</head>
<body>
<h1>
This is the list of 257 RSCG with examples =>
This is the list of 258 RSCG with examples =>
</h1>

<table >
Expand Down Expand Up @@ -1054,6 +1054,10 @@ <h1>
<td>257</td>
<td><a href="examples/Pekspro.DataAnnotationValuesExtractor.html">Pekspro.DataAnnotationValuesExtractor</a></td>
</tr>
<tr>
<td>258</td>
<td><a href="examples/REslava.ResultFlow.html">REslava.ResultFlow</a></td>
</tr>
</table>


Expand Down
1 change: 1 addition & 0 deletions v2/book/pandocHTML.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ input-files:
- examples/KnockOff.html
- examples/Sundew.DiscriminatedUnions.html
- examples/Pekspro.DataAnnotationValuesExtractor.html
- examples/REslava.ResultFlow.html

# or you may use input-file: with a single value
# defaults:
Expand Down
22 changes: 22 additions & 0 deletions v2/rscg_examples/REslava.ResultFlow/description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"generator":{
"name":"REslava.ResultFlow",
"nuget":[
"https://www.nuget.org/packages/REslava.ResultFlow/"
],
"link":"https://github.com/reslava/nuget-package-reslava-result/",
"author":"Rafa Eslava",
"source":"https://github.com/reslava/nuget-package-reslava-result/"
},
"data":{
"goodFor":["Functional Code as Mermaid diagrams"],
"csprojDemo":"ResultFlowGenerator.csproj",
"csFiles":["Program.cs","Helpers.cs"],
"excludeDirectoryGenerated":[""],
"includeAdditionalFiles":[""]
},
"links":{
"blog":"",
"video":""
}
}
1 change: 1 addition & 0 deletions v2/rscg_examples/REslava.ResultFlow/nuget.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Source generator that auto-generates Mermaid pipeline diagrams at compile time for any Result library. Add [ResultFlow] to any fluent method and get a generated const string diagram — zero runtime overhead, zero manual maintenance.
Loading