From ab4a9207c56263a1aeb1dac2b0f3e42a5a4605f2 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sun, 9 Mar 2025 00:11:49 +0100 Subject: [PATCH] Documented the AppArguments protocol and the Environment+Properties extension in the library target. --- App/Sources/AppOptions.swift | 6 +++--- .../Public/Extensions/Environment+Properties.swift | 1 + Library/Sources/Public/Protocols/AppArguments.swift | 4 ++++ Test/Sources/Helpers/TestArguments.swift | 8 ++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/App/Sources/AppOptions.swift b/App/Sources/AppOptions.swift index a6d835f..d76acb6 100644 --- a/App/Sources/AppOptions.swift +++ b/App/Sources/AppOptions.swift @@ -9,12 +9,12 @@ extension App { @Option(name: .shortAndLong) var hostname: String = "127.0.0.1" + + @Option(name: .shortAndLong) + var logLevel: Logger.Level? @Option(name: .shortAndLong) var port: Int = 8080 - @Option(name: .shortAndLong) - var logLevel: Logger.Level? - } } diff --git a/Library/Sources/Public/Extensions/Environment+Properties.swift b/Library/Sources/Public/Extensions/Environment+Properties.swift index 99d4d41..e0a1a77 100644 --- a/Library/Sources/Public/Extensions/Environment+Properties.swift +++ b/Library/Sources/Public/Extensions/Environment+Properties.swift @@ -4,6 +4,7 @@ extension Environment { // MARK: Computed + /// The logging level set in the environment variables. public var logLevel: String? { self.get("LOG_LEVEL") } diff --git a/Library/Sources/Public/Protocols/AppArguments.swift b/Library/Sources/Public/Protocols/AppArguments.swift index 40039e1..37b803c 100644 --- a/Library/Sources/Public/Protocols/AppArguments.swift +++ b/Library/Sources/Public/Protocols/AppArguments.swift @@ -1,11 +1,15 @@ import Logging +/// A type that defines the input arguments that the `Hummingbird`app receives. public protocol AppArguments { // MARK: Properties + /// A bind address for the app. var hostname: String { get } + /// A logging level to configure for the app. var logLevel: Logger.Level? { get } + /// A port for the app to use, var port: Int { get } } diff --git a/Test/Sources/Helpers/TestArguments.swift b/Test/Sources/Helpers/TestArguments.swift index c2f0b21..83cbfd5 100644 --- a/Test/Sources/Helpers/TestArguments.swift +++ b/Test/Sources/Helpers/TestArguments.swift @@ -2,11 +2,11 @@ import AppLibrary import Logging struct TestArguments: AppArguments { - + // MARK: Properties - + let hostname = "127.0.0.1" - let port = 0 let logLevel: Logger.Level? = .trace - + let port = 0 + }