API per modelli personalizzati

API di base

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 di listener da eseguire quando cambia lo stato del tipo di consenso specificato.

L'ascoltatore specificato verrà invocato ogni volta che lo stato del tipo di consenso specificato passa da negato a concesso o da concesso a negato. Un tipo di consenso senza stato è considerato concesso, pertanto l'ascoltatore non verrà chiamato se un tipo di consenso non impostato viene aggiornato in modo da essere concesso. Le funzioni di listener si occuperanno di garantire che il 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 cui rilevare le modifiche dello stato.
listener function La funzione da eseguire quando cambia lo stato del tipo di consenso specificato.

Quando viene invocato un ascoltatore, vengono passati il tipo di consenso in fase di modifica e il nuovo valore di quel tipo di consenso:

Parametro Tipo Descrizione
consentType stringa Il tipo di consenso che viene modificato.
granted boolean Un valore booleano che è true se il tipo di consenso specificato viene modificato in concesso.

Autorizzazioni associate

L'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 verrà invocata al termine di un evento. Il callback verrà richiamato quando tutti i tag per l'evento sono stati eseguiti o se viene raggiunto un timeout dell'evento in pagina. Al callback vengono passati due valori: l'ID del contenitore che invoca la funzione e un oggetto contenente informazioni sull'evento.

Sintassi

addEventCallback(callback)

Parametri

Parametro Tipo Descrizione
callback function La funzione da chiamare al termine dell'evento.

L'oggetto eventData contiene i seguenti dati:

Nome chiave Tipo Descrizione
tags Array Un array di oggetti di dati dei tag. Ogni tag attivato durante l'evento avrà una voce in questo array. L'oggetto dati del tag contiene l'ID (id), lo stato di esecuzione (status) e la data e l'ora di esecuzione (executionTime) del tag. I dati del tag includeranno anche i metadati aggiuntivi del tag configurati sul tag.

Esempio

addEventCallback(function(ctid, eventData) {
  logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});

Autorizzazioni associate

read_event_metadata


aliasInWindow

L'API aliasInWindow ti consente di creare un alias (ad es. window.foo = window.bar), che contribuisce a supportare determinati tag che richiedono l'uso di alias. Assegna il valore nell'oggetto window trovato in fromPath alla chiave nell'oggetto window in toPath. Restituisce true se l'operazione ha esito positivo, false in caso contrario.

Sintassi

aliasInWindow(toPath, fromPath)

Parametri

Parametro Tipo Descrizione
toPath stringa Un percorso separato da punti nell'oggetto window in cui deve essere copiato un valore. Tutti i componenti del percorso fino all'ultimo componente devono 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 andrà a buon fine.

Esempio

aliasInWindow('foo.bar', 'baz.qux')

Autorizzazioni associate

access_globals è obbligatorio sia per toPath che per fromPath; toPath richiede l'accesso in scrittura, fromPath richiede l'accesso in lettura.


callInWindow

Consente di chiamare funzioni da un percorso esterno all'oggetto window, in base a criteri. Chiama la funzione nel percorso specificato in window con gli argomenti indicati e restituisce il valore. Se il tipo di ritorno non può essere mappato direttamente a un tipo supportato in JavaScript in sandbox, verrà restituito undefined. Gli acht tipi supportati in JavaScript in sandbox sono null, undefined, boolean, number, string, Array, Object e function. Se il percorso specificato non esiste o non fa riferimento a una funzione, verrà restituito undefined.

Sintassi

callInWindow(pathToFunction, argument [, argument2,... argumentN])

Parametri

Parametro Tipo Descrizione
pathToFunction stringa Un percorso separato da punti alla funzione in window da chiamare.
args * Argomenti da passare alla funzione.

Autorizzazioni associate

access_globals con autorizzazione execute abilitata.


callLater

Pianifica una chiamata a una funzione in modo che venga eseguita in modo asincrono. La funzione verrà chiamata dopo il ritorno del codice corrente. Questo è equivalente a setTimeout(<function>, 0).

Sintassi

callLater(function)

Parametri

Parametro Tipo Descrizione
function function La funzione da chiamare.

copyFromDataLayer

Restituisce il valore attualmente assegnato alla chiave specificata nel livello dati: il valore trovato nella chiave specificata se si tratta di un tipo primitivo, di una funzione o di un valore letterale di oggetto oppure undefined in caso contrario.

Sintassi

copyFromDataLayer(key[, dataLayerVersion])

Parametri

Parametro Tipo Descrizione
key stringa La chiave nel formato "a.b.c".
dataLayerVersion number La versione del livello dati facoltativa. Il valore predefinito è 2. È vivamente sconsigliato utilizzare il valore 1.

Autorizzazioni associate

read_data_layer


copyFromWindow

Copia una variabile dall'oggetto window. Se il valore in window non può essere mappato direttamente a un tipo supportato in JavaScript in sandbox, verrà restituito undefined. Gli otto tipi supportati in JavaScript in 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

access_globals


createArgumentsQueue

Crea una coda che viene compilata con oggetti argomento, a supporto delle soluzioni di tag che lo richiedono.

Crea una funzione in ambito globale (ovvero 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 l'argomento arrayKey.

Quando viene chiamata la funzione creata in fnKey, inserisce l'oggetto degli argomenti nell'array creato in arrayKey. Il valore restituito dall'API è la funzione creata in fnKey.

Questa funzione richiede l'impostazione di lettura e scrittura per fnKey e arrayKey per 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 non esiste già. Questo argomento supporta la notazione a punti standard. Se il percorso della chiave non esiste, viene lanciata un'eccezione. In altre parole, se fnKey è 'one.two', verrà generata un' eccezione.
arrayKey stringa Il percorso in window in cui è impostato l'array, se non esiste già. Questo argomento supporta la notazione a punti standard. Se il percorso della chiave non esiste, viene generata un'eccezione. In altre parole, se arrayKey è 'one.two' e non esiste un oggetto globale denominato 'one', verrà generata un'eccezione.

Autorizzazioni associate

access_globals


createQueue

Crea un array in window (se non esiste già) e restituisce una funzione che inserisce i valori nell'array.

Questa funzione richiede l'impostazione di lettura e scrittura per arrayKey sull'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, se non esiste già. Questo argomento supporta la notazione a punti standard. Se il percorso della chiave non esiste, viene lanciata un'eccezione. Ad esempio, se arrayKey è 'one.two' e non esiste un oggetto globale denominato 'one', verrà generata un'eccezione.

Autorizzazioni associate

access_globals


decodeUri

Decodifica tutti i caratteri codificati nell'URI fornito. Restituisce una stringa che rappresenta l'URI decodificato. Restituisce undefined se viene fornito un input non valido.

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 che è stato codificato da encodeUri() o con altri mezzi.

Autorizzazioni associate

Nessuno.


decodeUriComponent

Decodifica tutti i caratteri codificati nel componente URI fornito. Restituisce una stringa che rappresenta il componente URI decodificato. Restituisce undefined se viene fornito 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 eseguendo la fuga dei caratteri speciali. Restituisce una stringa che rappresenta la stringa fornita codificata come URI. Restituisce undefined se viene fornito un input non valido (un solo sostituto).

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 eseguendo la fuga dei caratteri speciali. Restituisce una stringa che rappresenta la stringa fornita codificata come URI. Restituisce undefined se viene fornito un input non valido (un solo sostituto).

Esempio:

sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));

Sintassi

encodeUriComponent(str)

Parametri

Parametro Tipo Descrizione
str stringa Un componente di un URI.

Autorizzazioni associate

Nessuno.


fromBase64

L'API fromBase64 ti consente di decodificare le stringhe dalla loro rappresentazione in base64. Restituisce undefined se viene fornito un input non valido.

Sintassi

fromBase64(base64EncodedString)

Parametri

Parametro Tipo Descrizione
base64EncodedString stringa Stringa con codifica Base64.

Esempio

const fromBase64 = require('fromBase64');

const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
  // ...
}

Autorizzazioni associate

Nessuno


generateRandom

Restituisce un numero (intero) casuale nell'intervallo specificato.

Sintassi

generateRandom(min, max)

Parametri

Parametro Tipo Descrizione
min number Valore potenziale minimo dell'intero restituito.
max number Valore potenziale massimo dell'intero restituito.

Autorizzazioni associate

Nessuno.


getContainerVersion

Restituisce un oggetto contenente i dati del 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

read_container_data


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 boolean Controlla se i valori dei cookie devono essere decodificati con decodeURIComponent() di JavaScript. Il valore predefinito è true.

Autorizzazioni associate

get_cookies


getQueryParameters

Restituisce il primo o tutti i parametri per queryKey dell'URL corrente. Restituisce il primo valore di queryKey o un array di valori di queryKey.

Sintassi

getQueryParameters(queryKey[, retrieveAll])

Parametri

Parametro Tipo Descrizione
queryKey stringa La chiave da leggere dai parametri di query.
retrieveAll boolean Indica se recuperare tutti i valori.

Ad esempio, se l'URL corrente è 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']

Autorizzazioni associate

get_url deve consentire il componente query e deve specificare queryKey nelle chiavi di query consentite (o consentire qualsiasi chiave di query).


getReferrerQueryParameters

L'API getReferrerQueryParameters funziona come getQueryParameters, ma agisce sul referrer anziché sull'URL corrente. Restituisce il primo o tutti i parametri per queryKey del referrer specificato. Restituisce il primo valore di queryKey o un array di valori di queryKey.

Sintassi

getReferrerQueryParameters(queryKey[, retrieveAll])

Parametri

Parametro Tipo Descrizione
queryKey stringa La chiave da leggere dai parametri di query.
retrieveAll boolean Indica se recuperare tutti i valori.

Ad esempio, se l'URL referer è https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, allora:

  • 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 queryKey nelle chiavi di query consentite (o consentire qualsiasi chiave di query).


getReferrerUrl

Dato un tipo di componente, l'API legge l'oggetto del documento per il referrer e restituisce una stringa che rappresenta una parte del referrer. Se non viene specificato alcun componente, viene restituito l'URL completo del referrer.

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, extension. Se component è undefined, null o non corrisponde a uno di questi componenti, verrà visualizzato l'intero URL.

Autorizzazioni associate

get_referrer deve consentire il componente query e deve specificare queryKey nelle chiavi di query consentite (o consentire qualsiasi chiave di query).


getTimestamp

Ritiro. Preferisci getTimestampMillis.

Restituisce un numero che rappresenta l'ora corrente in millisecondi dall'epoch di Unix, come restituito da Date.now().

Sintassi

getTimestamp();

Autorizzazioni associate

Nessuno.


getTimestampMillis

Restituisce un numero che rappresenta l'ora corrente in millisecondi dall'epoch di Unix, come restituito da Date.now().

Sintassi

getTimestampMillis();

Autorizzazioni associate

Nessuno.


getType

Restituisce una stringa che descrive il tipo del valore specificato. A differenza di typeof, getType distingue tra array e object.

Sintassi

getType(data.someField)

Note

La tabella seguente elenca le stringhe restituite per ogni valore di input.

Valore input Risultato
undefined "undefined"
null 'null'
true 'boolean'
12 'number'
'string' 'stringa'
{ a: 3 } 'object'
[ 1, 3 ] 'array'
(x) => x + 1 'function'

Autorizzazioni associate

Nessuno.


getUrl

Restituisce una stringa che rappresenta tutto o parte dell'URL corrente, dato 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

get_url


gtagSet

Invia un comando gtag set al livello dati, da elaborare il prima possibile dopo che l'evento corrente e gli eventuali tag attivati sono stati elaborati (o è stato raggiunto il timeout di elaborazione dei tag). L'aggiornamento viene elaborato in questo contenitore prima di qualsiasi elemento in coda nella coda del livello di dati.

Ad esempio, se viene chiamato da un tag attivato in Inizializzazione del consenso, l'aggiornamento verrà applicato prima dell'elaborazione dell'evento di inizializzazione. Alcuni esempi sono ads_data_redaction impostato su true o 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à contenenti.

Autorizzazioni associate

write_data_layer controlla l'autorizzazione di scrittura per dataLayer per tutte le chiavi specificate. Se l'input di gtagSet è un oggetto normale, l'API controllerà l'autorizzazione di scrittura per tutte le chiavi appiattite all'interno dell'oggetto, ad esempio per gtagSet({foo: {bar: 'baz'}}), l'API controllerà l'autorizzazione di scrittura per foo.bar.

Se l'input di gtagSet è una chiave e un valore dell'oggetto non semplice, l'API verificherà l'autorizzazione di scrittura per quella chiave, ad esempio per gtagSet('abc', true) , verificherà l'autorizzazione di scrittura per 'abc'.

Tieni presente che se nell'oggetto di input è presente un ciclo, verranno controllate solo le chiavi prima di raggiungere lo stesso oggetto.


injectHiddenIframe

Aggiunge un iframe invisibile alla pagina.

I callback vengono forniti come istanze di funzione e sono racchiusi in funzioni JavaScript che li richiamano.

Sintassi

injectHiddenIframe(url, onSuccess)

Parametri

Parametro Tipo Descrizione
url stringa L'URL da utilizzare come valore dell'attributo src dell'iframe.
onSuccess function Viene chiamato quando il frame viene caricato correttamente.

Autorizzazioni associate

inject_hidden_iframe


injectScript

Aggiunge un tag script alla pagina per caricare l'URL specificato in modo asincrono. I callback vengono forniti come istanze di funzione e sono racchiusi in funzioni JavaScript che li richiamano.

Sintassi

injectScript(url, onSuccess, onFailure[, cacheToken])

Parametri

Parametro Tipo Descrizione
url stringa L'indirizzo dello script da iniettare.
onSuccess function Viene chiamato quando lo script viene caricato correttamente.
onFailure function Viene chiamato quando non è possibile caricare lo script.
cacheToken stringa Stringa facoltativa utilizzata per indicare che l'URL specificato deve essere memorizzato nella cache. Se viene specificato questo valore, verrà creato un solo elemento script per richiedere il codice JavaScript. Eventuali ulteriori tentativi di caricamento comporteranno l'inserimento in coda dei metodi onSuccess e onFailure fino al caricamento dello script.

Autorizzazioni associate

inject_script


isConsentGranted

Restituisce true se il tipo di consenso specificato è concesso.

Il consenso per un determinato tipo di consenso è considerato concesso se il tipo di consenso è impostato su "granted" o non è impostato. Se il tipo di consenso è impostato su qualsiasi altro valore, verrà considerato non concesso.

L'interfaccia utente di Tag Manager per le impostazioni dei tag offre un'opzione per attivare sempre il tag. Se un tag con l'opzione Sempre attivo attivata utilizza questa API, il consenso viene considerato 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

L'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 costruire il valore o l'oggetto descritto dalla stringa. Se il valore non può essere analizzato (ad es. JSON con formato non corretto), la funzione restituirà undefined. Se il valore inserito non è una stringa, questo verrà forzato in una stringa.

La funzione stringify() converte l'input in una stringa JSON. Se il valore non può essere analizzato (ad es. l'oggetto contiene un ciclo), il metodo restituisce undefined.

Sintassi

JSON.parse(stringInput)
JSON.stringify(value);

Parametri

JSON.parse

Parametro Tipo Descrizione
stringInput any Il valore da convertire. Se il valore non è una stringa, l'input verrà costretto in una stringa.

JSON.stringify

Parametro Tipo Descrizione
valore any 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 i 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

access_local_storage

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] any Argomenti

Autorizzazioni associate

logging


makeInteger

Converte il valore specificato in un numero (intero).

Sintassi

makeInteger(value)

Parametri

Parametro Tipo Descrizione
value any Il valore da convertire.

Autorizzazioni associate

Nessuno.


makeNumber

Converte il valore specificato in un numero.

Sintassi

makeNumber(value)

Parametri

Parametro Tipo Descrizione
value any Il valore da convertire.

Autorizzazioni associate

Nessuno.


makeString

Restituisce il valore specificato come stringa.

Sintassi

makeString(value)

Parametri

Parametro Tipo Descrizione
value any Il valore da convertire.

Autorizzazioni associate

Nessuno.


makeTableMap

Converte un semplice oggetto tabella con due colonne in un Map. Viene utilizzato per trasformare un campo del modello SIMPLE_TABLE con due colonne in un formato più gestibile.

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 sono state aggiunte coppie chiave-valore oppure null in caso contrario.

Sintassi

makeTableMap(tableObj, keyColumnName, valueColumnName)

Parametri

Parametro Tipo Descrizione
tableObj Elenca L'oggetto tabella da convertire. Si tratta di un elenco di mappe in cui ogni Map rappresenta una riga della tabella. Ogni nome di proprietà in un oggetto riga è il nome della colonna e il valore della proprietà è il valore della colonna nella riga.
keyColumnName stringa Nome della colonna i cui valori diventeranno chiavi nel Map convertito.
valueColumnName stringa Nome della colonna i cui valori diventeranno i valori nel Map convertito.

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 i metodi Object.

Il metodo keys() fornisce il comportamento di Object.keys() della libreria standard. Restituisce un array dei nomi delle proprietà enumerabili di un determinato oggetto nello stesso ordine di un ciclo for...in.... Se il valore inserito non è un oggetto, verrà forzato in un oggetto.

Il metodo values() fornisce il comportamento di Object.values() della libreria standard. Restituisce un array dei valori delle proprietà enumerabili di un determinato oggetto nello stesso ordine di un ciclo for...in.... Se il valore inserito non è un oggetto, verrà forzato in un oggetto.

Il metodo entries() fornisce il comportamento di Object.entries() della libreria standard. Restituisce un array di coppie [key, value] della proprietà enumerabile di un determinato oggetto nello stesso ordine di un ciclo for...in.... Se il valore inserito non è un oggetto, verrà forzato in un oggetto.

Il metodo freeze() fornisce il comportamento Object.freeze() della libreria standard. Un oggetto bloccato non può più essere modificato. Il blocco di un oggetto impedisce di aggiungervi nuove proprietà, di rimuoverne quelle esistenti e di modificare i valori delle proprietà esistenti. freeze() restituisce lo stesso oggetto passato. Un argomento primitivo o nullo verrà trattato come se fosse un oggetto bloccato e verrà restituito.

Il metodo delete() fornisce il comportamento dell'operatore delete della libreria standard. Rimuove la chiave specificata dall'oggetto, a meno che non sia bloccato. Come l'operatore di eliminazione della libreria standard, restituisce true se il primo valore di input (objectInput) è un oggetto non congelato anche se il secondo valore di input (keyToDelete) specifica una chiave inesistente. Restituisce false in tutti gli altri casi. Tuttavia, si differenzia dall'operatore di eliminazione della libreria standard per i seguenti aspetti:

  • keyToDelete non può essere una stringa delimitata da punti che specifica una chiave nidificata.
  • delete() non può essere utilizzato per rimuovere elementi da un array.
  • delete() non può essere utilizzato 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 any L'oggetto di cui enumerare le chiavi. Se l'input non è un oggetto, verrà costretto a un oggetto.

Object.values

Parametro Tipo Descrizione
objectInput any L'oggetto di cui enumerare i valori. Se l'input non è un oggetto, verrà forzato in un oggetto.

Object.entries

Parametro Tipo Descrizione
objectInput any L'oggetto di cui enumerare le coppie chiave/valore. Se l'input non è un oggetto, verrà forzato in un oggetto.

Object.freeze

Parametro Tipo Descrizione
objectInput any L'oggetto da bloccare. Se l'input non è un oggetto, verrà trattato come un oggetto bloccato.

Object.delete

Parametro Tipo Descrizione
objectInput any 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 contenente tutti i componenti di un determinato URL, in modo simile all'oggetto URL.

Questa API restituirà undefined per qualsiasi URL non valido. Per gli URL con formato corretto, i campi non presenti nella stringa dell'URL avranno un valore di 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 query sulle autorizzazioni consentite e limitate. Restituisce un valore booleano: true se è stata concessa un'autorizzazione, false in caso contrario.

Sintassi

queryPermission(permission, functionArgs*)

Parametri

Parametro Tipo Descrizione
permission stringa Nome dell'autorizzazione.
functionArgs any Gli argomenti della funzione variano in base all'autorizzazione per cui viene eseguita la query. Consulta Argomenti delle funzioni di seguito.

Argomenti delle funzioni

sendPixel, injectScript, injectHiddenIframe: il secondo parametro deve essere una stringa URL.

writeGlobals, readGlobals: il secondo parametro deve essere la chiave scritta o letta.

readUrl: non sono necessari argomenti aggiuntivi per verificare se l'intero URL può essere letto. Per verificare se un determinato componente può essere letto, passa il nome del componente come secondo argomento:

if (queryPermission('readUrl','port')) {
  // read the port
}

Per verificare se una chiave di query specifica è leggibile, passala 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

read_character_set


readTitle

Restituisce il valore di document.title.

Sintassi

readTitle()

Parametri

Nessuno.

Autorizzazioni associate

read_title


require

Importa una funzione incorporata per nome. Restituisce una funzione o un oggetto che può essere chiamato dal 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 function Viene chiamato quando il pixel viene caricato correttamente. Nota: anche se la richiesta viene inviata correttamente, i browser potrebbero richiedere una risposta dell'immagine valida per eseguire onSuccess.
onFailure function Viene chiamato quando il pixel non riesce a caricarsi. Nota: anche se la richiesta viene inviata correttamente, onFailure potrebbe essere eseguito se il server non restituisce una risposta dell'immagine valida.

Autorizzazioni associate

send_pixel


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 gli attributi Dominio, Percorso, Scade, Max-Age, Sicuro e SameSite. (vedi Opzioni di seguito).
encode boolean Controlla se il valore del cookie deve essere codificato con la funzione encodeURIComponent() di JavaScript. Il valore predefinito è true.

Opzioni

  • Dominio: impostato dalla proprietà options['domain'], se presente. Imposta questo valore su '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, proverà con sottodomini progressivamente più ristretti. Se tutti i tentativi non vanno a buon fine, il cookie verrà scritto senza 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 viene scritto in document.cookie, l'agente utente imposta per impostazione predefinita il dominio del cookie sull'host della posizione del documento corrente.
  • Percorso:impostato da options['path'], se presente. Quando in document.cookie viene scritto un cookie senza un percorso specificato, lo user agent imposta per impostazione predefinita il percorso del cookie sul percorso della posizione del documento corrente.
  • Max-Age: impostato da options['max-age'], se presente.
  • Scadenza: impostata da options['expires'], se presente. Se presente, deve essere una stringa della data formattata in UTC. Date.toUTCString() può essere utilizzato per formattare un Date per questo parametro.
  • Sicuro: impostato da options['secure'], se presente.
  • SameSite: impostato da options['samesite'], se presente.

Autorizzazioni associate

set_cookies


setDefaultConsentState

Carica un aggiornamento del consenso predefinito nel livello dati, da elaborare il prima possibile dopo il completamento dell'elaborazione dell'evento corrente e di eventuali tag attivati (o del timeout di elaborazione dei tag). L'aggiornamento viene elaborato in questo contenitore 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 i tipi di consenso specificati.

L'oggetto consentSettings è una mappatura di stringhe di tipo di consenso arbitrarie a uno di 'granted' o 'denied'. Supporta i seguenti valori:

Nome chiave Tipo Descrizione
consentType stringa Il valore per ogni tipo di consenso può essere impostato su "granted" o "denied". Qualsiasi valore diverso da "granted" verrà considerato "denied". Impostare il valore su "undefined" non avrà alcun effetto sul valore precedente.
region Array Un array facoltativo di codici regione che specifica la regione a cui si applicano le impostazioni di consenso. I codici regione sono espressi utilizzando i paesi e/o le suddivisioni nel formato ISO 3166-2.
wait_for_update number Specifica un valore in millisecondi per controllare il tempo di attesa prima dell'invio dei dati. 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 nell'oggetto consentSettings.


setInWindow

Imposta il valore specificato in window per la chiave specificata. Per impostazione predefinita, questo metodo non imposta il valore in window se è già presente un valore. Imposta overrideExisting su true per impostare il valore in window indipendentemente dalla presenza di un valore esistente. Restituisce un valore booleano: true se il valore è stato impostato correttamente e false in caso contrario.

Sintassi

setInWindow(key, value, overrideExisting)

Parametri

Parametro Tipo Descrizione
key stringa La chiave in window in cui inserire il valore.
value * Il valore da impostare in window.
overrideExisting boolean L'indicatore che indica il valore deve essere impostato in window, indipendentemente dal fatto che sia presente o meno un valore.

Autorizzazioni associate

access_globals


sha256

Calcola il digest SHA-256 dell'input e richiama un callback con il digest codificato in base64, a meno che l'oggetto options non specifichi una codifica di output diversa.

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 function Viene chiamato con il digest risultante, codificato in base64, a meno che l'oggetto options non specifichi una codifica di output diversa.
onFailure function Viene chiamato se si verifica un errore durante il calcolo del digest o se il browser non supporta nativamente sha256. Il callback viene chiamato con un oggetto contenente il nome dell'errore e il messaggio.
options oggetto Oggetto options facoltativo per specificare la codifica di output. Se specificato, l'oggetto deve contenere la chiave outputEncoding con un valore tra base64 o hex.

Autorizzazioni associate

Nessuno.


templateStorage

Restituisce un oggetto con i metodi per accedere allo spazio di archiviazione dei modelli. Lo spazio di archiviazione dei modelli consente di condividere i dati tra le esecuzioni di un singolo modello. I dati memorizzati nello spazio di archiviazione dei modelli vengono conservati 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

access_template_storage

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 ti 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 il completamento dell'elaborazione dell'evento corrente e di eventuali tag attivati (o viene raggiunto il timeout di elaborazione dei tag). L'aggiornamento verrà elaborato in questo contenitore prima di qualsiasi elemento in coda nel livello dati. Scopri di più 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 arbitrarie a uno di 'granted' o 'denied'. Supporta i seguenti valori:

Nome chiave Tipo Descrizione
consentType stringa Il valore per ogni tipo di consenso può essere impostato su "granted" o "denied". Qualsiasi valore diverso da "granted" verrà considerato "denied". L 'impostazione del 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 nell'oggetto consentSettings.


Testare le API

Queste API funzionano con i test JavaScript in sandbox per creare test per i modelli personalizzati in Google Tag Manager. Queste API di test non richiedono un'istruzione require(). Scopri di più sui test dei modelli personalizzati.


assertApi

Restituisce un oggetto matcher che può essere utilizzato per fare affermazioni in modo fluido sulla data API.

Sintassi

assertApi(apiName)

Parametri

Parametro Tipo Descrizione
apiName stringa Il nome dell'API da controllare; la stessa stringa passata a require().

Matcher

  • 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 sulla libreria [Truth] di Google. Restituisce un oggetto che può essere utilizzato per fare affermazioni fluide sul valore di un soggetto. Un errore di asserzione interrompe immediatamente il test e lo contrassegna come non riuscito. Tuttavia, un errore in un test non influisce sugli altri casi di test.

Sintassi

assertThat(actual, opt_message)

Parametri

Parametro Tipo Descrizione
actual any Il valore da utilizzare nei controlli fluent.
opt_message stringa Messaggio facoltativo da stampare se l'affermazione non va a buon fine.

Matcher

Matcher Descrizione
isUndefined() Afferma che l'oggetto è undefined.
isDefined() Afferma che l'oggetto non è undefined.
isNull() Afferma che l'oggetto è null.
isNotNull() Afferma che l'oggetto non è null.
isFalse() Afferma che l'oggetto è false.
isTrue() Afferma che l'oggetto è true.
isFalsy() Afferma che l'oggetto è falsy. I valori falsi sono undefined, null, false, NaN, 0 e '' (stringa vuota).
isTruthy() Afferma che l'oggetto è vero. I valori falsi sono undefined, null, false, NaN, 0 e '' (stringa vuota).
isNaN() Afferma che l'oggetto è il valore NaN.
isNotNaN() Afferma che l'oggetto è un valore diverso da NaN.
isInfinity() Afferma che il soggetto è infinito positivo o negativo.
isNotInfinity() Afferma che il soggetto è un valore diverso da infinito positivo o negativo.
isEqualTo(expected) Afferma che l'oggetto è uguale al valore specificato. Si tratta di un confronto tra valori, non di un confronto con un riferimento. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
isNotEqualTo(expected) Afferma che l'oggetto non è uguale al valore specificato. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e آرایه vengono confrontati in modo ricorsivo.
isAnyOf(...expected) Afferma che il soggetto è uguale a uno dei valori specificati. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e آرایه vengono confrontati in modo ricorsivo.
isNoneOf(...expected) Afferma che il soggetto non è uguale a nessuno dei valori specificati. Si tratta di un confronto tra valori, non di un confronto con un riferimento. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
isStrictlyEqualTo(expected) Afferma che il soggetto è strettamente uguale (===) al valore fornito.
isNotStrictlyEqualTo(expected) Afferma che l'oggetto non è strettamente uguale (!==) al valore specificato.
isGreaterThan(expected) Afferma che l'oggetto è maggiore (>) del valore fornito in un confronto ordinato.
isGreaterThanOrEqualTo(expected) Afferma che il soggetto è maggiore o uguale (>=) al valore specificato in un confronto ordinato.
isLessThan(expected) Afferma che l'oggetto è inferiore (<) al valore fornito in un confronto ordinato.
isLessThanOrEqualTo(expected) Afferma che l'oggetto è minore o uguale a (<=) il valore specificato in un confronto ordinato.
contains(...expected) Afferma che l'oggetto è un array o una stringa contenente tutti i valori specificati in qualsiasi ordine. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
doesNotContain(...expected) Afferma che l'oggetto è un array o una stringa che non contiene nessuno dei valori specificati. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
containsExactly(...expected) Afferma che l'oggetto è un array che contiene tutti i valori indicati in qualsiasi ordine e nessun altro valore. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
doesNotContainExactly(...expected) Afferma che l'oggetto è un array che contiene un insieme diverso di valori rispetto a quelli specificati in qualsiasi ordine. Si tratta di un confronto di valori, non di un confronto di riferimenti. I contenuti di oggetti e array vengono confrontati in modo ricorsivo.
hasLength(expected) Verifica che l'oggetto sia un array o una stringa con la lunghezza specificata. L'affermazione non va mai a buon fine se il valore non è un array o una stringa.
isEmpty() Verifica che l'oggetto sia un array o una stringa vuota (lunghezza = 0). L'affermazione non va mai a buon fine se il valore non è un array o una stringa.
isNotEmpty() Verifica che l'oggetto sia un array o una stringa non vuota (lunghezza > 0). L'affermazione non va mai a buon fine se il valore non è un array o una stringa.
isArray() Afferma che il tipo dell'oggetto è un array.
isBoolean() Afferma che il tipo dell'oggetto è booleano.
isFunction() Afferma che il tipo dell'oggetto è una funzione.
isNumber() Afferma che il tipo dell'oggetto è un numero.
isObject() Afferma che il tipo dell'oggetto soggetto è un oggetto.
isString() Afferma che il tipo dell'oggetto è 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

Il test corrente non va a buon fine immediatamente e viene stampato il messaggio specificato, se fornito.

Sintassi

fail(opt_message);

Parametri

Parametro Tipo Descrizione
opt_message stringa Testo del messaggio di errore facoltativo.

Esempio

fail('This test has failed.');

mock

L'API mock ti consente di ignorare il comportamento delle API in sandbox. L'API simulata è sicura da utilizzare nel codice del modello, ma è operativa solo in modalità di test. I mock vengono reimpostati prima dell'esecuzione di ogni test.

Sintassi

mock(apiName, returnValue);

Parametri

Parametro Tipo Descrizione
apiName stringa Il nome dell'API da simulare; stessa stringa passata a require()
returnValue any Il valore da restituire per l'API o una funzione chiamata al posto dell'API. Se returnValue è una funzione, questa viene chiamata al posto dell'API in sandbox. Se returnValue è diverso da una funzione, questo valore viene restituito al posto dell'API in sandbox.

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 in sandbox che retiranno un oggetto. L'API è sicura da utilizzare nel codice del modello, ma è operativa solo in modalità di test. I mock vengono reimpostati prima dell'esecuzione di ogni test.

Sintassi

mockObject(apiName, objectMock);

Parametri

Parametro Tipo Descrizione
apiName stringa Il nome dell'API da simulare; stessa stringa passata a require()
objectMock oggetto Il valore da restituire per l'API o una funzione chiamata al posto dell'API. Deve essere un oggetto.

Esempi

const storage = {};
mockObject('localStorage', {
  setItem: (key, value) => {storage[key] = value;},
  getItem: (key) => storage[key],
});

runCode

Esegue il codice del modello, ovvero i contenuti della scheda Codice, nell'ambiente di test corrente con un determinato oggetto di 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 tutti gli altri tipi di modelli.

Esempio

runCode({field1: 123, field2: 'value'});