Partager via


Fonctions injectées à partir de la bibliothèque de génération de langage

S’APPLIQUE À : SDK v4

L’article suivant explique comment injecter des fonctions à partir de la bibliothèque de génération de langage.

ActivityAttachment

Retourne un activityAttachment construit à partir d’un objet et d’un type.

ActivityAttachment(<collection-of-objects>)
Paramètre Obligatoire Type Description
<content> Oui object Objet contenant les informations de l’attachement
<type> Oui string Chaîne représentant le type d’attachement
Valeur retournée Type Description
<activityAttachment> object activityAttachment formé à partir des entrées

Exemple :

Cet exemple convertit une collection d’objets en activityAttachment.

Supposez que vous disposiez du modèle suivant :

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

et du herocard.json suivant :

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

En appelant externalHeroCardActivity() en tant que fonction :

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

Il retourne un 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

Évaluez le texte brut dans un objet et renvoyez les données de texte développé.

expandText(<object>)
Paramètre Obligatoire Type Description
<object> Oui object Objet avec du texte à développer.
Valeur retournée Type Description
<evaluated-result> object Données de texte développé.

Exemple

Cet exemple évalue le texte brut dans un objet JSON et renvoie le résultat du texte développé.

Prenons l’objet suivant :

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

L’appel de expandText(@answer) entraîne l’objet hello vivian.

template

Retourne le résultat évalué du nom et de l’étendue du modèle donné.

template(<templateName>, '<param1>', '<param2>', ...)
Paramètre Obligatoire Type Description
<templateName> Oui string Chaîne représentant le nom du modèle
<param1>,<param2>, ... Oui Object Paramètres passés au modèle
Valeur retournée Type Description
<evaluated-result> object Résultat évalué à partir du modèle en tant que fonction

Exemple

Cet exemple évalue le résultat de l’appel du modèle en tant que fonction.

Supposez que vous disposiez du modèle suivant :

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

L’appel de template("welcome", "DL") se traduira par l’un des éléments suivants :

  • Hi DL
  • Hello DL
  • Hey DL

fromFile

Retourne le résultat évalué de l’expression dans le fichier donné.

fromFile(<filePath>)
Paramètre Obligatoire Type Description
<filePath> Oui string Le chemin relatif ou absolu d’un fichier contient des expressions
Valeur retournée Type Description
<result> string Représentation sous forme de chaîne du résultat évalué

Exemple

Cet exemple évalue le résultat à partir du fichier donné.

Supposez que vous ayez un fichier nommé /home/user/test.txt. À l’intérieur du fichier se trouve ce qui suit :

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

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

La fonction fromFile() évaluera l’expression et le résultat remplacera l’expression d’origine.

L’appel de fromFile('/home/user/test.txt') génère la chaîne you have 3 alarms.

isTemplate

Retourne une valeur indiquant si un nom de modèle donné est inclus dans l’évaluateur.

isTemplate(<templateName>)
Paramètre Obligatoire Type Description
<templateName> Oui Chaîne Nom de modèle à vérifier
Valeur retournée Type Description
<result> Boolean Indique si le nom de modèle donné est inclus dans l’évaluateur

Exemple

Cet exemple utilise la fonction isTemplate() pour vérifier si un nom de modèle donné se trouve dans l’évaluateur. Par exemple, voici trois modèles :

# welcome
- hi

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

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

L’appel de isTemplate("welcome") sera évalué à true. L’appel de isTemplate("delete-to-do") sera évalué à false.

Informations supplémentaires