Compartir a través de


Funciones insertadas desde la biblioteca de generación de lenguajes

SE APLICA A: SDK v4

En el artículo siguiente se detalla cómo insertar funciones desde la biblioteca de generación de lenguajes (LG).

ActivityAttachment

Devuelve un valor activityAttachment construido a partir de un objeto y un tipo.

ActivityAttachment(<collection-of-objects>)
Parámetro Obligatorio Type Descripción
<content> object Objeto que contiene la información de los datos adjuntos
<type> string Una cadena que representa el tipo de datos adjuntos
Valor devuelto Tipo Descripción
<activityAttachment> object Un valor activityAttachment formado a partir de las entradas

Ejemplo:

en este ejemplo se convierte una colección de objetos en un valor activityAttachment.

Supongamos que tiene la siguiente plantilla:

# externalHeroCardActivity(type, title, value)
[Activity
    attachments = ${ActivityAttachment(json(fromFile('.\\herocard.json')), 'herocard')}
]

y el siguiente valor herocard.json:

{
  "title": "titleContent",
  "text": "textContent",
  "Buttons": [
    {
      "type": "imBack",
      "Title": "titleContent",
      "Value": "textContent",
      "Text": "textContent"
    }
  ],
  "tap": {
    "type": "${type}",
    "title": "${title}",
    "text": "${title}",
    "value": "${value}"
  }
}

Llamando a externalHeroCardActivity() como función:

externalHeroCardActivity('signin', 'Signin Button', 'http://login.microsoft.com')

Devuelve un valor 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

Evalúe el texto sin formato en un objeto y devuelva los datos de texto expandidos.

expandText(<object>)
Parámetro Obligatorio Type Description
<objeto> object Objeto con texto que se va a expandir.
Valor devuelto Tipo Description
<evaluated-result> object Datos de texto expandidos.

Los

En este ejemplo se evalúa el texto sin formato en un objeto JSON y se devuelve el resultado de texto expandido.

Digamos que tiene el objeto siguiente:

{
  "@answer": "hello ${user.name}",
  "user": {
    "name": "vivian"
  }
}

La llamada expandText(@answer) dará como resultado el objeto hello vivian.

template

Devuelve el resultado evaluado del ámbito y el nombre especificados de la plantilla.

template(<templateName>, '<param1>', '<param2>', ...)
Parámetro Obligatorio Type Description
<templateName> string Una cadena que representa el nombre de la plantilla
<param1>,<param2>, ... Object Parámetros que se pasan a la plantilla
Valor devuelto Tipo Description
<evaluated-result> object Resultado evaluado de la plantilla como función

Los

en este ejemplo se evalúa el resultado de llamar a la plantilla como función.

Supongamos que tiene la siguiente plantilla:

# welcome(userName)
- Hi ${userName}
- Hello ${userName}
- Hey ${userName}

La llamada a template("welcome", "DL") dará lugar a uno de los siguientes resultados:

  • Hi DL
  • Hello DL
  • Hey DL

fromFile

Devuelve el resultado evaluado de la expresión en el archivo especificado.

fromFile(<filePath>)
Parámetro Obligatorio Type Descripción
<filePath> string la ruta de acceso absoluta o relativa de un archivo contiene expresiones
Valor devuelto Tipo Descripción
<result> string Representación de cadena del resultado evaluado

Los

En este ejemplo se evalúa el resultado del archivo especificado.

Supongamos que tiene un archivo llamado /home/user/test.txt. En el archivo encontrará lo siguiente:

`you have ${add(1,2)} alarms`

fromFile('/home/user/test.txt')

La función fromFile() evaluará la expresión y el resultado reemplazará la expresión original.

La llamada a fromFile('/home/user/test.txt') da lugar a la cadena you have 3 alarms (tiene 3 alarmas).

isTemplate

Devuelve si se incluye un nombre de plantilla especificado en el evaluador.

isTemplate(<templateName>)
Parámetro Obligatorio Type Descripción
<templateName> String Un nombre de plantilla que se va a comprobar
Valor devuelto Tipo Descripción
<result> Booleano Si se incluye el nombre de plantilla especificado en el evaluador

Los

En este ejemplo se usa la función isTemplate() para comprobar si un nombre de plantilla especificado está en el evaluador. Por ejemplo, a continuación se muestran tres plantillas:

# welcome
- hi

# show-alarms
- 7:am and 8:pm

# add-to-do
- you add a task at 7:pm

La llamada a isTemplate("welcome") se evaluará como true. La llamada a isTemplate("delete-to-do") se evaluará como false.

Información adicional