MCPcopy Create free account
hub / github.com/couchbase/fleece / FLEncoder_ConvertJSON

Function FLEncoder_ConvertJSON

Fleece/API_Impl/Fleece.cc:666–692  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

664
665
666bool FLEncoder_ConvertJSON(FLEncoder e, FLSlice json) FLAPI {
667 if (!e->hasError()) {
668 try {
669 if (e->isFleece()) {
670 JSONConverter *jc = e->jsonConverter.get();
671 if (jc) {
672 jc->reset();
673 } else {
674 jc = new JSONConverter(*e->fleeceEncoder);
675 e->jsonConverter.reset(jc);
676 }
677 if (jc->encodeJSON(json)) { // encodeJSON can throw
678 return true;
679 } else {
680 e->errorCode = (FLError)jc->errorCode();
681 e->errorMessage = jc->errorMessage();
682 }
683 } else {
684 e->jsonEncoder->writeJSON(json);
685 return true;
686 }
687 } catch (const std::exception &x) {
688 e->recordException(x);
689 }
690 }
691 return false;
692}
693
694FLError FLEncoder_GetError(FLEncoder e) FLAPI {
695 return (FLError)e->errorCode;

Callers 3

convertJSONMethod · 0.85
EncoderTests.ccFile · 0.85
FLData_ConvertJSONFunction · 0.85

Calls 9

hasErrorMethod · 0.80
isFleeceMethod · 0.80
encodeJSONMethod · 0.80
errorCodeMethod · 0.80
writeJSONMethod · 0.80
recordExceptionMethod · 0.80
getMethod · 0.45
resetMethod · 0.45
errorMessageMethod · 0.45

Tested by

no test coverage detected