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é passera de "Refusé" à "Accordé" ou de "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 et passe à "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 changements 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 modifié. |
granted |
boolean | Valeur booléenne définie sur "true" si le type de consentement spécifié est modifié pour être accordé. |
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 sera appelé lorsque tous les tags de l'événement auront été exécutés ou si un délai d'expiration d'é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 tag. Chaque balise déclenchée lors de l'événement aura une entrée dans ce tableau. L'objet de données de la balise contient l'ID de la balise (id), son état d'exécution (status) et son temps d'exécution (executionTime). Les données de la balise incluent également les métadonnées supplémentaires de la balise qui ont été 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 certains tags qui nécessitent un alias. Attribue la valeur de l'objet window trouvé à fromPath à la clé de l'objet window à toPath. Renvoie true en cas de réussite, ou false dans le cas contraire.
Syntaxe
aliasInWindow(toPath, fromPath)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
toPath |
chaîne | Chemin d'accès séparé par des points dans l'objet window où une valeur doit être copiée. Tous les composants du chemin d'accès jusqu'au dernier composant doivent déjà exister dans l'objet window. |
fromPath |
chaîne | Chemin d'accès à la valeur à copier dans window, 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, tandis que fromPath nécessite un accès en lecture.
callInWindow
Vous permet d'appeler des fonctions à partir d'un chemin d'accès à l'objet window, de manière contrôlée par une règle. 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 directement mappé à un type compatible avec JavaScript en bac à sable, undefined est renvoyé. Les huit types acceptés dans le JavaScript en bac à sable sont null, undefined, boolean, number, string, Array, Object et function. Si le chemin d'accès indiqué 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 pour qu'il se produise 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 si elle est de type primitif, fonction ou 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 | La 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
Copie une variable à partir de l'objet window. Si la valeur dans window ne peut pas être directement mappée à un type compatible avec le JavaScript en bac à sable, undefined sera renvoyé. Les huit types acceptés dans le JavaScript en bac à sable sont null, undefined, boolean, number, string, Array, Object et function.
Renvoie la valeur récupérée (et forcée).
Syntaxe
copyFromWindow(key)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
key |
chaîne | Clé dans le window dont la valeur doit être copiée. |
Autorisations associées
createArgumentsQueue
Crée une file d'attente qui est remplie d'objets d'arguments, pour prendre en charge les solutions de tag qui en ont besoin.
Crée une fonction dans le champ d'application global (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 transmet son objet d'arguments au 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 dans 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 est compatible avec la notation par points standard. Si le chemin d'accès à la clé n'existe pas, une exception est générée. Autrement dit, si fnKey est 'one.two', une exception sera générée. |
arrayKey |
chaîne | Chemin d'accès dans window où le tableau est défini, s'il n'existe pas déjà. Cet argument est compatible avec la notation par points standard. Si le chemin d'accès à la clé n'existe pas, une exception est générée. Autrement dit, si arrayKey est défini sur 'one.two' et qu'aucun objet global nommé 'one' n'existe, 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 est compatible avec la notation par points standard. Si le chemin d'accès à la clé n'existe pas, une exception est générée. Par exemple, si arrayKey est défini sur 'one.two' et qu'il n'existe aucun objet global nommé 'one', une exception sera générée. |
Autorisations associées
decodeUri
Décode tous les caractères encodés dans l'URI fourni. Renvoie une chaîne représentant l'URI décodé. Renvoie undefined lorsque l'entrée fournie n'est pas valide.
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 URI fourni. Renvoie une chaîne représentant le composant URI décodé. Renvoie undefined lorsque l'entrée fournie n'est pas valide.
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 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 (un substitut isolé) est fournie.
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 (un substitut isolé) est fournie.
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 lorsque l'entrée fournie n'est pas valide.
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 potentielle maximale 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 |
boolean | Contrôle 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 tous les paramètres du queryKey de l'URL actuelle.
Renvoie la première valeur de queryKey ou un tableau de valeurs de queryKey.
Syntaxe
getQueryParameters(queryKey[, retrieveAll])
Paramètres
| Paramètre | Type | Description |
|---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
boolean | 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, alors :
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 referrer au lieu de l'URL actuelle. Renvoie le premier ou tous les paramètres du queryKey du referrer donné. Renvoie la première valeur de queryKey ou un tableau de valeurs de queryKey.
Syntaxe
getReferrerQueryParameters(queryKey[, retrieveAll])
Paramètres
| Paramètre | Type | Description |
|---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
boolean | Indique si toutes les valeurs doivent être récupérées. |
Par exemple, si l'URL de provenance 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 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 referrer et renvoie une chaîne représentant une partie du referrer. 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, extension. Si component est défini sur undefined ou null, ou ne correspond à aucun de ces composants, l'URL entière est renvoyée. |
Autorisations associées
get_referrer 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).
getTimestamp
Obsolète. Préférez getTimestampMillis.
Renvoie un nombre représentant l'heure actuelle en millisecondes depuis l'epoch Unix, tel que renvoyé par Date.now().
Syntaxe
getTimestamp();
Autorisations associées
Aucune.
getTimestampMillis
Renvoie un nombre représentant l'heure actuelle en millisecondes depuis l'epoch Unix, tel que renvoyé 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' |
'string' |
{ a: 3 } |
'object' |
[ 1, 3 ] |
'array' |
(x) => x + 1 |
'function' |
Autorisations associées
Aucune.
getUrl
Renvoie une chaîne représentant tout ou 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 à aucun de ces composants, la valeur href entière sera renvoyée. |
Autorisations associées
gtagSet
Envoie une commande gtag set à la couche de données, qui sera traitée dès que possible une fois que l'événement actuel et les balises qu'il a déclenchées auront fini d'être traités (ou que le délai de traitement des balises aura expiré). La mise à jour est garantie d'être traitée dans ce conteneur avant tout élément 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 peut être défini 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 |
object | Objet qui met à jour l'état global de ses propriétés contenues. |
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 à l'intérieur 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 sous forme d'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 sous forme d'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 utilisée pour 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'à ce que le script soit chargé. |
Autorisations associées
isConsentGranted
Renvoie "true" si le type d'autorisation spécifié est accordé.
Le consentement pour un type de consentement spécifique 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 de balise proposera une option de déclenchement systématique. Si une balise avec l'option "Toujours déclencher" activée 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 il faut 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 construire la valeur ou l'objet décrits 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 forcée à devenir une 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 d'accès 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
Consigne 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 indiqué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 indiquée en nombre.
Syntaxe
makeNumber(value)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune.
makeString
Renvoie la valeur indiqué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. Cette option permet de modifier un champ de modèle SIMPLE_TABLE à deux colonnes pour le rendre 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 : 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 le Map converti. |
valueColumnName |
chaîne | Nom de la colonne dont les valeurs deviendront des valeurs dans le Map converti. |
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 forcée à devenir un objet.
La méthode values() fournit le comportement de la bibliothèque standard Object.values(). 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 forcée à devenir un objet.
La méthode entries() fournit le comportement Object.entries() de la bibliothèque standard. Il renvoie un tableau de paires [key, value] 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 forcée à devenir un objet.
La méthode freeze() fournit le comportement Object.freeze() de la bibliothèque standard. Un objet figé ne peut plus être modifié. La fige d'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 que celui 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 l'objet est figé.
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 non figé, même si la deuxième valeur d'entrée (keyToDelete) spécifie une clé qui n'existe pas. Dans tous les autres cas, elle renvoie false. Toutefois, elle diffère de l'opérateur de suppression de la bibliothèque standard sur les points suivants :
keyToDeletene 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 forcée à devenir un 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 forcée à devenir un 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 forcée à devenir un 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 la clé doit être supprimée. |
| keyToDelete | chaîne | Clé de premier niveau à 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 tous les composants d'une URL donnée, semblable à l'objet URL.
Cette API renverra undefined pour toute URL mal formée. Pour les URL correctement mises en forme, les champs qui ne sont pas présents dans la chaîne d'URL auront une valeur de chaîne vide ou, dans le cas de searchParams, un objet vide.
L'objet renvoyé comportera 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 | Indique l'URL complète qui sera analysée. |
Autorisations associées
Aucune.
queryPermission
Interrogez les autorisations autorisées et limitées. 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 en fonction de l'autorisation demandé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é en cours d'écriture ou de lecture.
readUrl : aucun argument supplémentaire n'est nécessaire pour déterminer si l'intégralité de l'URL peut être lue. Pour savoir 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 en tant que troisième paramètre :
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Autorisations associées
Aucune.
readAnalyticsStorage
Récupère les données stockées pour l'analyse et renvoie un objet avec client_id et sessions.
client_id: chaîne représentant l'ID client utilisé pour l'analyse.sessions: tableau d'objets contenant des informations sur les sessions en cours. Chaque objet inclut les éléments suivants :measurement_id: chaîne représentant l'ID de mesure de la destination Analytics.session_id: chaîne représentant le code temporel qui identifie la session en cours.session_number: nombre représentant le nombre de sessions qu'un utilisateur a démarrées jusqu'à la session en cours.
Syntaxe
const readAnalyticsStorage = require('readAnalyticsStorage');
const cookieOptions = {
cookie_prefix: "xyz",
cookie_domain: "google.com",
cookie_path: "/",
};
readAnalyticsStorage(cookieOptions);
Paramètres
| Paramètre | Type | Description |
|---|---|---|
cookieOptions |
object |
Facultatif : options pour lire les cookies avec des
cookie_prefix, cookie_domain ou
cookie_path spécifiques.
|
Autorisations associées
Exemple
const readAnalyticsStorage = require('readAnalyticsStorage');
const analyticsStorageData = readAnalyticsStorage();
sendOfflineEvent(analyticsStorageData.client_id, "tutorial_begin");
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 son nom. Renvoie une fonction ou un objet pouvant être appelé depuis votre programme. Renvoie undefined lorsque le navigateur ne prend pas en charge 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
Effectue 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 | Où envoyer le Pixel ? |
onSuccess |
function | Appelé lorsque le pixel se charge correctement. Remarque : Même si la requête est envoyée avec succès, les navigateurs peuvent exiger une réponse d'image valide pour exécuter onSuccess. |
onFailure |
function | Appelé lorsque le pixel ne parvient pas à se charger. Remarque : Même si la requête est envoyée avec succès, 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 |
object | Spécifie les attributs Domain, Path, Expires, Max-Age, Secure et SameSite. (voir Options ci-dessous). |
encode |
boolean | Contrôle si la valeur du cookie doit être encodée avec encodeURIComponent() de JavaScript.
La valeur par défaut est true. |
- 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 en utilisant le domaine le plus large possible, en fonction de l'emplacement du document. Si cela échoue, il essaiera successivement des sous-domaines plus spécifiques. Si toutes ces tentatives échouent, il essaiera d'écrire le cookie 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 actuel du document. - Chemin d'accès défini par
options['path'], le cas échéant. Lorsqu'un cookie sans chemin spécifié est écrit dansdocument.cookie, le user-agent définit par défaut le chemin du cookie sur celui de l'emplacement du document actuel. - Max-Age : défini par
options['max-age'], le cas échéant. - Expiration : définie par
options['expires'], le cas échéant. Si elle est présente, il doit s'agir d'une chaîne de date au format UTC.Date.toUTCString()peut être utilisé pour mettre en forme unDatepour ce paramètre. - Secure : défini par
options['secure'], le cas échéant. - SameSite : défini par
options['samesite'], le cas échéant.
Autorisations associées
setDefaultConsentState
Envoie une mise à jour du consentement par défaut à la couche de données, qui sera traitée dès que possible après l'événement actuel et toutes les balises qu'il a déclenchées auront fini d'être traitées (ou lorsque le délai de traitement des balises sera atteint). La mise à jour est garantie d'être traitée dans ce conteneur avant tout élément 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 |
object | 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 à l'une des valeurs 'granted' ou 'denied'. Il est compatible avec 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" (non défini) n'aura aucun effet sur sa valeur précédente. |
region |
Array | Tableau facultatif de codes de région spécifiant la région à laquelle s'appliquent les paramètres de consentement. Les codes régionaux sont exprimés à l'aide de pays et/ou de subdivisions au format ISO 3166-2. |
wait_for_update |
nombre | Spécifie 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 correctement, et false dans le cas contraire.
Syntaxe
setInWindow(key, value, overrideExisting)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
key |
chaîne | Clé dans window où placer la valeur. |
value |
* | Valeur à définir dans window. |
overrideExisting |
boolean | Indicateur indiquant que la valeur doit être définie dans window, qu'une valeur y figure 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 encodage de sortie différent.
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 encodage de sortie différent. |
onFailure |
function | Appelée en cas d'erreur lors du calcul du résumé ou si le navigateur n'est pas compatible avec sha256. Le rappel est appelé avec un objet contenant le nom et le message de l'erreur. |
options |
object | 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 la valeur base64 ou hex. |
Autorisations associées
Aucune.
templateStorage
Renvoie un objet avec des méthodes permettant d'accéder au stockage de 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 l'espace de stockage des modèles 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
Envoie une mise à jour du consentement à la couche de données, qui sera traitée dès que possible après la fin du traitement de l'événement actuel et des balises qu'il a déclenchées (ou lorsque le délai de traitement des balises est atteint). La mise à jour est garantie d'être traitée dans ce conteneur avant tout élément 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 |
object | 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 à l'une des valeurs 'granted' ou 'denied'. Il est compatible avec les valeurs suivantes :
| Nom de la clé | Type | Description |
|---|---|---|
consentType |
chaîne | La valeur de chaque type de consentement peut être définie sur "accordé" ou "refusé". 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. |
Autorisations associées
Autorisation access_consent avec accès en écriture pour tous les types de consentement dans l'objet consentSettings.
Tester les API
Ces API fonctionnent avec des 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'instruction require(). En savoir plus sur les tests de modèles personnalisés
assertApi
Renvoie un objet de correspondance qui peut être utilisé pour effectuer des assertions de manière fluide sur l'API donnée.
Syntaxe
assertApi(apiName)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
apiName |
chaîne | Nom de l'API à vérifier. Il s'agit de la même chaîne que celle transmise à require().
|
Matchers
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 calquée sur la bibliothèque [Truth] de Google. Il renvoie un objet qui peut être utilisé pour faire des assertions de manière fluide sur la valeur d'un sujet. En cas d'échec d'une assertion, le test s'arrête immédiatement et est marqué 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 fluides. |
opt_message |
chaîne | Message facultatif à afficher en cas d'échec de l'assertion. |
Matchers
| Matcher | Description |
|---|---|
isUndefined() |
Affirme que le sujet est undefined. |
isDefined() |
Affirme que le sujet n'est pas undefined. |
isNull() |
Affirme que le sujet est null. |
isNotNull() |
Affirme que le sujet n'est pas null. |
isFalse() |
Affirme que le sujet est false. |
isTrue() |
Affirme que le sujet est true. |
isFalsy() |
Affirme que le sujet est une valeur "falsy". Les valeurs "falsy" sont undefined, null, false, NaN, 0 et "" (chaîne vide). |
isTruthy() |
Affirme que le sujet est une valeur truthy. Les valeurs "falsy" sont undefined, null, false, NaN, 0 et "" (chaîne vide). |
isNaN() |
Affirme que le sujet est la valeur NaN. |
isNotNaN() |
Affirme que le sujet est une valeur autre que NaN. |
isInfinity() |
Affirme que le sujet est l'infini positif ou négatif. |
isNotInfinity() |
Affirme que le sujet est une valeur autre que l'infini positif ou négatif. |
isEqualTo(expected) |
Affirme que le sujet 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) |
Affirme que le sujet 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) |
Affirme que le sujet 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) |
Affirme que le sujet 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 le sujet est strictement égal (===) à la valeur donnée. |
isNotStrictlyEqualTo(expected) |
Affirme que le sujet n'est pas strictement égal (!==) à la valeur donnée. |
isGreaterThan(expected) |
Affirme que le sujet est supérieur (>) à la valeur donnée dans une comparaison ordonnée. |
isGreaterThanOrEqualTo(expected) |
Affirme que le sujet est supérieur ou égal (>=) à la valeur donnée dans une comparaison ordonnée. |
isLessThan(expected) |
Affirme que le sujet est inférieur (<) à la valeur donnée dans une comparaison ordonnée. |
isLessThanOrEqualTo(expected) |
Affirme que le sujet est inférieur ou égal (<=) à la valeur donnée dans une comparaison ordonnée. |
contains(...expected) |
Affirme que le sujet 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 le sujet 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 le sujet est un tableau qui contient 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 le sujet est un tableau qui contient un ensemble de valeurs différent de celles fournies, 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 le sujet est un tableau ou une chaîne de la longueur indiquée. L'assertion échoue toujours si la valeur n'est pas un tableau ni une chaîne. |
isEmpty() |
Affirme que le sujet est un tableau ou une chaîne vide (longueur = 0). L'assertion échoue toujours si la valeur n'est pas un tableau ni une chaîne. |
isNotEmpty() |
Affirme que le sujet est un tableau ou une chaîne non vide (longueur > 0). L'assertion échoue toujours si la valeur n'est pas un tableau ni une chaîne. |
isArray() |
Affirme que le type du sujet est un tableau. |
isBoolean() |
Affirme que le type du sujet est booléen. |
isFunction() |
Affirme que le type du sujet est une fonction. |
isNumber() |
Affirme que le type du sujet est un nombre. |
isObject() |
Affirme que le type du sujet est un objet. |
isString() |
Affirme que le type du sujet 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
Échoue immédiatement au test actuel 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 mises en bac à sable. L'API fictive peut être utilisée dans le code du modèle, mais elle n'est opérationnelle qu'en mode test.
Les mocks sont réinitialisés 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. Il s'agit de la même chaîne que celle transmise à require(). |
returnValue |
tous | Valeur à renvoyer pour l'API ou fonction appelée à la place de l'API. Si returnValue est une fonction, elle est appelée à la place de l'API bac à sable. Si returnValue est autre chose qu'une fonction, cette valeur est renvoyée à la place de l'API bac à sable. |
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 bac à sable qui renvoient un objet. L'API 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 mocks sont réinitialisés 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. Il s'agit de la même chaîne que celle transmise à require(). |
objectMock |
object | Valeur à renvoyer pour l'API ou 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 |
object | 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'});