API principales
Ces API utilisent le code JavaScript de 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é est 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é. Par conséquent, l'écouteur ne sera pas appelé si un type de consentement non défini est remplacé par "Accordé". Les fonctions d'écouteur sont chargées de s'assurer que leur code s'exécute le nombre approprié de fois.
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ètres | 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é, il reçoit le type de consentement en cours de modification et la nouvelle valeur de ce type de consentement:
Paramètres | Type | Description |
---|---|---|
consentType |
chaîne | Type de consentement en cours de modification. |
granted |
boolean | Booléen qui est défini sur "true" si le type de consentement spécifié est remplacé par "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 invoqué lorsque toutes les balises de l'événement ont été exécutées ou si le 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ètres | 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 balises. Chaque balise déclenchée lors de l'événement sera associée à 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 sa durée d'exécution (executionTime ). Les données de la balise incluent également des métadonnées supplémentaires 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
), qui permet d'accepter certaines balises qui nécessitent des alias. Attribue la valeur de l'objet window
trouvé dans fromPath
à la clé de l'objet window
au niveau de toPath
. Renvoie true
en cas de réussite, et false
dans le cas contraire.
Syntaxe
aliasInWindow(toPath, fromPath)
Paramètres
Paramètres | Type | Description |
---|---|---|
toPath |
chaîne | Chemin d'accès séparé par un point dans l'objet window où une valeur doit être copiée. Tous les composants du chemin d'accès au dernier composant doivent déjà exister dans l'objet window . |
fromPath |
chaîne | Chemin d'accès séparé par un point dans window , vers la valeur à copier. 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, et fromPath
nécessite un accès en lecture.
callInWindow
Vous permet d'appeler des fonctions à partir d'un chemin situé en dehors de l'objet window
, de manière contrôlée par des règles. Appelle la fonction au chemin d'accès indiqué dans window
avec les arguments indiqués et renvoie la valeur. Si le type renvoyé ne peut pas être mappé directement sur un type compatible avec le code JavaScript de bac à sable, undefined
est renvoyé. Les huit types compatibles avec le code JavaScript de 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ètres | Type | Description |
---|---|---|
pathToFunction |
chaîne | Chemin d'accès à la fonction à appeler dans window , séparé par un point. |
args |
* | Arguments à transmettre à la fonction. |
Autorisations associées
access_globals
avec l'autorisation execute
activée.
callLater
Planifie un appel de fonction pour qu'il s'exécute 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ètres | 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 au niveau de 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 les autres cas.
Syntaxe
copyFromDataLayer(key[, dataLayerVersion])
Paramètres
Paramètres | Type | Description |
---|---|---|
key |
chaîne | Clé au format "a.b.c". |
dataLayerVersion |
nombre | Version de la couche de données facultative. La valeur par défaut est "2". Il est fortement déconseillé d'utiliser la valeur 1. |
Autorisations associées
copyFromWindow
Copie une variable à partir de l'objet window
. Si la valeur de window
ne peut pas être mappée directement à un type compatible avec le code JavaScript de bac à sable, undefined
est renvoyé. Les huit types compatibles avec le code JavaScript de 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ètres | Type | Description |
---|---|---|
key |
chaîne | Clé dans window dont vous souhaitez copier la valeur. |
Autorisations associées
createArgumentsQueue
Crée une file d'attente contenant des objets d'argument, pour assurer la compatibilité avec les solutions de tags qui l'exigent.
Crée une fonction dans un champ d'application global (par exemple, window
) à l'aide de l'argument fnKey
(même sémantique que createQueue
). Une fois la fonction créée, cette API crée 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 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
sur l'autorisation access_globals
.
Exemple :
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Syntaxe
createArgumentsQueue(fnKey, arrayKey)
Paramètres
Paramètres | 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 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 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 de la clé n'existe pas, une exception est générée. Autrement dit, si arrayKey est défini sur 'one.two' et qu'il n'existe pas d'objet global nommé 'one' , une exception sera générée. |
Autorisations associées
createQueue
Crée un tableau dans window
(s'il n'existe pas déjà) et renvoie une fonction qui transmet des valeurs à 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ètres | Type | Description |
---|---|---|
arrayKey |
chaîne | La clé dans window où le tableau est défini, si ce n'est pas déjà fait. 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 défini sur 'one.two' et qu'il n'existe pas d'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 qui représente l'URI décodé. Renvoie undefined
lorsqu'elle est fournie avec une entrée non valide.
Exemple :
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntaxe
decodeUri(encoded_uri)
Paramètres
Paramètres | Type | Description |
---|---|---|
encoded_uri |
chaîne | Un URI qui a été encodé à l'aide de encodeUri() ou par un autre moyen. |
Autorisations associées
Aucune
decodeUriComponent
Décode tous les caractères encodés dans le composant URI fourni. Renvoie une chaîne qui représente le composant URI décodé. Renvoie undefined
lorsqu'elle est fournie avec une entrée non valide.
Exemple :
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntaxe
decodeUriComponent(encoded_uri_component)
Paramètres
Paramètres | Type | Description |
---|---|---|
encoded_uri_component |
chaîne | Composant d'URI qui a été encodé à l'aide de encodeUriComponent() ou par un autre moyen. |
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'elle est fournie avec une entrée non valide (un substitut unique).
Exemple :
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Syntaxe
encodeUri(uri)
Paramètres
Paramètres | Type | Description |
---|---|---|
uri |
chaîne | Un 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'elle est fournie avec une entrée non valide (un substitut unique).
Exemple :
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Syntaxe
encodeUriComponent(str)
Paramètres
Paramètres | Type | Description |
---|---|---|
str |
chaîne | Composant d'un URI. |
Autorisations associées
Aucune
fromBase64
L'API fromBase64
vous permet de décoder les chaînes à partir de leur représentation en base64. Renvoie undefined
lorsque la valeur saisie n'est pas valide.
Syntaxe
fromBase64(base64EncodedString)
Paramètres
Paramètres | 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 aléatoire (entier) compris dans la plage donnée.
Syntaxe
generateRandom(min, max)
Paramètres
Paramètres | 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é comporte 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ètres | Type | Description |
---|---|---|
name |
chaîne | Nom du cookie. |
decode |
boolean | Détermine si les valeurs des cookies doivent être décodées avec
decodeURIComponent() de JavaScript. La valeur par défaut est true . |
Autorisations associées
getQueryParameters
Renvoie le premier ou tous les paramètres de l'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ètres | Type | Description |
---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
boolean | Indique s'il faut récupérer toutes les valeurs. |
Par exemple, si l'URL actuelle est https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
:
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 le queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getReferrerQueryParameters
L'API getReferrerQueryParameters
agit de la même manière que getQueryParameters
, sauf qu'elle agit sur l'URL de provenance plutôt que sur l'URL actuelle. Renvoie le premier ou tous les paramètres de l'queryKey
de l'URL de provenance donnée. Renvoie la première valeur de queryKey
ou un tableau de valeurs de queryKey
.
Syntaxe
getReferrerQueryParameters(queryKey[, retrieveAll])
Paramètres
Paramètres | Type | Description |
---|---|---|
queryKey |
chaîne | Clé à lire à partir des paramètres de requête. |
retrieveAll |
boolean | Indique s'il faut récupérer toutes les valeurs. |
Par exemple, si l'URL de provenance est https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
:
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 le queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getReferrerUrl
Avec un type de composant donné, l'API lit l'objet document à la recherche de l'URL de provenance et renvoie une chaîne représentant une partie de l'URL de provenance. Si aucun composant n'est spécifié, l'URL de provenance complète est renvoyée.
Syntaxe
getReferrerUrl([component])
Paramètres
Paramètres | Type | Description |
---|---|---|
component |
chaîne | Composant à renvoyer à partir de l'URL. Il peut s'agir de l'un des éléments suivants : protocol , host , port , path , query ou extension . Si component correspond à undefined ou null , ou ne correspond pas à l'un de ces composants, l'URL complète est renvoyée. |
Autorisations associées
get_referrer
doit autoriser le composant query
et spécifier le queryKey
dans les clés de requête autorisées (ou autoriser n'importe quelle clé de requête).
getTimestamp
Obsolète. Utilisez de préférence getTimestampMillis.
Renvoie un nombre qui représente l'heure actuelle en millisecondes depuis l'epoch Unix, telle que renvoyée par Date.now()
.
Syntaxe
getTimestamp();
Autorisations associées
Aucune
getTimestampMillis
Renvoie un nombre qui représente l'heure actuelle en millisecondes depuis l'epoch Unix, telle que renvoyée 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)
Notes
Le tableau suivant répertorie les chaînes renvoyées pour chaque valeur d'entrée.
Valeur d'entrée | Résultat |
---|---|
undefined |
"undefined" (non défini) |
null |
"null" |
true |
'boolean' |
12 |
'number' |
'string' |
'chaîne' |
{ a: 3 } |
objet |
[ 1, 3 ] |
"tableau" |
(x) => x + 1 |
"function" |
Autorisations associées
Aucune
getUrl
Renvoie une chaîne qui représente 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ètres | 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 ou null , ou s'il ne correspond pas à l'un de ces composants, la valeur href complète est renvoyée. |
Autorisations associées
gtagSet
Envoie une commande gtag set à la couche de données pour qu'elle soit traitée dès que possible après que l'événement en cours et toutes les balises déclenchées sont terminés (ou après que le délai de traitement des balises est atteint). Le traitement de la mise à jour dans ce conteneur est garanti 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 lors de l'initialisation du consentement, la mise à jour est appliquée avant le traitement de l'événement d'initialisation. Par exemple, ads_data_redaction
peut être défini sur true
, false
, ou url_passthrough
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ètres | Type | Description |
---|---|---|
Object |
objet | Objet qui met à jour l'état global de ses propriétés. |
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 dans gtagSet
est un objet brut, 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 sur foo.bar
).
Si l'entrée dans gtagSet
est une clé et une valeur d'objet non simple, l'API vérifie l'autorisation d'écriture sur cette clé. Par exemple, pour gtagSet('abc', true)
, l'API vérifie l'autorisation d'écriture pour 'abc'
.
Notez qu'en cas de cycle dans l'objet d'entrée, seules les clés antérieures au même objet sont 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ètres | Type | Description |
---|---|---|
url |
chaîne | URL à utiliser comme valeur de l'attribut src de l'iFrame. |
onSuccess |
function | Appelée lorsque le frame se charge correctement. |
Autorisations associées
injectScript
Ajoute un tag 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ètres | Type | Description |
---|---|---|
url |
chaîne | Adresse du script à injecter. |
onSuccess |
function | Appelée lorsque le script se charge correctement. |
onFailure |
function | Appelée en cas d'échec de chargement du script. |
cacheToken |
chaîne | Chaîne facultative indiquant 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 JavaScript. Toute tentative supplémentaire de chargement entraînera la mise en file d'attente des méthodes onSuccess et onFailure données jusqu'au chargement du script. |
Autorisations associées
isConsentGranted
Renvoie la valeur "true" si le type de consentement spécifié est accordé.
Le consentement pour un type de consentement particulier est considéré comme accordé s'il a été défini sur "accordé" ou s'il n'est pas défini du tout. Si le type de consentement est défini sur une autre valeur, il sera considéré comme non accordé.
L'interface utilisateur de Tag Manager pour les paramètres des balises propose une option de déclenchement permanent. Si une balise pour laquelle l'option "Toujours activé" est activée utilise cette API, le consentement est considéré comme accordé et le code 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ètres | Type | Description |
---|---|---|
consentType |
chaîne | Type de consentement pour lequel 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écrit par la chaîne. Si la valeur ne peut pas être analysée (par exemple, si le format du fichier JSON est incorrect), la fonction renvoie undefined
. Si la valeur d'entrée n'est pas une chaîne, l'entrée sera convertie de force en chaîne.
La fonction stringify()
convertit l'entrée en chaîne JSON. Si la valeur ne peut pas être analysée (par exemple, si l'objet a un cycle), la méthode renvoie undefined
.
Syntaxe
JSON.parse(stringInput)
JSON.stringify(value);
Paramètres
JSON.parse
Paramètres | Type | Description |
---|---|---|
stringInput | tous | Valeur à convertir. Si la valeur n'est pas une chaîne, l'entrée sera convertie de force en chaîne. |
JSON.stringify
Paramètres | 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
Enregistre les arguments dans la console du navigateur.
Syntaxe
logToConsole(obj1 [, obj2,... objN])
Paramètres
Paramètres | Type | Description |
---|---|---|
obj1 [, obj2,... objN] |
tous | Arguments |
Autorisations associées
makeInteger
Convertit la valeur donnée en nombre (entier).
Syntaxe
makeInteger(value)
Paramètres
Paramètres | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune
makeNumber
Convertit la valeur donnée en nombre.
Syntaxe
makeNumber(value)
Paramètres
Paramètres | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune
makeString
Renvoie la valeur donnée en tant que chaîne.
Syntaxe
makeString(value)
Paramètres
Paramètres | Type | Description |
---|---|---|
value |
tous | Valeur à convertir. |
Autorisations associées
Aucune
makeTableMap
Convertit un objet de table simple avec 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 table:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
dans une carte:
{
'k1': 'v1',
'k2': 'v2'
}
Renvoie un objet: la valeur Map
convertie si des paires clé/valeur y ont été ajoutées, ou la valeur null
dans le cas contraire.
Syntaxe
makeTableMap(tableObj, keyColumnName, valueColumnName)
Paramètres
Paramètres | Type | Description |
---|---|---|
tableObj |
Liste | Objet table à convertir. Il s'agit d'une liste de cartes, où chaque Map représente une ligne de la table. Chaque nom de propriété dans un objet de ligne correspond au nom de la colonne, et la valeur de la propriété correspond à 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. Elle 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 en objet.
La méthode values()
fournit le comportement Object.values() de la bibliothèque standard. Elle renvoie un tableau contenant les 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 en objet.
La méthode entries()
fournit le comportement Object.entries() de la bibliothèque standard. Elle renvoie un tableau des paires de propriétés énumérables ([key, value]
) 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 en objet.
La méthode freeze()
fournit le comportement Object.freeze() de la bibliothèque standard. Un objet figé ne peut plus être modifié. Le gel 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 un argument nul est traité comme s'il s'agissait d'un objet figé, et il est 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 pour 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. Il diffère toutefois de l'opérateur de suppression de la bibliothèque standard par les caractéristiques suivantes:
keyToDelete
ne peut pas être une chaîne délimitée par des points spécifiant une clé imbriquée.delete()
ne permet pas de 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ètres | Type | Description |
---|---|---|
objectInput | tous | Objet dont les clés à énumérer. Si l'entrée n'est pas un objet, elle sera forcée en objet. |
Object.values
Paramètres | 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 objet. |
Object.entries
Paramètres | Type | Description |
---|---|---|
objectInput | tous | Objet dont les paires clé/valeur à énumérer. Si l'entrée n'est pas un objet, elle sera forcée en objet. |
Object.freeze
Paramètres | 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ètres | Type | Description |
---|---|---|
objectInput | tous | Objet dont la clé doit être supprimée. |
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 tous les composants d'une URL donnée, semblable à l'objet URL
.
Cette API renvoie undefined
pour toute URL dont le format est incorrect. Pour les URL correctement mises en forme, les champs non présents dans la chaîne d'URL auront la valeur d'une chaîne vide ou, dans le cas de searchParams
, d'un objet vide.
L'objet renvoyé contiendra 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ètres | 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 boolean: true
si une autorisation est accordée, false
dans le cas contraire.
Syntaxe
queryPermission(permission, functionArgs*)
Paramètres
Paramètres | 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 la 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 demander si l'URL entière peut être lue. Pour demander si un composant donné peut être lu, transmettez le nom du composant en tant que 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
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é à partir de votre programme. Renvoie undefined si le navigateur n'accepte pas la fonction intégrée.
Syntaxe
require(name)
Paramètres
Paramètres | 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 au point de terminaison d'URL spécifié.
Syntaxe
sendPixel(url, onSuccess, onFailure)
Paramètres
Paramètres | Type | Description |
---|---|---|
url |
chaîne | Où envoyer le pixel. |
onSuccess |
function | Appelée lorsque le pixel est correctement chargé. Remarque: Même si la requête aboutit, les navigateurs peuvent exiger une réponse d'image valide pour s'exécuter onSuccess. |
onFailure |
function | Appelée en cas d'échec de chargement du pixel. Remarque: Même si la requête aboutit, 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ètres | Type | Description |
---|---|---|
name |
chaîne | Nom du cookie. |
value |
chaîne | Valeur du cookie. |
options |
objet | Spécifie les attributs "Domain" (Domaine), "Path" (Chemin d'accès), "Expire" (Expiration), "Max-Age", "Secure" (Sécuriser) et "SameSite". (Voir Options ci-dessous.) |
encode |
boolean | Détermine 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 cette opération échoue, il essaiera successivement des sous-domaines plus restreints. Si toutes ces étapes échouent, il essaiera d'écrire le cookie sans domaine. Si aucune valeur n'est définie, une tentative d'écriture du cookie sera effectuée sans spécifier de domaine. Remarque: Lorsqu'un cookie sans domaine spécifié est écrit surdocument.cookie
, le user-agent définit par défaut le domaine du cookie sur l'hôte de l'emplacement actuel du document. - Chemin:défini par
options['path']
, le cas échéant. Lorsqu'un cookie sans chemin d'accès spécifié est écrit dansdocument.cookie
, le user-agent utilise par défaut le chemin d'accès du cookie à l'emplacement actuel du document. - Max-Age:défini par
options['max-age']
, le cas échéant. - Expiration:définie par
options['expires']
, le cas échéant. S'il est présent, il doit s'agir d'une chaîne de date au format UTC.Date.toUTCString()
permet de mettre en forme uneDate
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
setDefaultConsentState
Envoie une mise à jour du consentement par défaut à la couche de données, pour qu'elle soit traitée dès que possible une fois que l'événement en cours et toutes les balises déclenchées sont terminés (ou après que le délai de traitement des balises est atteint). Le traitement de la mise à jour dans ce conteneur est garanti 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ètres | Type | Description |
---|---|---|
consentSettings |
objet | Objet qui définit l'état par défaut pour les types de consentement spécifiés. |
L'objet consentSettings
est un mappage de chaînes de type de consentement arbitraires sur 'granted'
ou 'denied'
. Elle 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 cette valeur sur "undefined" n'aura aucun effet sur la 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 de région sont exprimés au format ISO 3166-2 à l'aide du pays et/ou des subdivisions. |
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
au niveau de 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 boolean: true
si la valeur a bien été définie, et false
dans le cas contraire.
Syntaxe
setInWindow(key, value, overrideExisting)
Paramètres
Paramètres | Type | Description |
---|---|---|
key |
chaîne | Clé dans window à laquelle placer la valeur. |
value |
* | Valeur à définir dans window . |
overrideExisting |
boolean | L'option indiquant que cette valeur doit être définie dans window , qu'elle contienne ou non une valeur. |
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ètres | Type | Description |
---|---|---|
input |
chaîne | Chaîne pour laquelle le hachage doit être calculé. |
onSuccess |
function | Appelée avec le condensé obtenu, encodé en base64, sauf si l'objet options spécifie un encodage de sortie différent. |
onFailure |
function | Appelée si une erreur se produit lors du calcul du condensé ou si le navigateur n'est pas compatible en 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 pour spécifier l'encodage de sortie. S'il est spécifié, l'objet doit contenir la clé outputEncoding dont la valeur est 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 les données entre les exécutions d'un même modèle. Les données stockées dans le 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 une représentation en base64.
Syntaxe
toBase64(input)
Paramètres
Paramètres | 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, pour qu'elle soit traitée dès que possible après l'événement en cours et une fois le traitement des balises déclenchées (ou après expiration du délai de traitement des balises). Le traitement de la mise à jour dans ce conteneur est garanti 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ètres | 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 'granted'
ou 'denied'
. Elle 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 "accordé" ou "refusé". Toute valeur autre que "accordé" sera traitée comme "refusé". Définir cette valeur sur "undefined" n'a aucune incidence sur la 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 utilisent 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 mise en correspondance pouvant être utilisé pour effectuer facilement des assertions sur une API donnée.
Syntaxe
assertApi(apiName)
Paramètres
Paramètres | 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. Elle renvoie un objet qui peut être utilisé pour effectuer facilement des assertions sur la valeur d'un sujet. En cas d'échec d'une assertion, le test est immédiatement arrêté et 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ètres | Type | Description |
---|---|---|
actual |
tous | Valeur à utiliser dans les vérifications fluent. |
opt_message |
chaîne | Message facultatif à afficher en cas d'échec de l'assertion. |
Outils de mise en correspondance
Matcher | Description |
---|---|
isUndefined() |
Déclare que l'objet est undefined . |
isDefined() |
Déclare que l'objet n'est pas undefined . |
isNull() |
Déclare que l'objet est null . |
isNotNull() |
Déclare que l'objet n'est pas null . |
isFalse() |
Déclare que l'objet est false . |
isTrue() |
Déclare que l'objet est true . |
isFalsy() |
Affirme que l'objet est erroné. Les valeurs erronées sont undefined , null , false , NaN , 0 et '' (chaîne vide). |
isTruthy() |
Affirme que le sujet est honnête. Les valeurs erronées sont undefined , null , false , NaN , 0 et '' (chaîne vide). |
isNaN() |
Déclare que le sujet est la valeur NaN. |
isNotNaN() |
Déclare que l'objet est une valeur autre que NaN. |
isInfinity() |
Déclare que le sujet est l'infini positif ou négatif. |
isNotInfinity() |
Déclare que le sujet est une valeur autre que l'infini positif ou négatif. |
isEqualTo(expected) |
Déclare que l'objet est égal à la valeur donnée. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de référence. Le contenu des objets et des tableaux est comparé de manière récursive. |
isNotEqualTo(expected) |
Déclare 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 l'objet est égal à l'une des valeurs données. Il s'agit d'une comparaison de valeurs, et non d'une comparaison de référence. Le contenu des objets et des tableaux est comparé de manière récursive. |
isNoneOf(...expected) |
Déclare 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érence. Le contenu des objets et des tableaux est comparé de manière récursive. |
isStrictlyEqualTo(expected) |
Déclare que le sujet est strictement égal (=== ) à la valeur donnée. |
isNotStrictlyEqualTo(expected) |
Déclare que le sujet n'est pas strictement égal (!== ) à la valeur donnée. |
isGreaterThan(expected) |
Déclare que le sujet est supérieur à (> ) la valeur donnée dans une comparaison ordonnée. |
isGreaterThanOrEqualTo(expected) |
Déclare que le sujet est supérieur ou égal à (>= ) la valeur donnée dans une comparaison ordonnée. |
isLessThan(expected) |
Déclare que le sujet est inférieur à (< ) la valeur donnée dans une comparaison ordonnée. |
isLessThanOrEqualTo(expected) |
Déclare que le sujet est inférieur ou égal à (<= ) la valeur donnée dans une comparaison ordonnée. |
contains(...expected) |
Déclare 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érence. 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 ne contenant aucune des valeurs données. 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. |
containsExactly(...expected) |
Déclare que le sujet 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érence. Le contenu des objets et des tableaux est comparé de manière récursive. |
doesNotContainExactly(...expected) |
Déclare que le sujet est un tableau contenant un ensemble de valeurs différent des valeurs données, dans n'importe quel ordre. 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. |
hasLength(expected) |
Déclare que le sujet 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 le sujet 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() |
Déclare que le sujet 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 ni une chaîne. |
isArray() |
Déclare que le type de l'objet est un tableau. |
isBoolean() |
Déclare que le type de l'objet est une valeur booléenne. |
isFunction() |
Déclare que le type de l'objet est une fonction. |
isNumber() |
Déclare que le type de l'objet est un nombre. |
isObject() |
Déclare que le type de l'objet est un objet. |
isString() |
Déclare 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
Échec immédiat du test en cours et imprime le message donné, s'il est fourni.
Syntaxe
fail(opt_message);
Paramètres
Paramètres | Type | Description |
---|---|---|
opt_message |
chaîne | Texte du message d'erreur facultatif. |
Exemple
fail('This test has failed.');
mock
L'API mock
vous permet d'ignorer le comportement des API en bac à sable. L'API fictive peut être utilisée en toute sécurité dans le code du modèle, mais elle n'est pas opérationnelle en mode test. Les simulations sont réinitialisées avant chaque test.
Syntaxe
mock(apiName, returnValue);
Paramètres
Paramètres | Type | Description |
---|---|---|
apiName |
chaîne | Nom de l'API à simuler (la 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, elle est appelée à la place de l'API en bac à sable. Si returnValue est autre qu'une fonction, cette valeur est renvoyée à la place de l'API en bac à sable. |
Exemples
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
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ètres | 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 variable. Renvoie undefined
pour tous les autres types de modèles.
Exemple
runCode({field1: 123, field2: 'value'});