Coerção de tipos (type coercion)
Artigo histórico da Make (data não indicada na fonte). Este texto reproduz uma página de documentação da Make. As descrições de recursos e as capturas de tela são da Make no momento da sua publicação; não são uma afirmação deste site nem garantia de que essa documentação continue igual hoje. Para o estado atual da plataforma, consulte as fontes oficiais da Make.
Este documento descreve como a Make se comporta em situações em que recebe valores em formatos de dados esperados e inesperados.
Quando um array é esperado:
| Recebido | Descrição |
|---|---|
| array | O valor é repassado sem alterações. |
| other | Se o valor recebido não for do tipo array, a Make cria um array e o primeiro (e único) elemento será o valor recebido. |
Quando um Boolean é esperado:
| Recebido | Descrição |
|---|---|
| boolean | O valor é repassado sem alterações. |
| number | O valor é convertido para o lógico Yes, mesmo que o valor seja 0 |
| text | Se o valor for igual a false ou estiver vazio, é convertido para o lógico No. Caso contrário, é convertido para o lógico Yes |
| other | O valor é convertido para o lógico Yes sempre que o valor recebido existir (não for null). |
Quando um Buffer é esperado:
| Recebido | Descrição |
|---|---|
| buffer | O valor é repassado sem alterações apenas se a codepage for a esperada. Se a codepage for diferente, a Make tenta converter o valor recebido para a codepage solicitada. Se essa conversão não for suportada, a Make retorna um erro de validação. |
| boolean | O valor é convertido para texto (true/false) e depois para dados binários, seguindo os passos mencionados acima para a conversão em text. |
| date | O valor é convertido para texto ISO 8601 e depois para dados binários, seguindo os passos mencionados para a conversão em text. |
| number | O valor é convertido para texto e depois para dados binários, seguindo os passos mencionados acima para a conversão em text. |
| text | O valor é convertido para dados binários e codificado conforme o esperado. Se a codificação esperada não for especificada, será usada a codificação utf8. |
| other | A Make retorna um erro de validação. |
Quando uma Collection é esperada:
| Recebido | Descrição |
|---|---|
| collection | O valor é repassado sem alterações. |
| other | A Make retorna um erro de validação. |
Quando uma Date é esperada:
| Recebido | Descrição |
|---|---|
| date | O valor é repassado sem alterações. |
| text | A Make tenta converter o texto em uma data. Se a conversão falhar, retorna um erro de validação. A data deve conter dia, mês e ano. A data pode conter hora e fuso horário. O fuso horário padrão é baseado nas suas configurações. Veja estes exemplos. |
| number | A Make trata o número como milissegundos desde 01 jan 1970 (UTC) e o converte na data correspondente. |
| other | A Make retorna um erro de validação. |
Exemplos de formato de data
-
2016-06-20T17:26:44.356Z
-
2016-06-20 19:26:44 GMT+02:00
-
2016-06-20 19:26+0200
-
2016-06-20 17:26:44
-
2016-06-20
-
2016/06/20 17:26:44
-
2016/06/20 19:26:44+02:00
-
2016/06/20 17:26
-
2016/06/20 5:26 PM
-
2016/06/20
-
06/20/2016 17:26:44
-
06/20/2016 19:26:44+02:00
-
06/20/2016 17:26
-
06/20/2016 5:26 PM
-
06/20/2016
-
20.6.2016 17:26:44
-
20.6.2016 19:26:44+02:00
-
20.6.2016 19:26:44+02:00
-
20.6.2016
Quando um Number é esperado:
| Recebido | Descrição |
|---|---|
| number | O valor é repassado sem alterações. |
| text | A Make tenta converter o texto em um número. Se a conversão falhar, retorna um erro de validação. |
| other | A Make retorna um erro de validação. |
Quando um Text é esperado:
| Recebido | Descrição |
|---|---|
| text | O valor é repassado sem alterações. |
| array | Se o array fornecido suportar conversão para texto, o valor será convertido. Caso contrário, a Make retorna um erro de validação. |
| collection | O valor é convertido em uma string JSON. Um array de collections é convertido separadamente em uma lista separada por vírgulas. |
| boolean | O valor é convertido para texto (true/false). |
| buffer | Se uma codificação de texto for especificada para os dados binários, o valor será convertido para texto. Caso contrário, a Make retorna um erro de validação |
| date | O valor é convertido para texto ISO 8601. |
| number | O valor é convertido para texto. |
| other | A Make retorna um erro de validação. |
Quando um Time é esperado:
| Recebido | Descrição |
|---|---|
| time | O valor é repassado sem alterações. |
| text | A Make tenta converter o horário para o formato horas:minutos:segundos. Se a conversão falhar, retorna um erro de validação. |
| other | A Make retorna um erro de validação. |