diff options
author | Arun Banala <arun.banala@mongodb.com> | 2020-11-02 18:09:28 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-01-07 20:04:53 +0000 |
commit | c8ddb496f147e5a977eb668247b81da313d06e1d (patch) | |
tree | 34ba0cc443ec6294c5585d0951d5430cc69349e2 /src/mongo/idl/idl_parser.cpp | |
parent | d0cfd1d0c0fcfd75525a8d8f3a050876bc9d1e40 (diff) | |
download | mongo-c8ddb496f147e5a977eb668247b81da313d06e1d.tar.gz |
SERVER-51619 Convert find command input to IDL
Diffstat (limited to 'src/mongo/idl/idl_parser.cpp')
-rw-r--r-- | src/mongo/idl/idl_parser.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mongo/idl/idl_parser.cpp b/src/mongo/idl/idl_parser.cpp index 0030f864380..89158281e92 100644 --- a/src/mongo/idl/idl_parser.cpp +++ b/src/mongo/idl/idl_parser.cpp @@ -335,4 +335,29 @@ std::vector<std::vector<std::uint8_t>> transformVector(const std::vector<ConstDa return output; } + +void noOpSerializer(bool, StringData fieldName, BSONObjBuilder* bob) {} + +void serializeBSONWhenNotEmpty(BSONObj obj, StringData fieldName, BSONObjBuilder* bob) { + if (!obj.isEmpty()) { + bob->append(fieldName, obj); + } +} + +BSONObj parseOwnedBSON(BSONElement element) { + uassert(ErrorCodes::TypeMismatch, + str::stream() << "Expected field " << element.fieldNameStringData() + << "to be of type object", + element.type() == BSONType::Object); + return element.Obj().getOwned(); +} + +bool parseBoolean(BSONElement element) { + uassert(ErrorCodes::TypeMismatch, + str::stream() << "Expected field " << element.fieldNameStringData() + << "to be of type object", + element.type() == BSONType::Bool); + return element.boolean(); +} + } // namespace mongo |