# NOTE: This file is auto generated by googly. Do not edit it manually. defmodule Googly.CloudStorage.Model.Expr do @moduledoc """ Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" ## Attributes * `description` (*type:* `String.t()`) - An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. * `expression` (*type:* `String.t()`) - Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported. * `location` (*type:* `String.t()`) - An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file. * `title` (*type:* `String.t()`) - An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. """ defstruct [:description, :expression, :location, :title] @type t :: %__MODULE__{ description: String.t() | nil, expression: String.t() | nil, location: String.t() | nil, title: String.t() | nil } @wire %{} @doc false def __wire__, do: @wire @doc false def decode(nil), do: nil def decode(list) when is_list(list), do: Enum.map(list, &decode/1) def decode(m) do %__MODULE__{ description: m["description"], expression: m["expression"], location: m["location"], title: m["title"] } end end