Skip to content

Commit 691e0ff

Browse files
committed
fixup! move collect deps out of resolve flag
1 parent 8ee81ff commit 691e0ff

File tree

1 file changed

+9
-28
lines changed

1 file changed

+9
-28
lines changed

confidence-resolver/src/lib.rs

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ use crate::proto::confidence::flags::resolver::v1::{
6161
ResolveWithStickyRequest, ResolveWithStickySuccess,
6262
};
6363
use crate::resolve_logger::ResolveLogger;
64-
use crate::ResolveWithStickyContext::EmptyStickyContext;
6564

6665
impl TryFrom<Vec<u8>> for ResolverStatePb {
6766
type Error = ErrorCode;
@@ -398,15 +397,6 @@ pub struct AccountResolver<'a, H: Host> {
398397
host: PhantomData<H>,
399398
}
400399

401-
pub enum ResolveWithStickyContext {
402-
WithStickyContext(StickyResolveContext),
403-
EmptyStickyContext,
404-
}
405-
406-
pub struct StickyResolveContext {
407-
context: MaterializationContext,
408-
}
409-
410400
#[derive(Debug)]
411401
pub enum ResolveFlagError {
412402
Message(String),
@@ -538,14 +528,7 @@ impl<'a, H: Host> AccountResolver<'a, H> {
538528
let mut resolve_results = Vec::with_capacity(flags_to_resolve.len());
539529

540530
for flag in flags_to_resolve {
541-
let sticky_context = if let Some(context) = &request.materialization_context {
542-
ResolveWithStickyContext::WithStickyContext(StickyResolveContext {
543-
context: context.clone(),
544-
})
545-
} else {
546-
EmptyStickyContext
547-
};
548-
let resolve_result = self.resolve_flag(flag, sticky_context);
531+
let resolve_result = self.resolve_flag(flag, request.materialization_context.clone());
549532
match resolve_result {
550533
Ok(resolve_result) => resolve_results.push(resolve_result),
551534
Err(err) => {
@@ -752,7 +735,7 @@ impl<'a, H: Host> AccountResolver<'a, H> {
752735
.flags
753736
.get(flag_name)
754737
.ok_or(ResolveFlagError::err("flag not found"))
755-
.and_then(|flag| self.resolve_flag(flag, EmptyStickyContext))
738+
.and_then(|flag| self.resolve_flag(flag, None))
756739
}
757740

758741
pub fn collect_missing_materializations(
@@ -801,7 +784,7 @@ impl<'a, H: Host> AccountResolver<'a, H> {
801784
pub fn resolve_flag(
802785
&'a self,
803786
flag: &'a Flag,
804-
sticky_context: ResolveWithStickyContext,
787+
sticky_context: Option<MaterializationContext>,
805788
) -> Result<FlagResolveResult<'a>, ResolveFlagError> {
806789
let mut updates: Vec<MaterializationUpdate> = Vec::new();
807790
let mut resolved_value = ResolvedValue::new(flag);
@@ -847,10 +830,10 @@ impl<'a, H: Host> AccountResolver<'a, H> {
847830

848831
let mut materialization_matched = false;
849832
if let Some(materialization_spec) = &rule.materialization_spec {
850-
if let ResolveWithStickyContext::WithStickyContext(ctx) = &sticky_context {
833+
if let Some(context) = &sticky_context {
851834
let read_materialization = &materialization_spec.read_materialization;
852835
if !read_materialization.is_empty() {
853-
if let Some(info) = ctx.context.unit_materialization_info.get(&unit) {
836+
if let Some(info) = context.unit_materialization_info.get(&unit) {
854837
materialization_matched = if !info.unit_in_info {
855838
if materialization_spec
856839
.mode
@@ -1497,9 +1480,7 @@ mod tests {
14971480
.get_resolver_with_json_context(SECRET, context_json, &ENCRYPTION_KEY)
14981481
.unwrap();
14991482
let flag = resolver.state.flags.get("flags/tutorial-feature").unwrap();
1500-
let resolve_result = resolver
1501-
.resolve_flag(flag, ResolveWithStickyContext::EmptyStickyContext)
1502-
.unwrap();
1483+
let resolve_result = resolver.resolve_flag(flag, None).unwrap();
15031484
let resolved_value = &resolve_result.resolved_value;
15041485
let assignment_match = resolved_value.assignment_match.as_ref().unwrap();
15051486

@@ -1521,7 +1502,7 @@ mod tests {
15211502
.unwrap();
15221503
let flag = resolver.state.flags.get("flags/tutorial-feature").unwrap();
15231504
let assignment_match = resolver
1524-
.resolve_flag(flag, ResolveWithStickyContext::EmptyStickyContext)
1505+
.resolve_flag(flag, None)
15251506
.unwrap()
15261507
.resolved_value
15271508
.assignment_match
@@ -1918,7 +1899,7 @@ mod tests {
19181899
.flags
19191900
.get("flags/fallthrough-test-2")
19201901
.unwrap();
1921-
let resolve_result = resolver.resolve_flag(flag, EmptyStickyContext).unwrap();
1902+
let resolve_result = resolver.resolve_flag(flag, None).unwrap();
19221903
let resolved_value = &resolve_result.resolved_value;
19231904

19241905
assert_eq!(resolved_value.reason as i32, ResolveReason::Match as i32);
@@ -1945,7 +1926,7 @@ mod tests {
19451926
.flags
19461927
.get("flags/fallthrough-test-2")
19471928
.unwrap();
1948-
let resolve_result = resolver.resolve_flag(flag, EmptyStickyContext).unwrap();
1929+
let resolve_result = resolver.resolve_flag(flag, None).unwrap();
19491930
let resolved_value = &resolve_result.resolved_value;
19501931

19511932
assert_eq!(

0 commit comments

Comments
 (0)