String helpers
A seguir está a lista de auxiliares de string disponíveis que você pode usar em seus modelos do Edge. O núcleo do framework e os pacotes oficiais do AdonisJS já estão usando esses auxiliares, só que também os injetamos como auxiliares de visualização.
camelCase
Converte uma string para sua versão camelCase
.
{{ camelCase('hello-world') }}
<!-- Output: helloWorld -->
snakeCase
Converte uma string para sua versão snake_case
.
{{ snakeCase('helloWorld') }}
<!-- Output: hello_world -->
dashCase
Converte uma string para sua versão dash-case
. Opcionalmente, você também pode colocar a primeira letra de cada segmento em maiúscula.
{{ string.dashCase('helloWorld') }} <!-- hello-world -->
{{
string.dashCase('helloWorld', { capitalize: true })
}} <!-- Hello-World -->
pascalCase
Converte uma string para sua versão PascalCase
.
{{ pascalCase('helloWorld') }}
<!-- Output: HelloWorld -->
capitalCase
Coloca um valor de string em maiúsculas.
{{ capitalCase('helloWorld') }}
<!-- Output: Hello World -->
sentenceCase
Converte string para maiúsculas e minúsculas.
{{ sentenceCase('hello-world') }}
<!-- Output: Hello world -->
dotCase
Converte string para sua versão dot.case
.
{{ dotCase('hello-world') }}
<!-- Output: hello.world -->
noCase
Remove todos os tipos de maiúsculas e minúsculas de uma string.
{{ noCase('hello-world') }} <!-- hello world -->
{{ noCase('hello_world') }} <!-- hello world -->
{{ noCase('helloWorld') }} <!-- hello world -->
titleCase
Converte uma frase para maiúsculas e minúsculas.
{{ titleCase('Here is a fox') }}
<!-- Output: Here Is a fox -->
pluralize
Pluraliza uma palavra.
{{ pluralize('box') }} <!-- boxes -->
{{ pluralize('i') }} <!-- we -->
toSentence
Junte uma matriz de palavras com um separador para formar uma frase.
{{
toSentence([
'route',
'middleware',
'controller'
])
}}
<!-- route, middleware, and controller -->
Você também pode definir as seguintes opções para personalizar os separadores.
separator
: O valor entre duas palavras, exceto a última.pairSeparator
: O valor entre a primeira e a última palavra. Usado somente quando há duas palavras.lastSeparator
: O valor entre a segunda última e a última palavra. Usado somente quando há mais de duas palavras.
{{
toSentence([
'route',
'middleware',
'controller'
], {
separator: '/ ',
lastSeparator: '/or '
})
}}
<!-- route/ middleware/or controller -->
prettyBytes
Converte o valor de bytes em uma string legível por humanos. Aceita e encaminha todas as opções para o pacote bytes.
{{ prettyBytes(1024) }} <!-- 1KB -->
{{
prettyBytes(1024, { unitSeparator: ' ' })
}} <!-- 1 KB -->
toBytes
Converte uma string legível para humanos em bytes. Este método é o oposto do método prettyBytes
.
{{ toBytes('1KB') }} <!-- 1024 -->
prettyMs
Converte o tempo representado em milissegundos para uma string legível para humanos.
{{ prettyMs(60000) }} <!-- 1min -->
{{ prettyMs(60000, { long: true }) }} <!-- 1 minute -->
toMs
Converte uma string legível para humanos em milissegundos. Este método é o oposto do método prettyMs
.
{{ toMs('1min') }} <!-- 60000 -->
ordinalize
Ordinalize uma string ou um valor numérico.
{{ ordinalize(1) }} <!-- 1st -->
{{ ordinalize(99) }} <!-- 99th -->
nl2br
Converte os caracteres de nova linha com uma tag <br>
.
{{{ nl2br(post.content) }}}
Ao usar o auxiliar nl2br
, você terá que usar três chaves para renderizar a tag <br>
como HTML em vez de escapá-la.
No entanto, isso também renderizará as tags HTML da variável post.content
. Para superar essa situação, recomendamos que você escape separadamente a entrada do usuário antes de passá-la para o método nl2br
.
:::note A seguir está a maneira correta de usar o método nl2br
. Isso garante que a entrada do usuário seja sempre escapada. :::
{{{ nl2br(e(post.content)) }}}
e
Escape HTML dentro de um valor de string. As chaves duplas já escapam o valor, então use este método somente quando não estiver usando as chaves duplas.
{{{ e(post.content) }}}