From 4838a2dc8543ad0efac00ccc64281310f184e802 Mon Sep 17 00:00:00 2001 From: AkimitsuTosha Date: Sat, 7 May 2022 21:14:05 +0900 Subject: [PATCH] can safely compare --- parsers/manifest_parser.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/parsers/manifest_parser.go b/parsers/manifest_parser.go index 72515590..a43bb1ae 100644 --- a/parsers/manifest_parser.go +++ b/parsers/manifest_parser.go @@ -321,13 +321,13 @@ func (dm *YAMLParser) composePackageInputs(projectInputs map[string]Parameter, r } // if value is set to default value for its type, // check for input key being an env. variable itself - if value == getTypeDefaultValue(i.Type) { + if safeCompare(value, getTypeDefaultValue(i.Type)) { value = wskenv.InterpolateStringWithEnvVar("${" + name + "}") } // if at this point, still value is set to default value of its type // check if input key is defined under Project Inputs - if value == getTypeDefaultValue(i.Type) { + if safeCompare(value, getTypeDefaultValue(i.Type)) { if i.Type == STRING && i.Value != nil { n := wskenv.GetEnvVarName(i.Value.(string)) if v, ok := projectInputs[n]; ok { @@ -1504,3 +1504,9 @@ func isGatewayBasePathValid(basePath string) bool { } return true } + +func safeCompare(a interface{}, b interface{}) bool { + aa, _ := json.Marshal(a) + bb, _ := json.Marshal(b) + return (string(aa) == string(bb)) +}