| 230 | } |
| 231 | |
| 232 | FLMutableArray FLMutableArray_NewFromJSON(FLString json, FLError* outError) FLAPI { |
| 233 | if (outError != nullptr) { |
| 234 | *outError = kFLNoError; |
| 235 | } |
| 236 | |
| 237 | FLDoc doc = FLDoc_FromJSON(json, outError); |
| 238 | if (doc == nullptr) { |
| 239 | return nullptr; |
| 240 | } |
| 241 | |
| 242 | FLValue val = FLDoc_GetRoot(doc); |
| 243 | if (val == nullptr || val->type() != kArray) { |
| 244 | if (outError != nullptr) { |
| 245 | *outError = kFLInvalidData; |
| 246 | } |
| 247 | FLDoc_Release(doc); |
| 248 | return nullptr; |
| 249 | } |
| 250 | |
| 251 | FLArray array = val->asArray(); |
| 252 | FLMutableArray ret = _newMutableArray(array, kFLDeepCopyImmutables); |
| 253 | FLDoc_Release(doc); |
| 254 | return ret; |
| 255 | } |
| 256 | |
| 257 | FLMutableArray FLArray_MutableCopy(FLArray a, FLCopyFlags flags) FLAPI { |
| 258 | return a ? _newMutableArray(a, flags) : nullptr; |
no test coverage detected