From 9e6283d98b5ec7e0ae67fc728dae957b86eaeb33 Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Fri, 24 Sep 2021 09:54:19 -0500 Subject: [PATCH] fixup! Add feature support via `@service` --- src/utilities/utilities.jl | 11 +++++++++-- test/utilities.jl | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/utilities/utilities.jl b/src/utilities/utilities.jl index 6923259e79..0cb29f9f95 100644 --- a/src/utilities/utilities.jl +++ b/src/utilities/utilities.jl @@ -122,6 +122,13 @@ function _process_service_features(args, defaults) end end - # Turn the feature dictionary into a `NamedTuple` expression - return Expr(:tuple, Expr(:parameters, [Expr(:kw, p...) for p in feature_dict]...)) + # Turn the feature dictionary into a `NamedTuple` expression. Note: Julia 1.4 and below + # do not support `:((;))`. + nt = if !isempty(feature_dict) + Expr(:tuple, Expr(:parameters, [Expr(:kw, p...) for p in feature_dict]...)) + else + :(NamedTuple()) + end + + return nt end diff --git a/test/utilities.jl b/test/utilities.jl index 0b2633c861..07436484d7 100644 --- a/test/utilities.jl +++ b/test/utilities.jl @@ -86,4 +86,10 @@ end default_feats = [:a => false] @test_throws ArgumentError AWS._process_service_features(user_feats, default_feats) end + + @testset "no defaults" begin + user_feats = [] + default_feats = [] + @test AWS._process_service_features(user_feats, default_feats) == :(NamedTuple()) + end end