Factory method for Select - based Execution step
| 358 | |
| 359 | // Factory method for Select - based Execution step |
| 360 | absl::StatusOr<std::unique_ptr<ExpressionStep>> CreateContainerAccessStep( |
| 361 | const cel::CallExpr& call, int64_t expr_id, bool enable_optional_types) { |
| 362 | int arg_count = call.args().size() + (call.has_target() ? 1 : 0); |
| 363 | if (arg_count != kNumContainerAccessArguments) { |
| 364 | return absl::InvalidArgumentError(absl::StrCat( |
| 365 | "Invalid argument count for index operation: ", arg_count)); |
| 366 | } |
| 367 | return std::make_unique<ContainerAccessStep>(expr_id, enable_optional_types); |
| 368 | } |
| 369 | |
| 370 | } // namespace google::api::expr::runtime |