Skip to content

Commit 10f5b7e

Browse files
committed
Support for conversion of vector of strings to a vector of Enums
1 parent 59db575 commit 10f5b7e

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "PostgresORM"
22
uuid = "748b5efa-ed57-4836-b183-a38105a77fdd"
33
authors = ["Vincent Laugier <vincent.laugier@gmail.com>"]
4-
version = "0.3.0"
4+
version = "0.4.0"
55

66
[deps]
77
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"

src/Controller/coreORM.utils.part1.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,8 @@ function util_dict2entity(props_dict::Dict{Symbol,T},
431431

432432
if isa(props_dict[fsymbol],Union{Vector{T},Vector{Union{T,Missing}}} where T <: Integer)
433433
props_dict[fsymbol] = vector_of_integers2vector_of_enums(ftype,props_dict[fsymbol])
434+
elseif isa(props_dict[fsymbol],Union{Vector{String},Vector{Union{String,Missing}}})
435+
props_dict[fsymbol] = vector_of_strings2vector_of_enums(ftype,props_dict[fsymbol])
434436
else
435437
props_dict[fsymbol] = string2vector_of_enums(ftype,props_dict[fsymbol])
436438
end

src/PostgresORM.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ module PostgresORM
5050
dataframerow2namedtuple, getdictvalues, getpropertiesvalues,
5151
setpropertiesvalues!, remove_spaces_and_split, diff_dict,
5252
string2enum, string2vector_of_enums, vector_of_integers2vector_of_enums,
53-
int2enum, enum2int, dictstringkeys2symbol, dictnothingvalues2missing,
54-
getproperties_asdict, string2zoneddatetime
53+
vector_of_strings2vector_of_enums, int2enum, enum2int, dictstringkeys2symbol,
54+
dictnothingvalues2missing, getproperties_asdict, string2zoneddatetime
5555

5656
# Implementations of 'pluralize' are kept in one module per language
5757
module Pluralize

src/PostgresORMUtil/utils.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,16 @@ function string2vector_of_enums(vectorOfEnumsTypes::Type{Vector{T}},
158158

159159
end
160160

161+
function vector_of_strings2vector_of_enums(
162+
vectorOfEnumsTypes::Type{Vector{T}} where T <: Base.Enums.Enum,
163+
vectorOfInts::Union{Vector{String},Vector{Union{String,Missing}}})
164+
165+
enumType = eltype(vectorOfEnumsTypes)
166+
167+
return string2enum.(enumType,vectorOfInts)
168+
169+
end
170+
161171
function vector_of_integers2vector_of_enums(
162172
vectorOfEnumsTypes::Type{Vector{T}} where T <: Base.Enums.Enum,
163173
vectorOfInts::Union{Vector{W},Vector{Union{W,Missing}}} where W <: Integer)

0 commit comments

Comments
 (0)