Fluent builder interfaces and scope extensions for TimeWarp projects
| Latest prerelease | 1.0.0-beta.2 |
| Stable release | none yet (prerelease only) |
| Downloads | 2,513 |
| Last published | 2026-05-17 |
| Target frameworks | net10.0 |
Install
dotnet add package TimeWarp.Builder --prerelease
TimeWarp.Builder
Fluent builder interfaces and Kotlin-inspired scope extensions for .NET.
Interfaces
IBuilder<T>
Interface for standalone builders that create objects via Build().
public class MyWidgetBuilder : IBuilder<Widget>
{
public Widget Build() => new Widget(_options);
}
// Usage
Widget widget = new MyWidgetBuilder()
.WithColor("blue")
.WithSize(10)
.Build();
INestedBuilder<TParent>
Interface for nested builders that return to a parent context via Done().
// Nested builder returns to parent after building
app.Map(route => route
.WithLiteral("deploy")
.WithParameter("env")
.Done()) // Returns to parent builder
.WithHandler(handler);
Scope Extensions
Kotlin-inspired extension methods for fluent object manipulation.
Also
Executes an action on the object and returns the original object. Useful for side effects during method chaining.
var builder = new AppBuilder()
.Also(b => Console.WriteLine("Building app..."))
.Configure(options);
Apply
Configures the object and returns the original object. Semantically similar to Also but with clearer intent for configuration.
app.Map("status", handler)
.Apply(r => r.AsQuery());
Let
Transforms the object to a different type.
int length = "hello".Let(s => s.Length); // 5
Run
Executes an action on the object with no return value. Terminal operation in a method chain.
app.Build().Run(a => a.RunAsync(args));