From 92c0bee83bd9b265a4dd4b147d13ff1e4cfe4da8 Mon Sep 17 00:00:00 2001
From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com>
Date: Sun, 9 Feb 2025 15:54:48 -0600
Subject: [PATCH 01/23] feat: begin working on console app
---
.../AltGen.Console.Tests.csproj | 25 +++++++++++++++++
src/AltGen.Console.Tests/UnitTest1.cs | 10 +++++++
src/AltGen.Console/AltGen.Console.csproj | 16 +++++++++++
src/AltGen.Console/Common/TypeRegistrar.cs | 28 +++++++++++++++++++
src/AltGen.Console/Common/TypeResolver.cs | 24 ++++++++++++++++
src/AltGen.Console/Program.cs | 14 ++++++++++
src/AltGen.Console/Usings.cs | 4 +++
src/AltGen.sln | 12 ++++++++
8 files changed, 133 insertions(+)
create mode 100644 src/AltGen.Console.Tests/AltGen.Console.Tests.csproj
create mode 100644 src/AltGen.Console.Tests/UnitTest1.cs
create mode 100644 src/AltGen.Console/AltGen.Console.csproj
create mode 100644 src/AltGen.Console/Common/TypeRegistrar.cs
create mode 100644 src/AltGen.Console/Common/TypeResolver.cs
create mode 100644 src/AltGen.Console/Program.cs
create mode 100644 src/AltGen.Console/Usings.cs
diff --git a/src/AltGen.Console.Tests/AltGen.Console.Tests.csproj b/src/AltGen.Console.Tests/AltGen.Console.Tests.csproj
new file mode 100644
index 0000000..ffec1a6
--- /dev/null
+++ b/src/AltGen.Console.Tests/AltGen.Console.Tests.csproj
@@ -0,0 +1,25 @@
+
+
+
+ net9.0
+ enable
+ enable
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AltGen.Console.Tests/UnitTest1.cs b/src/AltGen.Console.Tests/UnitTest1.cs
new file mode 100644
index 0000000..39b4247
--- /dev/null
+++ b/src/AltGen.Console.Tests/UnitTest1.cs
@@ -0,0 +1,10 @@
+namespace AltGen.Console.Tests;
+
+public class UnitTest1
+{
+ [Fact]
+ public void Test1()
+ {
+
+ }
+}
diff --git a/src/AltGen.Console/AltGen.Console.csproj b/src/AltGen.Console/AltGen.Console.csproj
new file mode 100644
index 0000000..b8472d7
--- /dev/null
+++ b/src/AltGen.Console/AltGen.Console.csproj
@@ -0,0 +1,16 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
diff --git a/src/AltGen.Console/Common/TypeRegistrar.cs b/src/AltGen.Console/Common/TypeRegistrar.cs
new file mode 100644
index 0000000..010dbd7
--- /dev/null
+++ b/src/AltGen.Console/Common/TypeRegistrar.cs
@@ -0,0 +1,28 @@
+namespace AltGen.Console.Common;
+
+sealed class TypeRegistrar(IHostBuilder builder) : ITypeRegistrar
+{
+ readonly IHostBuilder _builder = builder;
+
+ public ITypeResolver Build()
+ {
+ return new TypeResolver(_builder.Build());
+ }
+
+ public void Register(Type service, Type implementation)
+ {
+ _builder.ConfigureServices((_, services) => services.AddSingleton(service, implementation));
+ }
+
+ public void RegisterInstance(Type service, object implementation)
+ {
+ _builder.ConfigureServices((_, services) => services.AddSingleton(service, implementation));
+ }
+
+ public void RegisterLazy(Type service, Func