> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kiwify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtros diversos

> Filtros diversos para várias operações em templates Liquid.

## `default`

Permite especificar um fallback caso um valor não exista. `default` mostrará seu valor se o lado esquerdo for falsy ou vazio (`string` ou `Array`).

Neste exemplo, `product_price` não está definido, então o valor padrão é usado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ product_price | default: 2.99 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2.99
    ```
  </CodeGroup>
</Columns>

Neste exemplo, `product_price` está definido, então o valor padrão não é usado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign product_price = 4.99 %}
    {{ product_price | default: 2.99 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4.99
    ```
  </CodeGroup>
</Columns>

Neste exemplo, `product_price` está vazio, então o valor padrão é usado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign product_price = "" %}
    {{ product_price | default: 2.99 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2.99
    ```
  </CodeGroup>
</Columns>

### Permitindo `false`

Para permitir que variáveis retornem `false` em vez do valor padrão, você pode usar o parâmetro `allow_false`.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign display_price = false %}
    {{ display_price | default: true, allow_false: true }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    false
    ```
  </CodeGroup>
</Columns>

## `json`

Converte valores para string via `JSON.stringify()`, para propósito de debug.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign arr = "foo bar coo" | split: " " %}
    {{ arr | json }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    ["foo","bar","coo"]
    ```
  </CodeGroup>
</Columns>

## `parse_json`

Converte o valor de uma string para um objeto JSON válido. Caso o valor não seja um JSON válido, o valor retornado será `nil`.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign obj = '{"foo": "bar"}' | parse_json %}
    {% assign arr = '["Hi", "there"]' | parse_json %}
    {% assign invalid = '{"foo" = "bar"}' | parse_json %}
    {{ obj.foo }}
    {{ arr[1]}}
    {{ invalid }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    bar
    there

    ```
  </CodeGroup>
</Columns>

### Space

Um parâmetro `space` adicional pode ser especificado para formatar o JSON.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign arr = "foo bar coo" | split: " " %}
    {{ arr | json: 4 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    [
        "foo",
        "bar",
        "coo"
    ]
    ```
  </CodeGroup>
</Columns>

## `jsonify`

Veja json.

## `inspect`

Similar ao `json`, mas `inspect` permite estrutura cíclica. Para o escopo abaixo:

```
const foo = {
    bar: 'BAR'
}
foo.foo = foo
const scope = { foo }
```

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% foo | inspect %}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    {"bar":"BAR","foo":"[Circular]"}
    ```
  </CodeGroup>
</Columns>

### Formatação

Um argumento `space` adicional pode ser especificado para a largura da indentação.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ foo | inspect: 4 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    {
        "bar": "BAR",
        "foo": "[Circular]"
    }
    ```
  </CodeGroup>
</Columns>

## `to_integer`

Converte valores para número.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "123" | to_integer | json }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    123
    ```
  </CodeGroup>
</Columns>
