diff --git a/.github/workflows/jl_test.yml b/.github/workflows/jl_test.yml index fbd0073..3156871 100644 --- a/.github/workflows/jl_test.yml +++ b/.github/workflows/jl_test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - jl_version: ["1.6", "1.8", "1.9"] + jl_version: ["1.6", "1.8", "1.9", "1.10"] steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/src/app/supporttypes.jl b/src/app/supporttypes.jl index 14fbcaa..dd913c6 100644 --- a/src/app/supporttypes.jl +++ b/src/app/supporttypes.jl @@ -17,7 +17,9 @@ struct TraitInput end struct TraitOutput end struct TraitState end -struct Dependency{Trait, IdT <: Union{String, NamedTuple}} +const IdTypes = Union{String,NamedTuple} + +struct Dependency{Trait, IdT<:IdTypes} id ::IdT property ::String Dependency{Trait}(id::T, property::String) where {Trait, T} = new{Trait, T}(id, property) @@ -95,7 +97,9 @@ struct CallbackDeps CallbackDeps(output::Vector{<:Output}, input, state = State[]) = new(output, input, state, true) end -Base.convert(::Type{Vector{<:T}}, v::T) where {T<:Dependency} = [v] +Base.convert(::Type{Vector{<:Output}}, v::Output{<:IdTypes}) = [v] +Base.convert(::Type{Vector{<:Input}}, v::Input{<:IdTypes}) = [v] +Base.convert(::Type{Vector{<:State}}, v::State{<:IdTypes}) = [v] struct ClientsideFunction namespace ::String