API de modèles personnalisés

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 sont 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 é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 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 à invoquer à 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

read_event_metadata


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. Il attribue la valeur de l'objet window trouvé au niveau du fromPath à la clé de l'objet window au niveau de 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

Vous permet d'appeler des fonctions à partir d'un chemin depuis l'objet window, de manière contrôlée par des règles. Appelle la fonction au niveau du chemin d'accès indiqué dans window avec les arguments fournis 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, séparé par un point, à la fonction dans window à appeler.
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

read_data_layer


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

access_globals


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 défini sur '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 est compatible avec la notation par points standard. Si le chemin d'accès de la clé n'existe pas, une exception est générée. Autrement dit, si arrayKey a la valeur 'one.two' et qu'il n'existe pas d'objet global nommé 'one', une exception est générée.

Autorisations associées

access_globals


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 de la clé n'existe pas, une exception est générée. Par exemple, si arrayKey est 'one.two' et qu'il n'y a pas d'objet global nommé 'one', une exception sera générée.

Autorisations associées

access_globals


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 si 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 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

read_container_data


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

get_cookies


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 doit 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 queryKey ou un tableau de valeurs du 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 de provenance complète 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 différence 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 s'il ne correspond pas à l'un de ces composants, l'intégralité de la valeur href est renvoyée.

Autorisations associées

get_url


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 sera 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 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

inject_hidden_iframe


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

inject_script


isConsentGranted

Renvoie la valeur "true" si le type de consentement 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 toute autre valeur, il sera considéré comme non accordé.

L'interface utilisateur de Tag Manager pour les paramètres des balises vous proposera une option de déclenchement systématique. Si une balise avec le paramètre "Toujours 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 l'état doit être vérifié.

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 une 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

access_local_storage

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

logging


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. Cela permet de modifier un champ de modèle SIMPLE_TABLE comportant 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 "row" correspond au nom de la colonne, et la valeur de la propriété à 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. Elle renvoie un tableau contenant les propres noms de propriété énumérables d'un objet donné, dans l'ordre dans lequel une boucle for...in... le ferait. 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 figé ne peut plus être modifié. Figer 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 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 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 du champ d'application global.

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 forcée en 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 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 non présents dans la chaîne d'URL auront pour valeur une chaîne vide ou, dans le cas de searchParams, un 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 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é é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 en tant que 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

read_character_set


readTitle

Renvoie la valeur de document.title.

Syntaxe

readTitle()

Paramètres

Aucune.

Autorisations associées

read_title


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 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

send_pixel


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.

Options

  • 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. En cas d'échec, il essaiera successivement de sous-domaines plus restreints. 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 dans document.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 dans document.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 un Date pour ce paramètre.
  • Sécurisé:défini par options['secure'], le cas échéant.
  • SameSite:défini par options['samesite'], le cas échéant.

Autorisations associées

set_cookies


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 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 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 régionaux spécifiant 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

access_globals


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

access_template_storage

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 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 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 pour les 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 cette valeur sur "undefined" n'a aucune incidence 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.


API de test

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 des 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'affecte 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 de 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() Il affirme que le sujet est faux. Les valeurs fausses sont undefined, null, false, NaN, 0 et '' (chaîne vide).
isTruthy() Il affirme que le sujet est véridique. Les valeurs fausses sont undefined, null, false, NaN, 0 et '' (chaîne vide).
isNaN() Déclare que le sujet 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éclare 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) 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érence. Le contenu des objets et des tableaux est comparé de manière récursive.
isAnyOf(...expected) Déclare 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) 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) Désigne que le sujet est inférieur (<) à la valeur donnée dans une comparaison ordonnée.
isLessThanOrEqualTo(expected) Désigne que le sujet 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) Déclare 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() Déclare 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() Désigne que le type du sujet est une valeur booléenne.
isFunction() Affirme que le type de l'objet est une fonction.
isNumber() Affirme que le type de l'objet est un nombre.
isObject() Déclarer que le type du sujet 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 qu'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'});