| 16 | using google::protobuf::util::TimeUtil; |
| 17 | |
| 18 | absl::Status KeyAsString(const CelValue& value, std::string* key) { |
| 19 | switch (value.type()) { |
| 20 | case CelValue::Type::kInt64: { |
| 21 | *key = absl::StrCat(value.Int64OrDie()); |
| 22 | break; |
| 23 | } |
| 24 | case CelValue::Type::kUint64: { |
| 25 | *key = absl::StrCat(value.Uint64OrDie()); |
| 26 | break; |
| 27 | } |
| 28 | case CelValue::Type::kString: { |
| 29 | key->assign(value.StringOrDie().value().data(), |
| 30 | value.StringOrDie().value().size()); |
| 31 | break; |
| 32 | } |
| 33 | default: { |
| 34 | return absl::InvalidArgumentError("Unsupported map type"); |
| 35 | } |
| 36 | } |
| 37 | return absl::OkStatus(); |
| 38 | } |
| 39 | |
| 40 | // Export content of CelValue as google.protobuf.Value. |
| 41 | absl::Status ExportAsProtoValue(const CelValue& in_value, Value* out_value, |
no test coverage detected