MCPcopy Create free account
hub / github.com/Snapchat/Valdi / messageToJSON

Method messageToJSON

valdi/src/valdi/runtime/JavaScript/Modules/ProtobufArena.cpp:232–245  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

230}
231
232std::string ProtobufArena::messageToJSON(size_t messageIndex,
233 const Protobuf::JSONPrintOptions& printOptions,
234 ExceptionTracker& exceptionTracker) const {
235 auto message = getMessage(messageIndex, exceptionTracker);
236 if (!exceptionTracker) {
237 return "";
238 }
239
240 // toJSON() builds a TypeResolver over the descriptor's pool and may call
241 // FindMessageTypeByName (a pool mutation); serialize against concurrent pool access.
242 auto factoryLocks = lockRetainedMessageFactories();
243
244 return message->toJSON(printOptions, exceptionTracker);
245}
246
247void ProtobufArena::retainMessageFactory(const Ref<ProtobufMessageFactory>& messageFactory) {
248 for (const auto& existingMessageFactory : _retainedMessageFactories) {

Callers 1

Calls 1

toJSONMethod · 0.80

Tested by

no test coverage detected