API principales
Ces API fonctionnent avec le code JavaScript en bac à sable pour créer des modèles personnalisés dans Google Tag Manager. Chaque API est ajoutée avec une instruction require()
, par exemple :
const myAPI = require('myAPI');
addConsentListener
Enregistre une fonction d'écouteur à exécuter lorsque l'état du type de consentement spécifié change.
L'écouteur donné sera appelé chaque fois que l'état du type de consentement spécifié passe de "Refusé" à "Accordé" ou d'"Accordé" à "Refusé". Un type de consentement sans état est considéré comme accordé. L'écouteur ne sera donc pas appelé si un type de consentement non défini est mis à jour pour être accordé. Les fonctions d'écouteur seront chargées de s'assurer que leur code s'exécute le nombre de fois approprié.
Exemple :
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
Syntaxe
addConsentListener(consentType, listener)
Paramètres
Paramètre | Type | Description |
---|---|---|
consentType |
chaîne | Type de consentement pour lequel écouter les modifications d'état. |
listener |
function | Fonction à exécuter lorsque l'état du type de consentement spécifié change. |
Lorsqu'un écouteur est appelé, le type de consentement qui est modifié et la nouvelle valeur de ce type de consentement lui sont transmis:
Paramètre | Type | Description |
---|---|---|
consentType |
chaîne | Type de consentement qui est modifié. |
granted |
booléen | Valeur booléenne qui est définie sur "true" si le type de consentement spécifié est défini sur "granted". |
Autorisations associées
Autorisation access_consent
avec accès en lecture pour le type de consentement.
addEventCallback
L'API addEventCallback
vous permet d'enregistrer une fonction de rappel qui sera appelée à la fin d'un événement. Le rappel est appelé lorsque toutes les balises de l'événement ont été exécutées ou si un délai avant expiration de l'événement sur la page est atteint.
Le rappel reçoit deux valeurs : l'ID du conteneur qui appelle la fonction et un objet contenant des informations sur l'événement.
Syntaxe
addEventCallback(callback)
Paramètres
Paramètre | Type | Description |
---|---|---|
callback |
function | Fonction à appeler à la fin de l'événement. |
L'objet eventData
contient les données suivantes:
Nom de la clé | Type | Description |
---|---|---|
tags |
Array | Tableau d'objets de données de balise. Chaque balise déclenchée lors de l'événement aura une entrée dans ce tableau. L'objet de données de balise contient l'ID de la balise (id ), son état d'exécution (status ) et son heure d'exécution (executionTime ). Les données de balise incluent également des métadonnées de balise supplémentaires configurées sur la balise. |
Exemple
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Autorisations associées
aliasInWindow
L'API aliasInWindow
vous permet de créer un alias (par exemple, window.foo =
window.bar
), ce qui permet de prendre en charge certaines balises qui nécessitent un alias. Attribue la valeur de l'objet window
trouvé dans fromPath
à la clé de l'objet window
dans toPath
. Renvoie true
si réussi, sinon false
.
Syntaxe
aliasInWindow(toPath, fromPath)
Paramètres
Paramètre | Type | Description |
---|---|---|
toPath |
chaîne | Chemin d'accès à l'objet window dans lequel une valeur doit être copiée, séparé par des points. Tous les composants du chemin d'accès jusqu'au dernier composant doivent déjà exister dans l'objet window . |
fromPath |
chaîne | Chemin window à la valeur à copier, séparé par des points. Si la valeur n'existe pas, l'opération échoue. |
Exemple
aliasInWindow('foo.bar', 'baz.qux')
Autorisations associées
access_globals
est requis pour toPath
et fromPath
. toPath
nécessite un accès en écriture, fromPath
nécessite un accès en lecture.
callInWindow
Permet d'appeler des fonctions à partir d'un chemin en dehors de l'objet window
, de manière contrôlée par les règles. Appelle la fonction au chemin d'accès donné dans window
avec les arguments donnés et renvoie la valeur. Si le type de retour ne peut pas être mappé directement à un type compatible avec JavaScript en bac à sable, undefined
est renvoyé. Les huit types compatibles avec le JavaScript en bac à sable sont null
, undefined
, boolean
, number
, string
, Array
, Object
et function
. Si le chemin d'accès donné n'existe pas ou ne fait pas référence à une fonction, undefined
est renvoyé.
Syntaxe
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Paramètres
Paramètre | Type | Description |
---|---|---|
pathToFunction |
chaîne | Chemin d'accès à la fonction dans window à appeler, séparé par des points. |
args |
* | Arguments à transmettre à la fonction. |
Autorisations associées
access_globals
avec l'autorisation execute
activée.
callLater
Planifie un appel à une fonction de manière asynchrone. La fonction sera appelée après le retour du code actuel. Cela équivaut à setTimeout(<function>, 0)
.
Syntaxe
callLater(function)
Paramètres
Paramètre | Type | Description |
---|---|---|
function |
function | Fonction à appeler. |
copyFromDataLayer
Renvoie la valeur actuellement attribuée à la clé donnée dans la couche de données: la valeur trouvée à la clé donnée s'il s'agit d'un type primitif, d'une fonction ou d'un littéral d'objet, ou undefined
dans le cas contraire.
Syntaxe
copyFromDataLayer(key[, dataLayerVersion])
Paramètres
Paramètre | Type | Description |
---|---|---|
key |
chaîne | Clé au format "a.b.c". |
dataLayerVersion |
nombre | Version de la couche de données facultative. La valeur par défaut est "2". Il est fortement déconseillé d'utiliser la valeur 1. |
Autorisations associées
copyFromWindow
Copier une variable à partir d'un objet window
Si la valeur de window
ne peut pas être mappée directement à un type compatible avec JavaScript en bac à sable, undefined
est renvoyé. Les huit types compatibles avec le JavaScript en bac à sable sont null
, undefined
, boolean
, number
, string
, Array
, Object
et function
.
Renvoie la valeur extraite (et forcée).
Syntaxe
copyFromWindow(key)
Paramètres
Paramètre | Type | Description |
---|---|---|
key |
chaîne | Clé de l'window dont vous souhaitez copier la valeur. |
Autorisations associées
createArgumentsQueue
Crée une file d'attente remplie d'objets d'argument, pour prendre en charge les solutions de balise qui en ont besoin.
Crée une fonction à portée globale (c'est-à-dire window
), à l'aide de l'argument fnKey
(même sémantique que createQueue
). Une fois la fonction créée, cette API crée ensuite un tableau dans window
(s'il n'existe pas déjà) à l'aide de l'argument arrayKey
.
Lorsque la fonction créée sous fnKey
est appelée, elle insère son objet d'arguments dans le tableau créé sous arrayKey
. La valeur renvoyée par l'API est la fonction créée sous fnKey
.
Cette fonction nécessite le paramètre de lecture et d'écriture pour fnKey
et arrayKey
sur l'autorisation access_globals
.
Exemple :
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Syntaxe
createArgumentsQueue(fnKey, arrayKey)
Paramètres
Paramètre | Type | Description |
---|---|---|
fnKey |
chaîne | Chemin d'accès dans window où la fonction est définie, si elle n'existe pas déjà. Cet argument accepte la notation standard avec des points. Si le chemin d'accès de la clé n'existe pas, une exception est générée. Autrement dit, si fnKey est 'one.two' , une exception est générée. |
arrayKey |
chaîne | Chemin dans window où le tableau est défini, s'il n'existe pas déjà. Cet argument accepte la notation standard avec des points. Si le chemin d'accès de la clé n'existe pas, une exception est générée. Autrement dit, si arrayKey est 'one.two' et qu'il n'existe pas d'objet global nommé 'one' , une exception sera générée. |
Autorisations associées
createQueue
Crée un tableau dans window
(s'il n'existe pas déjà) et renvoie une fonction qui insère des valeurs dans ce tableau.
Cette fonction nécessite le paramètre de lecture et d'écriture pour arrayKey
sur l'autorisation access_globals
.
Exemple :
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Syntaxe
createQueue(arrayKey)
Paramètres
Paramètre | Type | Description |
---|---|---|
arrayKey |
chaîne | Clé dans window où le tableau est défini, s'il n'existe pas déjà. Cet argument accepte la notation standard avec des points. Si le chemin d'accès de la clé n'existe pas, une exception est générée. Par exemple, si arrayKey est 'one.two' et qu'il n'existe pas d'objet global nommé 'one' , une exception est générée. |
Autorisations associées
decodeUri
Décode tous les caractères encodés dans l'URI fourni. Renvoie une chaîne qui représente l'URI décodé. Renvoie undefined
lorsqu'une entrée non valide est fournie.
Exemple :
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntaxe
decodeUri(encoded_uri)
Paramètres
Paramètre | Type | Description |
---|---|---|
encoded_uri |
chaîne | URI encodé par encodeUri() ou par d'autres moyens. |
Autorisations associées
Aucune.
decodeUriComponent
Décode tous les caractères encodés dans le composant d'URI fourni. Renvoie une chaîne représentant le composant d'URI décodé. Renvoie undefined
lorsqu'une entrée non valide est fournie.
Exemple :
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntaxe
decodeUriComponent(encoded_uri_component)
Paramètres
Paramètre | Type | Description |
---|---|---|
encoded_uri_component |
chaîne | Composant d'URI qui a été encodé par encodeUriComponent() ou par d'autres moyens. |
Autorisations associées
Aucune.
encodeUri
Renvoie un URI (Uniform Resource Identifier) encodé en échappant les caractères spéciaux. Renvoie une chaîne qui représente la chaîne fournie encodée en tant qu'URI. Renvoie undefined
lorsqu'une entrée non valide est fournie (un seul représentant).
Exemple :
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Syntaxe
encodeUri(uri)
Paramètres
Paramètre | Type | Description |
---|---|---|
uri |
chaîne | URI complet. |
Autorisations associées
Aucune.
encodeUriComponent
Renvoie un URI (Uniform Resource Identifier) encodé en échappant les caractères spéciaux. Renvoie une chaîne qui représente la chaîne fournie encodée en tant qu'URI. Renvoie undefined
lorsqu'une entrée non valide est fournie (un seul représentant).
Exemple :
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Syntaxe
encodeUriComponent(str)
Paramètres
Paramètre | Type | Description |
---|---|---|
str |
chaîne | Composant d'un URI. |
Autorisations associées
Aucune.
fromBase64
L'API fromBase64
vous permet de décoder des chaînes à partir de leur représentation en base64. Renvoie undefined
lorsqu'une entrée non valide est fournie.
Syntaxe
fromBase64(base64EncodedString)
Paramètres
Paramètre | Type | Description |
---|---|---|
base64EncodedString |
chaîne | Chaîne encodée en base64. |
Exemple
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Autorisations associées
Aucun
generateRandom
Renvoie un nombre (entier) aléatoire dans la plage donnée.
Syntaxe
generateRandom(min, max)
Paramètres
Paramètre | Type | Description |
---|---|---|
min |
nombre | Valeur potentielle minimale de l'entier renvoyé. |
max |
nombre | Valeur maximale potentielle de l'entier renvoyé. |
Autorisations associées
Aucune.
getContainerVersion
Renvoie un objet contenant des données sur le conteneur actuel. L'objet renvoyé contient les champs suivants:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Exemple
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
Syntaxe
getContainerVersion();
Autorisations associées
getCookieValues
Renvoie les valeurs de tous les cookies portant le nom donné.
Syntaxe
getCookieValues(name[, decode])
Paramètres
Paramètre | Type | Description |
---|---|---|
name |
chaîne | Nom du cookie. |
decode |
booléen | Détermine si les valeurs des cookies doivent être décodées avec
decodeURIComponent() de JavaScript. La valeur par défaut est true . |
Autorisations associées
getQueryParameters
Renvoie le premier ou l'ensemble des paramètres de queryKey
de l'URL actuelle.
Renvoie la première valeur de l'queryKey
ou un tableau de valeurs de l'queryKey
.
Syntaxe
getQueryParameters(queryKey[, retrieveAll])
Paramètres
Paramètre | Type | Description |
---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
booléen | Indique si toutes les valeurs doivent être récupérées. |
Par exemple, si l'URL actuelle est https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, procédez comme suit:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Autorisations associées
get_url
doit autoriser le composant query
et spécifier queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getReferrerQueryParameters
L'API getReferrerQueryParameters
fonctionne de la même manière que getQueryParameters
, sauf qu'elle agit sur le site référent plutôt que sur l'URL actuelle. Renvoie le premier ou tous les paramètres pour le queryKey
du référent donné. Renvoie la première valeur de l'queryKey
ou un tableau de valeurs de l'queryKey
.
Syntaxe
getReferrerQueryParameters(queryKey[, retrieveAll])
Paramètres
Paramètre | Type | Description |
---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
booléen | Indique si toutes les valeurs doivent être récupérées. |
Par exemple, si l'URL du site référent est https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, alors:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Autorisations associées
get_referrer
doit autoriser le composant query
et doit spécifier queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getReferrerUrl
Étant donné un type de composant, l'API lit l'objet de document pour le site référent et renvoie une chaîne représentant une partie du site référent. Si aucun composant n'est spécifié, l'URL complète du site référent est renvoyée.
Syntaxe
getReferrerUrl([component])
Paramètres
Paramètre | Type | Description |
---|---|---|
component |
chaîne | Composant à renvoyer à partir de l'URL. Peut être l'une des valeurs suivantes : protocol , host , port , path , query ou extension . Si component est undefined , null ou ne correspond à aucun de ces composants, l'URL complète est renvoyée. |
Autorisations associées
get_referrer
doit autoriser le composant query
et doit spécifier queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getTimestamp
Obsolète. Préférez getTimestampMillis.
Renvoie un nombre représentant l'heure actuelle en millisecondes depuis l'epoch Unix, comme indiqué par Date.now()
.
Syntaxe
getTimestamp();
Autorisations associées
Aucune.
getTimestampMillis
Renvoie un nombre représentant l'heure actuelle en millisecondes depuis l'epoch Unix, comme indiqué par Date.now()
.
Syntaxe
getTimestampMillis();
Autorisations associées
Aucune.
getType
Renvoie une chaîne décrivant le type de la valeur donnée. Contrairement à typeof
, getType
fait la distinction entre array
et object
.
Syntaxe
getType(data.someField)
Remarques
Le tableau suivant liste les chaînes renvoyées pour chaque valeur d'entrée.
Valeur d'entrée | Résultat |
---|---|
undefined |
"undefined" |
null |
"null" |
true |
"boolean" |
12 |
"number" |
'string' |
"chaîne" |
{ a: 3 } |
"object" |
[ 1, 3 ] |
"array" |
(x) => x + 1 |
"function" |
Autorisations associées
Aucune.
getUrl
Renvoie une chaîne représentant l'intégralité ou une partie de l'URL actuelle, en fonction d'un type de composant et de certains paramètres de configuration.
Syntaxe
getUrl(component)
Paramètres
Paramètre | Type | Description |
---|---|---|
component |
chaîne | Composant à renvoyer à partir de l'URL. Doit être l'un des suivants : protocol , host , port , path , query , extension ou fragment . Si le composant est undefined , null ou ne correspond pas à l'un de ces composants, la valeur href complète est renvoyée. |
Autorisations associées
gtagSet
Transmet une commande de configuration gtag à la couche de données, pour être traitée dès que possible une fois le traitement de l'événement en cours et des balises qu'il a déclenchées terminé (ou lorsque le délai avant expiration du traitement des balises est atteint). La mise à jour est garantie pour être traitée dans ce conteneur avant tous les éléments mis en file d'attente dans la file d'attente de la couche de données.
Par exemple, si elle est appelée par une balise déclenchée sur Initialisation du consentement, la mise à jour sera appliquée avant le traitement de l'événement d'initialisation. Par exemple, ads_data_redaction
peut être défini sur true
ou false
, ou url_passthrough
sur true
ou false
.
Exemples :
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Syntaxe
gtagSet(object)
Paramètres
Paramètre | Type | Description |
---|---|---|
Object |
objet | Objet qui met à jour l'état global de ses propriétés contenantes. |
Autorisations associées
write_data_layer
vérifie l'autorisation d'écriture sur dataLayer
pour toutes les clés spécifiées. Si l'entrée de gtagSet
est un objet simple, l'API vérifie l'autorisation d'écriture pour toutes les clés aplaties de cet objet. Par exemple, pour gtagSet({foo: {bar: 'baz'}})
, l'API vérifie l'autorisation d'écriture pour foo.bar
.
Si l'entrée de gtagSet
est une clé et une valeur d'objet non simple, l'API vérifie l'autorisation d'écriture pour cette clé. Par exemple, pour gtagSet('abc', true)
, l'API vérifie l'autorisation d'écriture pour 'abc'
.
Notez que s'il existe un cycle dans l'objet d'entrée, seules les clés avant d'atteindre le même objet seront vérifiées.
injectHiddenIframe
Ajoute un iFrame invisible à la page.
Les rappels sont fournis en tant qu'instances de fonction et sont encapsulés dans des fonctions JavaScript qui les appellent.
Syntaxe
injectHiddenIframe(url, onSuccess)
Paramètres
Paramètre | Type | Description |
---|---|---|
url |
chaîne | URL à utiliser comme valeur de l'attribut src de l'iframe. |
onSuccess |
function | Appelé lorsque le frame se charge correctement. |
Autorisations associées
injectScript
Ajoute une balise de script à la page pour charger l'URL donnée de manière asynchrone. Les rappels sont fournis en tant qu'instances de fonction et sont encapsulés dans des fonctions JavaScript qui les appellent.
Syntaxe
injectScript(url, onSuccess, onFailure[, cacheToken])
Paramètres
Paramètre | Type | Description |
---|---|---|
url |
chaîne | Adresse du script à injecter. |
onSuccess |
function | Appelé lorsque le script se charge correctement. |
onFailure |
function | Appelé en cas d'échec du chargement du script. |
cacheToken |
chaîne | Chaîne facultative permettant d'indiquer que l'URL donnée doit être mise en cache. Si cette valeur est spécifiée, un seul élément de script sera créé pour demander le code JavaScript. Toute tentative de chargement supplémentaire entraînera la mise en file d'attente des méthodes onSuccess et onFailure données jusqu'au chargement du script. |
Autorisations associées
isConsentGranted
Renvoie la valeur "true" si le type d'autorisation spécifié est accordé.
Le consentement pour un type de consentement particulier est considéré comme accordé si le type de consentement a été défini sur "accordé" ou n'a pas été défini du tout. Si le type de consentement est défini sur une autre valeur, il sera considéré comme non accordé.
L'interface utilisateur de Tag Manager pour les paramètres des balises propose une option permettant de toujours déclencher la balise. Si une balise avec le paramètre "always fire" activé utilise cette API, le consentement est considéré comme accordé et true
est renvoyé, quel que soit l'état réel du consentement.
Exemple :
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Syntaxe
isConsentGranted(consentType)
Paramètres
Paramètre | Type | Description |
---|---|---|
consentType |
chaîne | Type de consentement dont vous souhaitez vérifier l'état. |
Autorisations associées
Autorisation access_consent
avec accès en lecture pour le type de consentement.
JSON
Renvoie un objet qui fournit des fonctions JSON.
La fonction parse()
analyse une chaîne JSON pour créer la valeur ou l'objet décrit par la chaîne. Si la valeur ne peut pas être analysée (par exemple, si le format JSON est incorrect), la fonction renvoie undefined
. Si la valeur d'entrée n'est pas une chaîne, elle sera convertie en chaîne.
La fonction stringify()
convertit l'entrée en chaîne JSON. Si la valeur ne peut pas être analysée (par exemple, si l'objet comporte un cycle), la méthode renvoie undefined
.
Syntaxe
JSON.parse(stringInput)
JSON.stringify(value);
Paramètres
JSON.parse
Paramètre | Type | Description |
---|---|---|
stringInput | tous | Valeur à convertir. Si la valeur n'est pas une chaîne, l'entrée sera convertie en chaîne. |
JSON.stringify
Paramètre | Type | Description |
---|---|---|
valeur | tous | Valeur à convertir. |
Exemple
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
Renvoie un objet avec des méthodes permettant d'accéder au stockage local.
Syntaxe
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
Autorisations associées
Exemple
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
Enregistre les arguments dans la console du navigateur.
Syntaxe
logToConsole(obj1 [, obj2,... objN])
Paramètres
Paramètre | Type | Description |
---|---|---|
obj1 [, obj2,... objN] |
tous | Arguments |
Autorisations associées
makeInteger
Convertit la valeur donnée en nombre (entier).
Syntaxe
makeInteger(value)
Paramètres
Paramètre | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune.
makeNumber
Convertit la valeur donnée en nombre.
Syntaxe
makeNumber(value)
Paramètres
Paramètre | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune.
makeString
Renvoie la valeur donnée sous forme de chaîne.
Syntaxe
makeString(value)
Paramètres
Paramètre | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune.
makeTableMap
Convertit un objet de table simple à deux colonnes en Map
. Il permet de convertir un champ de modèle SIMPLE_TABLE
à deux colonnes en un format plus facile à gérer.
Par exemple, cette fonction peut convertir un objet de table:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
dans une carte:
{
'k1': 'v1',
'k2': 'v2'
}
Renvoie un objet: l'Map
converti si des paires clé-valeur y ont été ajoutées, ou null
dans le cas contraire.
Syntaxe
makeTableMap(tableObj, keyColumnName, valueColumnName)
Paramètres
Paramètre | Type | Description |
---|---|---|
tableObj |
Liste | Objet de table à convertir. Il s'agit d'une liste de cartes, où chaque Map représente une ligne du tableau. Chaque nom de propriété dans un objet de ligne est le nom de la colonne, et la valeur de la propriété est la valeur de la colonne dans la ligne. |
keyColumnName |
chaîne | Nom de la colonne dont les valeurs deviendront des clés dans la Map convertie. |
valueColumnName |
chaîne | Nom de la colonne dont les valeurs deviendront des valeurs dans l'Map convertie. |
Autorisations associées
Aucune.
Math
Objet fournissant des fonctions Math
.
Syntaxe
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
Paramètres
Les paramètres des fonctions mathématiques sont convertis en nombres.
Autorisations associées
Aucune.
Object
Renvoie un objet qui fournit des méthodes Object
.
La méthode keys()
fournit le comportement Object.keys() de la bibliothèque standard. Il renvoie un tableau des noms de propriétés énumérables d'un objet donné dans le même ordre qu'une boucle for...in...
. Si la valeur d'entrée n'est pas un objet, elle sera convertie en objet.
La méthode values()
fournit le comportement Object.values() de la bibliothèque standard. Il renvoie un tableau des valeurs de propriété énumérables d'un objet donné dans le même ordre qu'une boucle for...in...
. Si la valeur d'entrée n'est pas un objet, elle sera convertie en objet.
La méthode entries()
fournit le comportement Object.entries() de la bibliothèque standard. Il renvoie un tableau de paires [key, value]
de la propriété énumérable d'un objet donné dans le même ordre qu'une boucle for...in...
. Si la valeur d'entrée n'est pas un objet, elle sera convertie en objet.
La méthode freeze()
fournit le comportement Object.freeze() de la bibliothèque standard. Un objet congelé ne peut plus être modifié. Congeler un objet empêche l'ajout de nouvelles propriétés, la suppression de propriétés existantes et la modification des valeurs des propriétés existantes. freeze()
renvoie le même objet qui a été transmis. Un argument primitif ou nul sera traité comme s'il s'agissait d'un objet figé et sera renvoyé.
La méthode delete()
fournit le comportement de l'opérateur de suppression de la bibliothèque standard. Elle supprime la clé donnée de l'objet, sauf si celui-ci est gelé.
Comme l'opérateur de suppression de la bibliothèque standard, il renvoie true
si la première valeur d'entrée (objectInput
) est un objet qui n'est pas figé, même si la deuxième valeur d'entrée (keyToDelete
) spécifie une clé qui n'existe pas. Elle renvoie false
dans tous les autres cas. Cependant, il diffère de l'opérateur de suppression de la bibliothèque standard sur les points suivants:
keyToDelete
ne peut pas être une chaîne délimitée par des points qui spécifie une clé imbriquée.delete()
ne peut pas être utilisé pour supprimer des éléments d'un tableau.delete()
ne peut pas être utilisé pour supprimer des propriétés de la portée globale.
Syntaxe
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Paramètres
Object.keys
Paramètre | Type | Description |
---|---|---|
objectInput | tous | Objet dont les clés doivent être énumérées. Si l'entrée n'est pas un objet, elle sera convertie en objet. |
Object.values
Paramètre | Type | Description |
---|---|---|
objectInput | tous | Objet dont les valeurs doivent être énumérées. Si l'entrée n'est pas un objet, elle sera convertie en objet. |
Object.entries
Paramètre | Type | Description |
---|---|---|
objectInput | tous | Objet dont les paires clé/valeur doivent être énumérées. Si l'entrée n'est pas un objet, elle sera convertie en objet. |
Object.freeze
Paramètre | Type | Description |
---|---|---|
objectInput | tous | Objet à figer. Si l'entrée n'est pas un objet, elle sera traitée comme un objet figé. |
Object.delete
Paramètre | Type | Description |
---|---|---|
objectInput | tous | Objet dont vous souhaitez supprimer la clé. |
keyToDelete | chaîne | Clé de niveau supérieur à supprimer. |
Exemple
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
Renvoie un objet contenant toutes les parties d'une URL donnée, semblable à l'objet URL
.
Cette API renvoie undefined
pour toute URL mal formée. Pour les URL correctement formatées, les champs qui ne figurent pas dans la chaîne d'URL auront une valeur de chaîne vide ou, dans le cas de searchParams
, d'objet vide.
L'objet renvoyé contient les champs suivants:
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
Exemple
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Syntaxe
parseUrl(url);
Paramètres
Paramètre | Type | Description |
---|---|---|
url |
chaîne | URL complète qui sera analysée. |
Autorisations associées
Aucune.
queryPermission
Interrogez les autorisations autorisées et restreintes. Renvoie une valeur booléenne: true
si une autorisation est accordée, false
sinon.
Syntaxe
queryPermission(permission, functionArgs*)
Paramètres
Paramètre | Type | Description |
---|---|---|
permission |
chaîne | Nom de l'autorisation. |
functionArgs |
tous | Les arguments de la fonction varient selon l'autorisation interrogée. Consultez la section Arguments de fonction ci-dessous. |
Arguments de fonction
sendPixel
, injectScript
, injectHiddenIframe
: le deuxième paramètre doit être une chaîne d'URL.
writeGlobals
, readGlobals
: le deuxième paramètre doit être la clé écrite ou lue.
readUrl
: aucun argument supplémentaire n'est nécessaire pour déterminer si l'URL entière peut être lue. Pour interroger si un composant donné peut être lu, transmettez le nom du composant comme deuxième argument:
if (queryPermission('readUrl','port')) {
// read the port
}
Pour vérifier si une clé de requête spécifique est lisible, transmettez-la comme troisième paramètre:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Autorisations associées
Aucune.
readCharacterSet
Renvoie la valeur de document.characterSet
.
Syntaxe
readCharacterSet()
Paramètres
Aucune.
Autorisations associées
readTitle
Renvoie la valeur de document.title
.
Syntaxe
readTitle()
Paramètres
Aucune.
Autorisations associées
require
Importe une fonction intégrée par nom. Renvoie une fonction ou un objet pouvant être appelé à partir de votre programme. Renvoie undefined lorsque le navigateur n'est pas compatible avec la fonction intégrée.
Syntaxe
require(name)
Paramètres
Paramètre | Type | Description |
---|---|---|
name |
chaîne | Nom de la fonction à importer. |
Exemple
const getUrl = require('getUrl');
const url = getUrl();
Autorisations associées
Aucune.
sendPixel
Envoie une requête GET à un point de terminaison d'URL spécifié.
Syntaxe
sendPixel(url, onSuccess, onFailure)
Paramètres
Paramètre | Type | Description |
---|---|---|
url |
chaîne | Emplacement où envoyer le pixel. |
onSuccess |
function | Appelé lorsque le pixel se charge correctement. Remarque: même si la requête est envoyée, les navigateurs peuvent nécessiter une réponse d'image valide pour exécuter onSuccess. |
onFailure |
function | Appelé en cas d'échec du chargement du pixel. Remarque: même si la requête est envoyée, onFailure peut s'exécuter si le serveur ne renvoie pas de réponse d'image valide. |
Autorisations associées
setCookie
Définit ou supprime le cookie avec le nom, la valeur et les options spécifiés.
Syntaxe
setCookie(name, value[, options, encode])
Paramètres
Paramètre | Type | Description |
---|---|---|
name |
chaîne | Nom du cookie. |
value |
chaîne | Valeur du cookie. |
options |
objet | Spécifie les attributs Domain, Path, Expires, Max-Age, Secure et SameSite. (voir la section Options ci-dessous). |
encode |
booléen | Détermine si la valeur du cookie doit être encodée avec encodeURIComponent() de JavaScript.
La valeur par défaut est true . |
- Domain (Domaine) : défini par la propriété
options['domain']
, le cas échéant. Définissez cette valeur sur'auto'
pour essayer d'écrire le cookie à l'aide du domaine le plus large possible, en fonction de l'emplacement du document. Si cette tentative échoue, il essaie des sous-domaines de plus en plus spécifiques. Si toutes ces tentatives échouent, le cookie sera écrit sans domaine. Si aucune valeur n'est définie, le cookie sera écrit sans domaine spécifié. Remarque: Lorsqu'un cookie sans domaine spécifié est écrit dansdocument.cookie
, l'agent utilisateur définit par défaut le domaine du cookie sur l'hôte de l'emplacement du document actuel. - Path (Chemin d'accès) : défini par
options['path']
, le cas échéant. Lorsqu'un cookie sans chemin d'accès spécifié est écrit dansdocument.cookie
, l'user-agent définit par défaut le chemin du cookie sur le chemin de l'emplacement du document actuel. - Max-Age:défini par
options['max-age']
, le cas échéant. - Expires:défini par
options['expires']
, le cas échéant. Le cas échéant, il doit s'agir d'une chaîne de date au format UTC.Date.toUTCString()
peut être utilisé pour mettre en forme unDate
pour ce paramètre. - Secure (Sécurisé) : défini par
options['secure']
, le cas échéant. - SameSite:défini par
options['samesite']
, le cas échéant.
Autorisations associées
setDefaultConsentState
Transmet une mise à jour de l'autorisation par défaut à la couche de données, à traiter dès que possible une fois le traitement de l'événement en cours et de toutes les balises qu'il a déclenchées terminé (ou lorsque le délai avant expiration du traitement de la balise est atteint). La mise à jour est garantie pour être traitée dans ce conteneur avant tous les éléments mis en file d'attente dans la couche de données. En savoir plus sur le consentement
Exemple :
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Syntaxe
setDefaultConsentState(consentSettings)
Paramètres
Paramètre | Type | Description |
---|---|---|
consentSettings |
objet | Objet qui définit l'état par défaut des types de consentement spécifiés. |
L'objet consentSettings
est un mappage de chaînes de type de consentement arbitraires sur l'une des valeurs 'granted'
ou 'denied'
. Il accepte les valeurs suivantes:
Nom de la clé | Type | Description |
---|---|---|
consentType |
chaîne | La valeur de chaque type de consentement peut être définie sur "granted" ou "denied". Toute valeur autre que "granted" sera traitée comme "denied". Définir la valeur sur "undefined" n'aura aucun effet sur sa valeur précédente. |
region |
Array | Tableau facultatif de codes de région indiquant la région à laquelle les paramètres de consentement s'appliquent. Les codes régionaux sont exprimés à l'aide de pays et/ou de subdivisions au format ISO 3166-2. |
wait_for_update |
nombre | Indique une valeur en millisecondes pour contrôler le délai d'attente avant l'envoi des données. Utilisé avec des outils de consentement qui se chargent de manière asynchrone. |
Autorisations associées
Autorisation access_consent
avec accès en écriture pour tous les types de consentement dans l'objet consentSettings.
setInWindow
Définit la valeur donnée dans window
à la clé donnée. Par défaut, cette méthode ne définit pas la valeur dans window
si une valeur est déjà présente. Définissez overrideExisting
sur true
pour définir la valeur dans window
, quelle que soit la présence d'une valeur existante. Renvoie une valeur booléenne: true
si la valeur a été définie avec succès, et false
dans le cas contraire.
Syntaxe
setInWindow(key, value, overrideExisting)
Paramètres
Paramètre | Type | Description |
---|---|---|
key |
chaîne | Clé dans window à laquelle placer la valeur. |
value |
* | Valeur à définir dans window . |
overrideExisting |
booléen | Indicateur indiquant que la valeur doit être définie dans window , que la valeur y soit présente ou non. |
Autorisations associées
sha256
Calcule le condensé SHA-256 de l'entrée et appelle un rappel avec le condensé encodé en base64, sauf si l'objet options
spécifie un autre encodage de sortie.
Exemple :
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
Syntaxe
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Paramètres
Paramètre | Type | Description |
---|---|---|
input |
chaîne | Chaîne pour laquelle calculer le hachage. |
onSuccess |
function | Appelé avec le condensé obtenu, encodé en base64, sauf si l'objet options spécifie un autre encodage de sortie. |
onFailure |
function | Appelé en cas d'erreur lors du calcul du récapitulatif ou si le navigateur n'est pas compatible en mode natif avec sha256. Le rappel est appelé avec un objet contenant le nom de l'erreur et le message. |
options |
objet | Objet d'options facultatif permettant de spécifier l'encodage de sortie. Si elle est spécifiée, l'objet doit contenir la clé outputEncoding avec une valeur base64 ou hex . |
Autorisations associées
Aucune.
templateStorage
Renvoie un objet avec des méthodes permettant d'accéder au stockage des modèles. Le stockage de modèles permet de partager des données entre les exécutions d'un même modèle. Les données stockées dans le stockage de modèle sont conservées pendant toute la durée de vie de la page.
Syntaxe
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Autorisations associées
Exemple
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
L'API toBase64
vous permet d'encoder une chaîne en représentation base64.
Syntaxe
toBase64(input)
Paramètres
Paramètre | Type | Description |
---|---|---|
input |
chaîne | Chaîne à encoder. |
Exemple
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Autorisations associées
Aucun
updateConsentState
Transmet une mise à jour du consentement à la couche de données, à traiter dès que possible une fois le traitement de l'événement en cours et des balises qu'il a déclenchées terminé (ou lorsque le délai avant expiration du traitement de la balise est atteint). La mise à jour est garantie d'être traitée dans ce conteneur avant tous les éléments mis en file d'attente dans la couche de données. En savoir plus sur le consentement
Exemple :
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Syntaxe
updateConsentState(consentSettings)
Paramètres
Paramètre | Type | Description |
---|---|---|
consentSettings |
objet | Objet qui met à jour l'état des types de consentement spécifiés. |
L'objet consentSettings
est un mappage de chaînes de type de consentement arbitraires sur l'une des valeurs 'granted'
ou 'denied'
. Il accepte les valeurs suivantes:
Nom de la clé | Type | Description |
---|---|---|
consentType |
chaîne | La valeur de chaque type de consentement peut être définie sur "granted" (accordé) ou "denied" (refusé). Toute valeur autre que "granted" sera traitée comme "denied". Définir la valeur sur "undefined" n'a aucun effet sur sa valeur précédente. |
Autorisations associées
Autorisation access_consent
avec accès en écriture pour tous les types de consentement dans l'objet consentSettings.
Tester des API
Ces API fonctionnent avec les tests JavaScript en bac à sable pour créer des tests pour les modèles personnalisés dans Google Tag Manager. Ces API de test n'ont pas besoin d'une instruction require()
. En savoir plus sur les tests de modèles personnalisés
assertApi
Renvoie un objet de mise en correspondance qui peut être utilisé pour émettre des assertions fluides sur l'API donnée.
Syntaxe
assertApi(apiName)
Paramètres
Paramètre | Type | Description |
---|---|---|
apiName |
chaîne | Nom de l'API à vérifier. Même chaîne que celle transmise à require() .
|
Outils de mise en correspondance
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Exemples
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
L'API assertThat
est modélisée d'après la bibliothèque [Truth] de Google. Il renvoie un objet qui peut être utilisé pour émettre des assertions fluides sur la valeur d'un sujet. Un échec d'assertion arrête immédiatement le test et le marque comme ayant échoué. Toutefois, l'échec d'un test n'affectera pas les autres scénarios de test.
Syntaxe
assertThat(actual, opt_message)
Paramètres
Paramètre | Type | Description |
---|---|---|
actual |
tous | Valeur à utiliser dans les vérifications fluent. |
opt_message |
chaîne | Message facultatif à imprimer si l'assertion échoue. |
Outils de mise en correspondance
Matcher | Description |
---|---|
isUndefined() |
Affirme que l'objet est undefined . |
isDefined() |
Affirme que l'objet n'est pas undefined . |
isNull() |
Affirme que l'objet est null . |
isNotNull() |
Affirme que l'objet n'est pas null . |
isFalse() |
Affirme que l'objet est false . |
isTrue() |
Affirme que l'objet est true . |
isFalsy() |
Affirme que l'objet est faux. Les valeurs fausses sont undefined , null , false , NaN , 0 et '' (chaîne vide). |
isTruthy() |
Affirme que l'objet est vrai. Les valeurs fausses sont undefined , null , false , NaN , 0 et '' (chaîne vide). |
isNaN() |
Affirme que l'objet est la valeur NaN. |
isNotNaN() |
Affirme que l'objet est une valeur autre que NaN. |
isInfinity() |
Affirme que l'objet est l'infini positif ou négatif. |
isNotInfinity() |
Affirme que l'objet est une valeur autre que l'infini positif ou négatif. |
isEqualTo(expected) |
Déclarez que l'objet est égal à la valeur donnée. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
isNotEqualTo(expected) |
Déclarez que l'objet n'est pas égal à la valeur donnée. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
isAnyOf(...expected) |
Déclaration selon laquelle l'objet est égal à l'une des valeurs données. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
isNoneOf(...expected) |
Déclarez que l'objet n'est égal à aucune des valeurs données. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
isStrictlyEqualTo(expected) |
Affirme que l'objet est strictement égal (=== ) à la valeur donnée. |
isNotStrictlyEqualTo(expected) |
Affirme que l'objet n'est pas strictement égal (!== ) à la valeur donnée. |
isGreaterThan(expected) |
Affirme que l'objet est supérieur (> ) à la valeur donnée dans une comparaison ordonnée. |
isGreaterThanOrEqualTo(expected) |
Affirme que l'objet est supérieur ou égal (>= ) à la valeur donnée dans une comparaison ordonnée. |
isLessThan(expected) |
Affirme que l'objet est inférieur (< ) à la valeur donnée dans une comparaison ordonnée. |
isLessThanOrEqualTo(expected) |
Affirme que l'objet est inférieur ou égal (<= ) à la valeur donnée dans une comparaison ordonnée. |
contains(...expected) |
Affirme que l'objet est un tableau ou une chaîne contenant toutes les valeurs données dans n'importe quel ordre. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
doesNotContain(...expected) |
Affirme que l'objet est un tableau ou une chaîne qui ne contient aucune des valeurs données. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
containsExactly(...expected) |
Affirme que l'objet est un tableau contenant toutes les valeurs données dans n'importe quel ordre et aucune autre valeur. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
doesNotContainExactly(...expected) |
Affirme que l'objet est un tableau contenant un ensemble de valeurs différent de celui donné, dans n'importe quel ordre. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de références. Le contenu des objets et des tableaux est comparé de manière récursive. |
hasLength(expected) |
Affirme que l'objet est un tableau ou une chaîne de la longueur donnée. L'assertion échoue toujours si la valeur n'est pas un tableau ou une chaîne. |
isEmpty() |
Affirme que l'objet est un tableau ou une chaîne vide (longueur = 0). L'assertion échoue toujours si la valeur n'est pas un tableau ou une chaîne. |
isNotEmpty() |
Affirme que l'objet est un tableau ou une chaîne qui n'est pas vide (longueur > 0). L'assertion échoue toujours si la valeur n'est pas un tableau ou une chaîne. |
isArray() |
Affirme que le type de l'objet est un tableau. |
isBoolean() |
Affirme que le type de l'objet est booléen. |
isFunction() |
Affirme que le type de l'objet est une fonction. |
isNumber() |
Affirme que le type de l'objet est un nombre. |
isObject() |
Affirme que le type de l'objet est un objet. |
isString() |
Affirme que le type de l'objet est une chaîne. |
Exemples
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
Fait échouer immédiatement le test en cours et affiche le message donné, le cas échéant.
Syntaxe
fail(opt_message);
Paramètres
Paramètre | Type | Description |
---|---|---|
opt_message |
chaîne | Texte du message d'erreur facultatif. |
Exemple
fail('This test has failed.');
mock
L'API mock
vous permet de remplacer le comportement des API placées dans un bac à sable. L'API fictive peut être utilisée en toute sécurité dans le code du modèle, mais elle n'est opérationnelle qu'en mode test.
Les simulations sont réinitialisées avant l'exécution de chaque test.
Syntaxe
mock(apiName, returnValue);
Paramètres
Paramètre | Type | Description |
---|---|---|
apiName |
chaîne | Nom de l'API à simuler. Même chaîne que celle transmise à require() . |
returnValue |
tous | Valeur à renvoyer pour l'API ou une fonction appelée à la place de l'API. Si returnValue est une fonction, cette fonction est appelée à la place de l'API Sandboxed. Si returnValue est autre chose qu'une fonction, cette valeur est renvoyée à la place de l'API Sandboxed. |
Exemples
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
L'API mockObject
vous permet de remplacer le comportement des API placées dans un bac à sable qui renvoient un objet. L'API peut être utilisée en toute sécurité dans le code de modèle, mais elle n'est opérationnelle que en mode test. Les simulations sont réinitialisées avant l'exécution de chaque test.
Syntaxe
mockObject(apiName, objectMock);
Paramètres
Paramètre | Type | Description |
---|---|---|
apiName |
chaîne | Nom de l'API à simuler. Même chaîne que celle transmise à require() . |
objectMock |
objet | Valeur à renvoyer pour l'API ou une fonction appelée à la place de l'API. Doit être un objet. |
Exemples
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Exécute le code du modèle, c'est-à-dire le contenu de l'onglet Code, dans l'environnement de test actuel avec un objet de données d'entrée donné.
Syntaxe
runCode(data)
Paramètres
Paramètre | Type | Description |
---|---|---|
data |
objet | Objet de données à utiliser dans le test. |
Valeur renvoyée
Renvoie la valeur d'une variable pour les modèles de variables. Renvoie undefined
pour tous les autres types de modèles.
Exemple
runCode({field1: 123, field2: 'value'});