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
.