MCPcopy Create free account
hub / github.com/temporalio/temporal / parseJSONArray

Function parseJSONArray

common/searchattribute/stringify.go:179–210  ·  view source on GitHub ↗
(str string, t enumspb.IndexedValueType)

Source from the content-addressed store, hash-verified

177}
178
179func parseJSONArray(str string, t enumspb.IndexedValueType) (any, error) {
180 switch t {
181 case enumspb.INDEXED_VALUE_TYPE_TEXT,
182 enumspb.INDEXED_VALUE_TYPE_KEYWORD,
183 enumspb.INDEXED_VALUE_TYPE_KEYWORD_LIST:
184 var result []string
185 err := json.Unmarshal([]byte(str), &result)
186 return result, err
187 case enumspb.INDEXED_VALUE_TYPE_INT:
188 var result []int64
189 err := json.Unmarshal([]byte(str), &result)
190 return result, err
191 case enumspb.INDEXED_VALUE_TYPE_DOUBLE:
192 var result []float64
193 err := json.Unmarshal([]byte(str), &result)
194 return result, err
195 case enumspb.INDEXED_VALUE_TYPE_BOOL:
196 var result []bool
197 err := json.Unmarshal([]byte(str), &result)
198 return result, err
199 case enumspb.INDEXED_VALUE_TYPE_DATETIME:
200 var result []time.Time
201 err := json.Unmarshal([]byte(str), &result)
202 return result, err
203 case enumspb.INDEXED_VALUE_TYPE_UNSPECIFIED:
204 var result []any
205 err := json.Unmarshal([]byte(str), &result)
206 return result, err
207 default:
208 return nil, fmt.Errorf("%w: %v", sadefs.ErrInvalidType, t)
209 }
210}

Callers 3

parseValueOrArrayFunction · 0.85
parseValueUnspecifiedFunction · 0.85
Test_parseJSONArrayMethod · 0.85

Calls 2

UnmarshalMethod · 0.45
ErrorfMethod · 0.45

Tested by 1

Test_parseJSONArrayMethod · 0.68