API principali
Queste API funzionano con JavaScript con sandbox per creare modelli personalizzati in Google
Tag Manager. Ogni API viene aggiunta con un'istruzione require()
, ad esempio:
const myAPI = require('myAPI');
addConsentListener
Registra una funzione listener da eseguire quando lo stato del consenso specificato modifiche ai tipi.
Il listener specificato verrà richiamato ogni volta che lo stato per l'elemento il tipo di consenso cambia da negato a concesso o da concesso a negato. Un consenso tipo senza stato viene considerato concesso, quindi il listener non verrà chiamato se il tipo di consenso non configurato viene aggiornato in concesso. Le funzioni listener saranno addebitate di garantire che il loro codice venga eseguito il numero di volte appropriato.
Esempio:
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);
});
}
Sintassi
addConsentListener(consentType, listener)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
consentType |
stringa | Il tipo di consenso per il quale rimanere in ascolto dei cambiamenti dello stato. |
listener |
funzione | La funzione da eseguire quando lo stato del tipo di consenso specificato modifiche. |
Quando viene richiamato un listener, gli verrà trasmesso il tipo di consenso che viene modificata e il nuovo valore di quel tipo di consenso:
Parametro | Tipo | Descrizione |
---|---|---|
consentType |
stringa | Il tipo di consenso che viene modificato. |
granted |
booleano | Un valore booleano che è vero se il tipo di consenso specificato viene modificato concesso. |
Autorizzazioni associate
Autorizzazione access_consent
con accesso in lettura per il tipo di consenso.
addEventCallback
L'API addEventCallback
ti consente di registrare una funzione di callback che
essere richiamato al termine di un evento. Il callback verrà attivato quando tutte le
i tag per l'evento sono stati eseguiti o se viene raggiunto il timeout degli eventi in-page.
Il callback vengono passati due valori: l'ID del container che richiama il metodo
e un oggetto che contiene informazioni sull'evento.
Sintassi
addEventCallback(callback)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
callback |
funzione | La funzione da richiamare al termine dell'evento. |
L'oggetto eventData
contiene i seguenti dati:
Nome chiave | Tipo | Descrizione |
---|---|---|
tags |
Array | Un array di oggetti dati tag. Ogni tag attivato durante l'evento
avrà una voce in questo array. L'oggetto dati tag contiene
l'ID del tag (id ), il relativo stato di esecuzione
(status ) e il relativo tempo di esecuzione
(executionTime ). I dati del tag includeranno anche
i metadati del tag configurati nel tag. |
Esempio
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Autorizzazioni associate
aliasInWindow
L'API aliasInWindow
consente di creare un alias (ad es. window.foo =
window.bar
) per supportare determinati tag che richiedono alias. Assegna
il valore nell'oggetto window
trovato in fromPath
alla chiave nella
Oggetto window
in corrispondenza di toPath
. Restituisce true
in caso di esito positivo, false
negli altri casi.
Sintassi
aliasInWindow(toPath, fromPath)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
toPath |
stringa | Un percorso separato da punti nell'oggetto window in cui è presente un valore
in cui eseguire la copia. Tutti i componenti nel percorso fino all'ultimo componente
Deve già esistere nell'oggetto window . |
fromPath |
stringa | Un percorso separato da punti in window al valore da copiare. Se
Il valore non esiste, l'operazione non riuscirà. |
Esempio
aliasInWindow('foo.bar', 'baz.qux')
Autorizzazioni associate
access_globals
è obbligatorio sia per toPath
che per fromPath
. toPath
richiede accesso in scrittura, fromPath
richiede accesso in lettura.
callInWindow
Consente di chiamare le funzioni da un percorso all'esterno dell'oggetto window
, in un criterio
in modo controllato. Richiama la funzione nel percorso specificato in window
con
argomenti e restituisce il valore. Se il tipo restituito non può essere mappato direttamente
un tipo supportato in JavaScript con sandbox, verrà restituito undefined
. La
otto tipi supportati in JavaScript con sandbox sono null
, undefined
,
boolean
, number
, string
, Array
, Object
e function
. Se l'elemento
il percorso non esiste o non fa riferimento a una funzione, undefined
sarà
restituito.
Sintassi
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
pathToFunction |
stringa | Un percorso separato da punti alla funzione in window in
chiamata. |
args |
* | Argomenti da passare alla funzione. |
Autorizzazioni associate
access_globals
con l'autorizzazione execute
abilitata.
callLater
Pianifica una chiamata a una funzione in modo che avvenga in modo asincrono. La funzione sarà
dopo che è stato restituito il codice attuale. Equivale a
setTimeout(<function>, 0)
.
Sintassi
callLater(function)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
function |
funzione | La funzione da chiamare. |
copyFromDataLayer
Restituisce il valore attualmente assegnato alla chiave specificata nel livello dati:
valore trovato nella chiave specificata se si tratta di un tipo, una funzione o un oggetto primitivo
letterale o undefined
in caso contrario.
Sintassi
copyFromDataLayer(key[, dataLayerVersion])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
key |
stringa | La chiave nel formato "a.b.c". |
dataLayerVersion |
numero | I dati facoltativi encoder-decoder. Il valore predefinito è 2. È vivamente sconsigliato utilizza il valore 1. |
Autorizzazioni associate
copyFromWindow
Copia una variabile dall'oggetto window
. Se il valore in window
non può essere
direttamente mappata a un tipo supportato in JavaScript con sandbox, undefined
verrà
restituito. Gli otto tipi supportati in JavaScript con sandbox sono null
,
undefined
, boolean
, number
, string
, Array
, Object
e function
.
Restituisce il valore recuperato (e forzato).
Sintassi
copyFromWindow(key)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
key |
stringa | La chiave in window di cui copiare il valore. |
Autorizzazioni associate
createArgumentsQueue
Crea una coda popolata con oggetti di argomento a supporto del tag soluzioni che lo richiedono.
Crea una funzione in ambito globale (ad es. window
), utilizzando l'argomento fnKey
(stessa semantica di createQueue
). Dopo aver creato la funzione, questa API
crea un array in window
(se non esiste già) utilizzando arrayKey
.
Quando viene chiamata la funzione creata in fnKey
, esegue il push dei suoi argomenti
nell'array creato in arrayKey
. Il valore restituito dell'API è
funzione creata in fnKey
.
Questa funzione richiede l'impostazione di lettura e scrittura per fnKey
e arrayKey
su
l'autorizzazione access_globals
.
Esempio:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Sintassi
createArgumentsQueue(fnKey, arrayKey)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
fnKey |
stringa | Il percorso in window in cui è impostata la funzione, se presente
non esistono già. Questo argomento supporta la notazione punto standard. Se
percorso della chiave non esiste. Viene generata un'eccezione. Ossia, se
fnKey è 'one.two' , verrà generato un
. |
arrayKey |
stringa | Il percorso in window in cui è impostato l'array, se non è così
esistono già. Questo argomento supporta la notazione punto standard. Se
percorso della chiave non esiste. Viene generata un'eccezione. Ossia, se
arrayKey è 'one.two' e non esistono
oggetto globale denominato 'one' , verrà generato un
. |
Autorizzazioni associate
createQueue
Crea un array in window
(se non esiste già) e restituisce un
che eseguirà il push dei valori nell'array.
Questa funzione richiede l'impostazione di lettura e scrittura per arrayKey
in
Autorizzazione access_globals
.
Esempio:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Sintassi
createQueue(arrayKey)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
arrayKey |
stringa | La chiave in window in cui è impostato l'array, in caso contrario
esistono già. Questo argomento supporta la notazione punto standard. Se
percorso della chiave non esiste. Viene generata un'eccezione. Ad esempio, se
arrayKey è 'one.two' e non esistono
oggetto globale denominato 'one' , verrà generato un
. |
Autorizzazioni associate
decodeUri
Decodifica tutti i caratteri codificati nell'URI fornito. Restituisce una stringa che
rappresenta l'URI decodificato. Restituisce undefined
se fornito con valore non valido
di testo.
Esempio:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintassi
decodeUri(encoded_uri)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
encoded_uri |
stringa | Un URI codificato da
encodeUri()
o con altri mezzi. |
Autorizzazioni associate
Nessuno.
decodeUriComponent
Decodifica tutti i caratteri codificati nel componente URI fornito. Restituisce un
string che rappresenta il componente URI decodificato. Restituisce undefined
quando
fornito con un input non valido.
Esempio:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintassi
decodeUriComponent(encoded_uri_component)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
encoded_uri_component |
stringa | Un componente URI che è stato codificato da
encodeUriComponent()
o con altri mezzi. |
Autorizzazioni associate
Nessuno.
encodeUri
Restituisce un URI (Uniform Resource Identifier) codificato convertendo in caratteri escape il codice
caratteri. Restituisce una stringa che rappresenta la stringa fornita codificata come
un URI. Restituisce undefined
se fornito con un input non valido (un solo surrogato).
Esempio:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Sintassi
encodeUri(uri)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
uri |
stringa | Un URI completo. |
Autorizzazioni associate
Nessuno.
encodeUriComponent
Restituisce un URI (Uniform Resource Identifier) codificato convertendo in caratteri escape il codice
caratteri. Restituisce una stringa che rappresenta la stringa fornita codificata come
un URI. Restituisce undefined
se fornito con un input non valido (un solo surrogato).
Esempio:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Sintassi
encodeUriComponent(str)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
str |
stringa | Componente di un URI. |
Autorizzazioni associate
Nessuno.
fromBase64
L'API fromBase64
ti consente di decodificare le stringhe dal loro formato Base64
una rappresentazione visiva. Restituisce undefined
se fornito con un input non valido.
Sintassi
fromBase64(base64EncodedString)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
base64EncodedString |
stringa | Stringa codificata Base64. |
Esempio
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Autorizzazioni associate
Nessuno
generateRandom
Restituisce un numero casuale (intero) all'interno dell'intervallo specificato.
Sintassi
generateRandom(min, max)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
min |
numero | Valore potenziale minimo del numero intero restituito. |
max |
numero | Valore potenziale massimo del numero intero restituito. |
Autorizzazioni associate
Nessuno.
getContainerVersion
Restituisce un oggetto contenente dati sul contenitore corrente. L'oggetto restituito contiene i seguenti campi:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Esempio
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);
}
}
Sintassi
getContainerVersion();
Autorizzazioni associate
getCookieValues
Restituisce i valori di tutti i cookie con il nome specificato.
Sintassi
getCookieValues(name[, decode])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
name |
stringa | Nome del cookie. |
decode |
booleano | Controlla se i valori dei cookie devono essere decodificati con
di JavaScript
decodeURIComponent() . Il valore predefinito è
true . |
Autorizzazioni associate
getQueryParameters
Restituisce il primo o tutti i parametri per l'elemento queryKey
dell'URL corrente.
Restituisce il primo valore da queryKey
o un array di valori dalla
queryKey
.
Sintassi
getQueryParameters(queryKey[, retrieveAll])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
queryKey |
stringa | La chiave da leggere dai parametri di query. |
retrieveAll |
booleano | Indica se recuperare tutti i valori. |
Ad esempio, se l'URL corrente è
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, poi:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Autorizzazioni associate
get_url
deve consentire il componente query
e deve specificare queryKey
in
le chiavi di query consentite (o consenti qualsiasi chiave di query).
getReferrerQueryParameters
L'API getReferrerQueryParameters
funziona allo stesso modo di getQueryParameters
,
ad eccezione del fatto che agisce sul referrer invece che sull'URL corrente. Restituisce il primo o
tutti i parametri per il valore queryKey
del referrer specificato. Restituisce il primo
valore da queryKey
o un array di valori da queryKey
.
Sintassi
getReferrerQueryParameters(queryKey[, retrieveAll])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
queryKey |
stringa | La chiave da leggere dai parametri di query. |
retrieveAll |
booleano | Indica se recuperare tutti i valori. |
Ad esempio, se l'URL del referrer è
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, poi:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Autorizzazioni associate
get_referrer
deve consentire il componente query
e deve specificare il
queryKey
nelle chiavi di query consentite (o consenti qualsiasi chiave di query).
getReferrerUrl
Dato il tipo di componente, l'API legge l'oggetto documento per il referrer e restituisce una stringa che rappresenta una parte del referrer. Se nessun componente è specificato, viene restituito l'URL referrer completo.
Sintassi
getReferrerUrl([component])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
component |
stringa | Il componente da restituire dall'URL. Può essere uno dei seguenti:
protocol , host , port
path , query e extension . Se
component è undefined , null o
non corrisponde a uno di questi componenti, l'intero URL verrà
restituito. |
Autorizzazioni associate
get_referrer
deve consentire il componente query
e deve specificare il
queryKey
nelle chiavi di query consentite (o consenti qualsiasi chiave di query).
getTimestamp
Obsoleta. Preferisci getTimestampMillis.
Restituisce un numero che rappresenta l'ora corrente in millisecondi a partire da Unix
come restituito da Date.now()
.
Sintassi
getTimestamp();
Autorizzazioni associate
Nessuno.
getTimestampMillis
Restituisce un numero che rappresenta l'ora corrente in millisecondi a partire da Unix
come restituito da Date.now()
.
Sintassi
getTimestampMillis();
Autorizzazioni associate
Nessuno.
getType
Restituisce una stringa che descrive il tipo di valore specificato. A differenza di typeof
,
getType
fa distinzione tra array
e object
.
Sintassi
getType(data.someField)
Note
Nella tabella seguente sono elencate le stringhe restituite per ogni valore di input.
Valore input | Risultato |
---|---|
undefined |
'undefined' |
null |
'null' |
true |
'booleano' |
12 |
'numero' |
'string' |
'stringa' |
{ a: 3 } |
'oggetto' |
[ 1, 3 ] |
"array" |
(x) => x + 1 |
'funzione' |
Autorizzazioni associate
Nessuno.
getUrl
Restituisce una stringa che rappresenta tutto o una parte dell'URL corrente, una volta un tipo di componente e alcuni parametri di configurazione.
Sintassi
getUrl(component)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
component |
stringa | Il componente da restituire dall'URL. Deve essere uno dei seguenti:
protocol , host , port
path , query , extension
fragment . Se il componente è undefined ,
null , o non corrisponde a uno di questi componenti,
verrà restituito l'intero valore href . |
Autorizzazioni associate
gtagSet
Esegue il push di un comando gtag set al livello dati, per essere elaborato non appena possibile dopo che l'evento corrente e tutti i tag attivati sono terminati nell'elaborazione (o quando viene raggiunto il timeout di elaborazione dei tag). L'aggiornamento è garantito deve essere elaborato in questo container prima di qualsiasi elemento in coda nel livello dati in coda.
Ad esempio, se viene chiamato da un tag attivato su Inizializzazione del consenso, il parametro
l'aggiornamento verrà applicato prima dell'elaborazione dell'evento di inizializzazione. Esempi
il valore ads_data_redaction
verrebbe impostato su true
, false
o url_passthrough
impostato su true
o false
.
Esempi:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Sintassi
gtagSet(object)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
Object |
oggetto | Un oggetto che aggiorna lo stato globale per le proprietà che la contengono. |
Autorizzazioni associate
write_data_layer
controlla l'autorizzazione di scrittura su dataLayer
per tutte
le chiavi specificate. Se l'input in gtagSet
è un oggetto semplice, l'API controllerà
per l'autorizzazione di scrittura per tutte le chiavi appiattite all'interno dell'oggetto, ad esempio della
gtagSet({foo: {bar: 'baz'}})
, l'API controllerà la scrittura
l'autorizzazione per foo.bar
.
Se l'input in gtagSet
è una chiave e un valore di oggetto non semplice, l'API
verifica il permesso di scrittura per quella chiave, ad esempio per gtagSet('abc', true)
,
l'API verificherà la presenza dell'autorizzazione di scrittura per 'abc'
.
Tieni presente che se c'è un ciclo nell'oggetto di input, solo i tasti prima di raggiungere il lo stesso oggetto verrà controllato.
injectHiddenIframe
Aggiunge un iframe invisibile alla pagina.
I callback vengono forniti come istanze di funzione e sono aggregati in JavaScript funzioni che le richiamano.
Sintassi
injectHiddenIframe(url, onSuccess)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
url |
stringa | L'URL da utilizzare come valore dell'elemento src dell'iframe
. |
onSuccess |
funzione | Richiamato quando il frame viene caricato correttamente. |
Autorizzazioni associate
injectScript
Aggiunge un tag script alla pagina per caricare l'URL specificato in modo asincrono. La i callback vengono forniti come istanze di funzione e sono aggregati in JavaScript funzioni che le richiamano.
Sintassi
injectScript(url, onSuccess, onFailure[, cacheToken])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
url |
stringa | L'indirizzo dello script da inserire. |
onSuccess |
funzione | Richiamato quando lo script viene caricato correttamente. |
onFailure |
funzione | Richiamato se il caricamento dello script non riesce. |
cacheToken |
stringa | Stringa facoltativa utilizzata per indicare che l'URL specificato deve essere memorizzato nella cache. Se
questo valore viene specificato, verrà creato un solo elemento script
richiedere il codice JavaScript. Eventuali ulteriori tentativi di caricamento comporteranno
i metodi onSuccess e onFailure specificati
vengono messi in coda fino al caricamento dello script. |
Autorizzazioni associate
isConsentGranted
Restituisce true se viene concesso il tipo di consenso specificato.
Il consenso per un determinato tipo di consenso viene considerato concesso se il consenso è stato impostato su "granted" o non essere impostato. Se il tipo di consenso è impostato su qualsiasi altro valore da considerare non concesso.
L'interfaccia utente di Tag Manager per le impostazioni dei tag offre un'opzione per
fuoco. Se un tag con l'opzione Attivazione sempre attivata utilizza questa API, il consenso viene preso in considerazione
concesso e verrà restituito true
, indipendentemente dallo stato effettivo del consenso.
Esempio:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Sintassi
isConsentGranted(consentType)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
consentType |
stringa | Il tipo di consenso di cui controllare lo stato. |
Autorizzazioni associate
Autorizzazione access_consent
con accesso in lettura per il tipo di consenso.
JSON
Restituisce un oggetto che fornisce funzioni JSON.
La funzione parse()
analizza una stringa JSON per creare il valore o l'oggetto
descritto dalla stringa. Se il valore non può essere analizzato (ad es. se il formato JSON non è valido),
la funzione restituirà undefined
. Se il valore di input non è una stringa, il valore
verrà forzato a formare una stringa.
La funzione stringify()
converte l'input in una stringa JSON. Se il valore
non può essere analizzato (ad es. l'oggetto ha un ciclo), il metodo restituisce
undefined
.
Sintassi
JSON.parse(stringInput)
JSON.stringify(value);
Parametri
JSON.parse
Parametro | Tipo | Descrizione |
---|---|---|
stringInput | qualsiasi | Il valore da convertire. Se il valore non è una stringa, l'input sarà forzata in una stringa. |
JSON.stringify
Parametro | Tipo | Descrizione |
---|---|---|
valore | qualsiasi | Il valore da convertire. |
Esempio
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
Restituisce un oggetto con metodi per accedere allo spazio di archiviazione locale.
Sintassi
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);
Autorizzazioni associate
Esempio
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
Registra gli argomenti nella console del browser.
Sintassi
logToConsole(obj1 [, obj2,... objN])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
obj1 [, obj2,... objN] |
qualsiasi | Argomenti |
Autorizzazioni associate
makeInteger
Converte il valore specificato in un numero (numero intero).
Sintassi
makeInteger(value)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
value |
qualsiasi | Il valore da convertire. |
Autorizzazioni associate
Nessuno.
makeNumber
Converte il valore specificato in un numero.
Sintassi
makeNumber(value)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
value |
qualsiasi | Il valore da convertire. |
Autorizzazioni associate
Nessuno.
makeString
Restituisce il valore specificato come stringa.
Sintassi
makeString(value)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
value |
qualsiasi | Il valore da convertire. |
Autorizzazioni associate
Nessuno.
makeTableMap
Converte un oggetto di tabella semplice con due colonne in un Map
. È utilizzato per
modifica un campo modello SIMPLE_TABLE
con due colonne in una più gestibile
formato.
Ad esempio, questa funzione potrebbe convertire un oggetto tabella:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
in una mappa:
{
'k1': 'v1',
'k2': 'v2'
}
Restituisce un oggetto: il valore Map
convertito se le coppie chiave-valore sono state aggiunte a
o null
in caso contrario.
Sintassi
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
tableObj |
Elenca | L'oggetto tabella da convertire. È un elenco di mappe in cui ogni
Map rappresenta una riga della tabella. Il nome di ogni proprietà in un
riga è il nome della colonna, mentre il valore della proprietà è la colonna
nella riga. |
keyColumnName |
stringa | Nome della colonna i cui valori diventeranno chiavi nella colonna
Map . |
valueColumnName |
stringa | Nome della colonna i cui valori diventeranno valori nella colonna
Map . |
Autorizzazioni associate
Nessuno.
Math
Un oggetto che fornisce funzioni Math
.
Sintassi
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);
Parametri
I parametri delle funzioni matematiche vengono convertiti in numeri.
Autorizzazioni associate
Nessuno.
Object
Restituisce un oggetto che fornisce metodi Object
.
Il metodo keys()
fornisce alla libreria standard Object.keys()
comportamento degli utenti. Restituisce un array della proprietà enumerabile di un determinato oggetto
nello stesso ordine di un loop for...in...
. Se il valore di input è
non è un oggetto, verrà forzato a trasformarlo in un oggetto.
Il metodo values()
fornisce alla libreria standard Object.values()
comportamento degli utenti. Restituisce un array dei valori delle proprietà enumerabili di un determinato oggetto
nello stesso ordine di un loop for...in...
. Se il valore di input non è un
verrà forzato a trasformarlo in un oggetto.
Il metodo entries()
fornisce alla libreria standard Object.entries()
comportamento degli utenti. Restituisce un array della proprietà enumerabile di un determinato oggetto
[key, value]
coppie nello stesso ordine di un ciclo for...in...
. Se
valore di input non è un oggetto, verrà forzato a trasformarlo in un oggetto.
Il metodo freeze()
fornisce alla libreria standard Object.freeze()
comportamento degli utenti. Un oggetto bloccato non può più essere modificato. il blocco di un oggetto impedisce
l'aggiunta di nuove proprietà, la rimozione di proprietà esistenti,
e i valori delle proprietà esistenti. freeze()
restituisce il valore
lo stesso oggetto che è stato passato. Un argomento primitivo o nullo verrà trattato come
se fosse un oggetto bloccato, e verrà restituito.
Il metodo delete()
fornisce l'operatore di eliminazione della libreria standard
comportamento degli utenti. La chiave specificata viene rimossa dall'oggetto, a meno che quest'ultimo non venga bloccato.
Come l'operatore di eliminazione della libreria standard, restituisce true
se il primo input
(objectInput
) è un oggetto che non viene bloccato anche se il secondo input
(keyToDelete
) specifica una chiave che non esiste. Restituisce false
in
tutti gli altri casi. Tuttavia, è diverso dall'operatore di eliminazione della libreria standard
nei seguenti modi:
keyToDelete
non può essere una stringa delimitata da punti che specifica una chiave nidificata.- Non è possibile utilizzare
delete()
per rimuovere elementi da un array. - Non è possibile utilizzare
delete()
per rimuovere proprietà dall'ambito globale.
Sintassi
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parametri
Object.keys
Parametro | Tipo | Descrizione |
---|---|---|
objectInput | qualsiasi | L'oggetto di cui enumerare le chiavi. Se l'input non è un oggetto, verrà forzato a un oggetto. |
Object.values
Parametro | Tipo | Descrizione |
---|---|---|
objectInput | qualsiasi | L'oggetto di cui enumerare i valori. Se l'input non è un oggetto, viene forzata a un oggetto. |
Object.entries
Parametro | Tipo | Descrizione |
---|---|---|
objectInput | qualsiasi | L'oggetto di cui enumerare le coppie chiave/valore. Se l'input non è un verrà forzato a trasformarlo in un oggetto. |
Object.freeze
Parametro | Tipo | Descrizione |
---|---|---|
objectInput | qualsiasi | L'oggetto da bloccare. Se l'input non è un oggetto, verrà trattato come un oggetto bloccato. |
Object.delete
Parametro | Tipo | Descrizione |
---|---|---|
objectInput | qualsiasi | L'oggetto di cui eliminare la chiave. |
keyToDelete | stringa | La chiave di primo livello da eliminare. |
Esempio
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
Restituisce un oggetto che contiene tutte le parti di un determinato URL, come in
l'oggetto URL
.
L'API restituirà undefined
per gli URL con formato non corretto. Per la formattazione corretta
Gli URL, i campi non presenti nella stringa dell'URL avranno il valore di una stringa vuota,
o, nel caso di searchParams
, un oggetto vuoto.
L'oggetto restituito avrà i seguenti campi:
{
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,
}
Esempio
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Sintassi
parseUrl(url);
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
url |
stringa | L'URL completo che verrà analizzato. |
Autorizzazioni associate
Nessuno.
queryPermission
Esegui una query sulle autorizzazioni consentite e limitate. Restituisce un booleano: true
se una
viene concessa l'autorizzazione, false
in caso contrario.
Sintassi
queryPermission(permission, functionArgs*)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
permission |
stringa | Nome dell'autorizzazione. |
functionArgs |
qualsiasi | Gli argomenti delle funzioni variano in base all'autorizzazione oggetto della query. Consulta: Argomenti funzione di seguito. |
Argomenti funzione
sendPixel
, injectScript
, injectHiddenIframe
: il secondo parametro
deve essere una stringa URL.
writeGlobals
, readGlobals
: il secondo parametro deve essere la chiave
o lette.
readUrl
: non sono necessari argomenti aggiuntivi per verificare se l'intero
L'URL può essere letto. Per eseguire una query sulla possibilità di leggere un determinato componente, passa il metodo
nome componente come secondo argomento:
if (queryPermission('readUrl','port')) {
// read the port
}
Per verificare se una specifica chiave di query è leggibile, passa la chiave di query come terzo parametro:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Autorizzazioni associate
Nessuno.
readCharacterSet
Restituisce il valore di document.characterSet
.
Sintassi
readCharacterSet()
Parametri
Nessuno.
Autorizzazioni associate
readTitle
Restituisce il valore di document.title
.
Sintassi
readTitle()
Parametri
Nessuno.
Autorizzazioni associate
require
Importa una funzione integrata per nome. Restituisce una funzione o un oggetto che è possibile chiamare dal tuo programma. Restituisce undefined quando il browser non supporta la funzione integrata.
Sintassi
require(name)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
name |
stringa | Il nome della funzione da importare. |
Esempio
const getUrl = require('getUrl');
const url = getUrl();
Autorizzazioni associate
Nessuno.
sendPixel
Effettua una richiesta GET a un endpoint URL specificato.
Sintassi
sendPixel(url, onSuccess, onFailure)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
url |
stringa | Dove inviare il pixel. |
onSuccess |
funzione | Richiamato quando il pixel viene caricato correttamente. Nota: anche se la richiesta viene inviato correttamente, i browser potrebbero richiedere una risposta all'immagine valida per suSuccess. |
onFailure |
funzione | Richiamato se il caricamento del pixel non riesce. Nota: anche se la richiesta invia correttamente, onFailure può essere eseguito se il server non restituisce risposta immagine valida. |
Autorizzazioni associate
setCookie
Imposta o elimina il cookie con il nome, il valore e le opzioni specificati.
Sintassi
setCookie(name, value[, options, encode])
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
name |
stringa | Nome del cookie. |
value |
stringa | Valore del cookie. |
options |
oggetto | Specifica il parametro Dominio, Attributi Path, Scade, Max-Age, Secure e SameSite. (vedi Opzioni di seguito). |
encode |
booleano | Controlla se il valore del cookie deve essere codificato con
di JavaScript
encodeURIComponent()
Il valore predefinito è true . |
- Dominio: impostato dalla proprietà
options['domain']
, se presente. Imposta questo valore a'auto'
per provare a scrivere il cookie utilizzando il dominio più ampio possibile, in base alla posizione del documento. Se non va a buon fine, il sistema tenterà in successione a sottodomini più stretti. Se il problema persiste, il sistema proverà a scrivere il cookie senza un dominio. Se non viene impostato alcun valore, verrà tentato di scrivere il cookie senza specificare un dominio. Nota: quando un cookie senza un dominio specificato è scritto indocument.cookie
, lo user agent utilizzerà per impostazione predefinita il dominio del cookie all'host della posizione attuale del documento. - Percorso: impostato da
options['path']
, se presente. Quando un cookie senza un percorso specificato è scritto indocument.cookie
, lo user agent utilizzerà per impostazione predefinita percorso del cookie al percorso della posizione attuale del documento. - Max-Age (Età massima): impostata da
options['max-age']
, se presente. - Scadenza: impostata da
options['expires']
, se presente. Se presente, deve essere una stringa di data nel formato UTC.Date.toUTCString()
può essere utilizzato per formattare unDate
per questo parametro. - Sicurezza:impostata da
options['secure']
, se presente. - SameSite: impostato da
options['samesite']
, se presente.
Autorizzazioni associate
setDefaultConsentState
Invia un aggiornamento predefinito del consenso al livello dati, da elaborare non appena possibile dopo che l'evento corrente e tutti i tag attivati sono terminati nell'elaborazione (o quando viene raggiunto il timeout di elaborazione dei tag). L'aggiornamento è garantito da elaborare in questo container prima di qualsiasi elemento in coda nel livello dati. Scopri di più sul consenso.
Esempio:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Sintassi
setDefaultConsentState(consentSettings)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
consentSettings |
oggetto | Un oggetto che definisce lo stato predefinito per il consenso specificato di testo. |
L'oggetto consentSettings
è una mappatura di stringhe di tipo di consenso arbitrario a
uno tra 'granted'
o 'denied'
. Supporta i seguenti valori:
Nome chiave | Tipo | Descrizione |
---|---|---|
consentType |
stringa | Il valore di ciascun tipo di consenso può essere impostato su "granted" o "denied". Qualsiasi valore diverso da "granted"" verrà trattato come "'denied'". Impostazione il valore "undefined" non avrà alcun effetto sul valore precedente. |
region |
Array | Un array facoltativo di codici regione che specifica quale regione le impostazioni relative al consenso. I codici regione vengono espressi utilizzando il paese e/o suddivisioni nel formato ISO 3166-2. |
wait_for_update |
numero | Specifica un valore in millisecondi per controllare quanto tempo attendere prima che i dati vengano inviate. Utilizzato con gli strumenti per il consenso che si caricano in modo asincrono. |
Autorizzazioni associate
Autorizzazione access_consent
con accesso in scrittura per tutti i tipi di consenso in
ConsentSettings.
setInWindow
Imposta il valore specificato in window
in base alla chiave specificata. Per impostazione predefinita,
Imposta il valore nel campo window
se è già presente un valore. Imposta
overrideExisting
su true
per impostare il valore nel criterio window
a prescindere dal
la presenza di un valore esistente. Restituisce un booleano: true
se il valore era
impostato correttamente e false
in caso contrario.
Sintassi
setInWindow(key, value, overrideExisting)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
key |
stringa | La chiave in window a cui assegnare il valore. |
value |
* | Il valore da impostare in window . |
overrideExisting |
booleano | Il flag che indica che il valore deve essere impostato in window
a prescindere dall'eventuale presenza o meno di un valore. |
Autorizzazioni associate
sha256
Calcola il digest SHA-256 dell'input e richiama un callback con il metodo
digest codificato in base64, a meno che l'oggetto options
specifichi un valore diverso
e la codifica dell'output.
Esempio:
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'});
Sintassi
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
input |
stringa | La stringa per cui calcolare l'hash. |
onSuccess |
funzione | Viene chiamato con il digest risultante, codificato in base64, a meno che il valore
L'oggetto options specifica una codifica di output diversa. |
onFailure |
funzione | Richiamato se si verifica un errore durante il calcolo del digest o se browser non dispone di supporto nativo per sha256. Il callback viene chiamato con un oggetto contenente il nome dell'errore e il messaggio. |
options |
oggetto | Oggetto opzioni facoltativo per specificare la codifica di output. Se
specificato, l'oggetto deve contenere la chiave outputEncoding
con il valore di base64 o hex . |
Autorizzazioni associate
Nessuno.
templateStorage
Restituisce un oggetto con metodi per accedere all'archiviazione dei modelli. Modello consente di condividere i dati tra le esecuzioni di un singolo modello. Dati archiviati nello spazio di archiviazione dei modelli vengono mantenuti per tutta la durata della pagina.
Sintassi
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Autorizzazioni associate
Esempio
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
consente di codificare una stringa in una rappresentazione base64.
Sintassi
toBase64(input)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
input |
stringa | Stringa da codificare. |
Esempio
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Autorizzazioni associate
Nessuno
updateConsentState
Invia un aggiornamento del consenso al livello dati, da elaborare il prima possibile dopo l'evento corrente e tutti i tag attivati hanno terminato l'elaborazione (o viene raggiunto il timeout di elaborazione dei tag). Garantiamo che l'aggiornamento elaborati in questo container prima di qualsiasi elemento in coda nel livello dati. Ulteriori informazioni sul consenso.
Esempio:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Sintassi
updateConsentState(consentSettings)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
consentSettings |
oggetto | Un oggetto che aggiorna lo stato per i tipi di consenso specificati. |
L'oggetto consentSettings
è una mappatura di stringhe di tipo di consenso arbitrario a
uno tra 'granted'
o 'denied'
. Supporta i seguenti valori:
Nome chiave | Tipo | Descrizione |
---|---|---|
consentType |
stringa | Il valore per ciascun tipo di consenso può essere impostato su "granted" o "negato". Qualsiasi valore diverso da "granted" verrà trattata come "negata". Impostazione il valore su "undefined" non avrà alcun effetto sul valore precedente. |
Autorizzazioni associate
Autorizzazione access_consent
con accesso in scrittura per tutti i tipi di consenso in
ConsentSettings.
Testa le API
Queste API funzionano con i test JavaScript con sandbox per creare test per
modelli in Google Tag Manager. Queste API di test non hanno bisogno di un require()
l'Informativa. Scopri di più sui test con modelli personalizzati.
assertApi
Restituisce un oggetto matcher che può essere utilizzato per fare rapidamente asserzioni relative all'oggetto un'API specifica.
Sintassi
assertApi(apiName)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
apiName |
stringa | Il nome dell'API da verificare. la stessa stringa passata
require()
|
Corrispondenza
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Esempi
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
L'API assertThat
è modellata in base alla libreria [Truth] di Google. Restituisce un valore
che può essere utilizzato per fare fluenti asserzioni sul valore di un soggetto. Un
l'errore dell'asserzione interromperà immediatamente il test e lo contrassegna come non riuscito. Tuttavia,
l'esito negativo di un test non influirà sugli altri scenari di test.
Sintassi
assertThat(actual, opt_message)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
actual |
qualsiasi | Il valore da utilizzare nei controlli fluenti. |
opt_message |
stringa | Messaggio facoltativo da stampare se l'asserzione non riesce. |
Corrispondenza
Corrispondenza | Descrizione |
---|---|
isUndefined() |
Dichiara che il soggetto è undefined . |
isDefined() |
Dichiara che il soggetto non è undefined . |
isNull() |
Dichiara che il soggetto è null . |
isNotNull() |
Dichiara che il soggetto non è null . |
isFalse() |
Dichiara che il soggetto è false . |
isTrue() |
Dichiara che il soggetto è true . |
isFalsy() |
Dichiara che il soggetto è falso. I valori falsi sono
undefined , null , false
NaN , 0 e "" (stringa vuota). |
isTruthy() |
Dichiara che l'oggetto è veritiero. I valori falsi sono
undefined , null , false
NaN , 0 e "" (stringa vuota). |
isNaN() |
Dichiara che il soggetto è il valore NaN. |
isNotNaN() |
Dichiara che il soggetto è qualsiasi valore diverso da NaN. |
isInfinity() |
Dichiara che il soggetto è un infinito positivo o negativo. |
isNotInfinity() |
Dichiara che il soggetto è qualsiasi valore diverso da positivo o negativo Infinito. |
isEqualTo(expected) |
Dichiara che il soggetto è uguale al valore specificato. Questo è un valore un confronto, non un confronto con i riferimenti. Il contenuto di oggetti e array vengono confrontate in modo ricorsivo. |
isNotEqualTo(expected) |
Dichiara che il soggetto non è uguale al valore specificato. Si tratta di un un confronto tra valori e non un confronto tra riferimenti. I contenuti di oggetti vengono confrontati in modo ricorsivo. |
isAnyOf(...expected) |
Dichiara che il soggetto è uguale a uno dei valori specificati. Si tratta di un un confronto tra valori e non un confronto tra riferimenti. I contenuti di oggetti vengono confrontati in modo ricorsivo. |
isNoneOf(...expected) |
Dichiara che il soggetto non è uguale a nessuno dei valori specificati. Questo un confronto tra valori, non riferimenti. I contenuti degli oggetti e gli array vengono confrontati in modo ricorsivo. |
isStrictlyEqualTo(expected) |
Dichiara che il soggetto è strettamente uguale (=== ) al
un determinato valore. |
isNotStrictlyEqualTo(expected) |
Dichiara che il soggetto non è esattamente uguale (!== ) a
il valore specificato. |
isGreaterThan(expected) |
Dichiara che il soggetto è superiore a (> ) il valore specificato
in un confronto ordinato. |
isGreaterThanOrEqualTo(expected) |
Dichiara che il soggetto è maggiore o uguale a
(>= ) il valore specificato in un confronto ordinato. |
isLessThan(expected) |
Dichiara che il soggetto è inferiore al valore specificato (< )
in un confronto ordinato. |
isLessThanOrEqualTo(expected) |
Dichiara che il soggetto è minore o uguale a (<= )
il valore specificato in un confronto ordinato. |
contains(...expected) |
Dichiara che il soggetto è un array o una stringa che contiene tutti i valori specificati in qualsiasi ordine. Questo è un confronto di valori, non un riferimento a confronto. I contenuti di oggetti e array vengono confrontati in modo ricorsivo. |
doesNotContain(...expected) |
Dichiara che il soggetto è un array o una stringa che non contiene nessuno di i valori specificati. Si tratta di un confronto di valori, non di un riferimento. I contenuti di oggetti e array vengono confrontati in modo ricorsivo. |
containsExactly(...expected) |
Dichiara che il soggetto è un array che contiene tutti i i valori in qualsiasi ordine e nessun altro valore. Si tratta di un confronto di valori, non di confronto tra i riferimenti. I contenuti di oggetti e array vengono confrontati in modo ricorsivo. |
doesNotContainExactly(...expected) |
Dichiara che il soggetto è un array contenente un set diverso di valori dai valori specificati in qualsiasi ordine. Questo è un confronto di valori, e non un confronto con i riferimenti. I contenuti di oggetti e array vengono in modo ricorsivo. |
hasLength(expected) |
Dichiara che il soggetto è un array o una stringa della lunghezza specificata. L'asserzione ha sempre esito negativo se il valore non è una matrice o una stringa. |
isEmpty() |
Dichiara che il soggetto è un array o una stringa vuota (length = 0). L'asserzione ha sempre esito negativo se il valore non è un array o stringa. |
isNotEmpty() |
Dichiara che il soggetto è un array o una stringa non vuota (lunghezza > 0). L'asserzione ha sempre esito negativo se il valore non è un array o una stringa. |
isArray() |
Dichiara che il tipo del soggetto è un array. |
isBoolean() |
Dichiara che il tipo del soggetto è un valore booleano. |
isFunction() |
Dichiara che il tipo del soggetto è una funzione. |
isNumber() |
Dichiara che il tipo del soggetto è un numero. |
isObject() |
Dichiara che il tipo del soggetto è un oggetto. |
isString() |
Dichiara che il tipo del soggetto è una stringa. |
Esempi
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
Non supera immediatamente il test corrente e stampa il messaggio specificato, se fornito.
Sintassi
fail(opt_message);
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
opt_message |
stringa | Testo facoltativo del messaggio di errore. |
Esempio
fail('This test has failed.');
mock
L'API mock
ti consente di ignorare il comportamento delle API con sandbox. Simulazione
L'API è sicura da usare nel codice modello, ma è operativa solo in modalità di test.
Le simulazioni vengono reimpostate prima dell'esecuzione di ogni test.
Sintassi
mock(apiName, returnValue);
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
apiName |
stringa | Il nome dell'API da simulare; la stessa stringa passata
require() |
returnValue |
qualsiasi | Il valore da restituire per l'API o una funzione chiamata al posto del
tramite Google Cloud CLI
o tramite l'API Compute Engine. Se returnValue è una funzione, questa funzione viene chiamata
dell'API con sandbox se returnValue è diverso
di una funzione, tale valore viene restituito al posto del
tramite Google Cloud CLI
o tramite l'API Compute Engine. |
Esempi
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
L'API mockObject
ti consente di ignorare il comportamento delle API con sandbox che
restituiscono un oggetto. L'API è sicura da usare nel codice modello, ma è operativa
solo in modalità di test. Le simulazioni vengono reimpostate prima dell'esecuzione di ogni test.
Sintassi
mockObject(apiName, objectMock);
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
apiName |
stringa | Il nome dell'API da simulare; la stessa stringa passata
require() |
objectMock |
oggetto | Il valore da restituire per l'API o una funzione chiamata al posto del tramite Google Cloud CLI o tramite l'API Compute Engine. Deve essere un oggetto. |
Esempi
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Esegue il codice per il modello, ovvero il contenuto della scheda Codice nella attuale con un determinato oggetto dati di input.
Sintassi
runCode(data)
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
data |
oggetto | Oggetto dati da utilizzare nel test. |
Valore restituito
Restituisce il valore di una variabile per i modelli di variabili; restituisce undefined
per
per tutti gli altri tipi di modelli.
Esempio
runCode({field1: 123, field2: 'value'});