From 12b8c83635f76efad61f8c35c07973d1ce700e9b Mon Sep 17 00:00:00 2001 From: jescriba Date: Fri, 12 Sep 2025 15:58:44 -0700 Subject: [PATCH 1/3] Allow FlagEvaluationDetails to be a public API Signed-off-by: jescriba --- Sources/OpenFeature/FlagEvaluationOptions.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Sources/OpenFeature/FlagEvaluationOptions.swift b/Sources/OpenFeature/FlagEvaluationOptions.swift index 5ed7f07..7fbd014 100644 --- a/Sources/OpenFeature/FlagEvaluationOptions.swift +++ b/Sources/OpenFeature/FlagEvaluationOptions.swift @@ -1,6 +1,15 @@ import Foundation +/// FlagEvaluationOptions is a struct that enables passing in custom hooks and hints to the flag evaluation process. public struct FlagEvaluationOptions { - var hooks: [any Hook] = [] - var hookHints: [String: Any] = [:] + public let hooks: [any Hook] + public let hookHints: [String: Any] + + public init( + hooks: [any Hook] = [], + hookHints: [String: Any] = [:] + ) { + self.hooks = hooks + self.hookHints = hookHints + } } From 4b5f59427f547900828cb599477f54cc2fd3a482 Mon Sep 17 00:00:00 2001 From: "Joshua E." Date: Fri, 12 Sep 2025 16:01:24 -0700 Subject: [PATCH 2/3] Update Sources/OpenFeature/FlagEvaluationOptions.swift Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Joshua E. --- Sources/OpenFeature/FlagEvaluationOptions.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/OpenFeature/FlagEvaluationOptions.swift b/Sources/OpenFeature/FlagEvaluationOptions.swift index 7fbd014..7429eb8 100644 --- a/Sources/OpenFeature/FlagEvaluationOptions.swift +++ b/Sources/OpenFeature/FlagEvaluationOptions.swift @@ -1,7 +1,7 @@ import Foundation /// FlagEvaluationOptions is a struct that enables passing in custom hooks and hints to the flag evaluation process. -public struct FlagEvaluationOptions { +@frozen public struct FlagEvaluationOptions { public let hooks: [any Hook] public let hookHints: [String: Any] From 784819dc3c8cfa00ab3bc0e326eabc7305da1a0f Mon Sep 17 00:00:00 2001 From: jescriba Date: Tue, 16 Sep 2025 09:10:39 -0700 Subject: [PATCH 3/3] Remove frozen attribute on flag evaluation options Signed-off-by: jescriba --- Sources/OpenFeature/FlagEvaluationOptions.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/OpenFeature/FlagEvaluationOptions.swift b/Sources/OpenFeature/FlagEvaluationOptions.swift index 7429eb8..7fbd014 100644 --- a/Sources/OpenFeature/FlagEvaluationOptions.swift +++ b/Sources/OpenFeature/FlagEvaluationOptions.swift @@ -1,7 +1,7 @@ import Foundation /// FlagEvaluationOptions is a struct that enables passing in custom hooks and hints to the flag evaluation process. -@frozen public struct FlagEvaluationOptions { +public struct FlagEvaluationOptions { public let hooks: [any Hook] public let hookHints: [String: Any]