Funções injetadas da biblioteca de geração de linguagem
APLICA-SE A: SDK v4
O artigo a seguir fornece detalhes sobre como injetar funções da biblioteca LG (geração de linguagem).
ActivityAttachment
Retorna um activityAttachment
construído com base em um objeto e um tipo.
ActivityAttachment(<collection-of-objects>)
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
<content> | Sim | objeto | Objeto que contém as informações do anexo |
<tipo> | Sim | string | Uma cadeia de caracteres que representa o tipo de anexo |
Valor retornado | Type | Descrição |
---|---|---|
<activityAttachment> | objeto | Um activityAttachment formado com base nas entradas |
Exemplo:
Este exemplo converte uma coleção de objetos em um activityAttachment
.
Suponha que você tenha o seguinte modelo:
# externalHeroCardActivity(type, title, value)
[Activity
attachments = ${ActivityAttachment(json(fromFile('.\\herocard.json')), 'herocard')}
]
e o seguinte herocard.json
:
{
"title": "titleContent",
"text": "textContent",
"Buttons": [
{
"type": "imBack",
"Title": "titleContent",
"Value": "textContent",
"Text": "textContent"
}
],
"tap": {
"type": "${type}",
"title": "${title}",
"text": "${title}",
"value": "${value}"
}
}
Chamando externalHeroCardActivity()
como uma função:
externalHeroCardActivity('signin', 'Signin Button', 'http://login.microsoft.com')
Ele retorna um herocard
:
{
"lgType" = "attachment",
"contenttype" = "herocard",
"content" = {
"title": "titleContent",
"text": "textContent",
"Buttons": [
{
"type": "imBack",
"Title": "titleContent",
"Value": "textContent",
"Text": "textContent"
}
],
"tap": {
"type": "signin",
"title": "Signin Button",
"text": "Signin Button",
"value": "http://login.microsoft.com"
}
}
}
expandText
Avalie o texto sem formatação em um objeto e retorne os dados de texto expandidos.
expandText(<object>)
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
<object> | Sim | objeto | O objeto com texto a ser expandido. |
Valor retornado | Type | Descrição |
---|---|---|
<evaluated-result> | objeto | Os dados de texto expandidos. |
Exemplo
Este exemplo avalia o texto sem formatação em um objeto JSON e retorna o resultado do texto expandido.
Digamos que você tenha o seguinte objeto:
{
"@answer": "hello ${user.name}",
"user": {
"name": "vivian"
}
}
Chamar expandText(@answer)
resultará no objeto hello vivian.
template
Retorna o resultado avaliado de determinado nome de modelo e escopo.
template(<templateName>, '<param1>', '<param2>', ...)
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
<templateName> | Sim | string | Uma cadeia de caracteres que representa o nome do modelo |
<param1>,<param2>, ... | Sim | Objeto | Os parâmetros passados para o modelo |
Valor retornado | Type | Descrição |
---|---|---|
<evaluated-result> | objeto | O resultado foi avaliado com base no modelo como uma função |
Exemplo
Este exemplo avalia o resultado da chamada do modelo como uma função.
Suponha que você tenha o seguinte modelo:
# welcome(userName)
- Hi ${userName}
- Hello ${userName}
- Hey ${userName}
A chamada de template("welcome", "DL")
resultará em um dos seguintes:
- Oi, DL
- Olá, DL
- Ei, DL
fromFile
Retorna o resultado avaliado da expressão no arquivo fornecido.
fromFile(<filePath>)
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
<filePath> | Sim | string | o caminho relativo ou absoluto de um arquivo contém expressões |
Valor retornado | Type | Descrição |
---|---|---|
<result> | string | A representação de cadeia de caracteres do resultado avaliado |
Exemplo
Este exemplo avalia o resultado do arquivo fornecido.
Suponha que você tenha um arquivo chamado /home/user/test.txt
. Dentro do arquivo, há o seguinte:
`you have ${add(1,2)} alarms`
fromFile('/home/user/test.txt')
A função fromFile()
avaliará a expressão e o resultado substituirá a expressão original.
Chamar fromFile('/home/user/test.txt')
resultara na cadeia de caracteres você tem três alarmes.
isTemplate
Retorna se determinado nome de modelo está incluído no avaliador.
isTemplate(<templateName>)
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
<templateName> | Sim | String | Um nome de modelo a ser verificado |
Valor retornado | Type | Descrição |
---|---|---|
<result> | Booliano | Indica se o nome do modelo fornecido está incluído no avaliador |
Exemplo
Este exemplo usa a função isTemplate()
para verificar se determinado nome de modelo está no avaliador. Por exemplo, veja estes três modelos:
# welcome
- hi
# show-alarms
- 7:am and 8:pm
# add-to-do
- you add a task at 7:pm
A chamada de isTemplate("welcome")
será avaliada como true
. A chamada de isTemplate("delete-to-do")
será avaliada como false
.