APIs principales
Estas APIs funcionan con JavaScript de zona de pruebas para compilar plantillas personalizadas en Google
en Tag Manager. Cada API se agrega con una sentencia require()
, p.ej.:
const myAPI = require('myAPI');
addConsentListener
Registra una función de escucha para que se ejecute cuando el estado del consentimiento especificado cambios de tipo.
El objeto de escucha específico se invocará cada vez que el estado del objeto de escucha especificado el tipo de consentimiento cambia de denegado a concedido o de concedido a denegado. Un consentimiento tipo sin estado se considera otorgado, por lo que no se llamará al objeto de escucha si un el tipo de consentimiento sin establecer se actualiza a concedido. Las funciones de escucha estarán a cargo de asegurarse de que su código se ejecute la cantidad adecuada de veces.
Ejemplo:
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);
});
}
Sintaxis
addConsentListener(consentType, listener)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
consentType |
string | El tipo de consentimiento en el que se detectarán los cambios de estado. |
listener |
function | La función que se ejecutará cuando el estado del tipo de consentimiento especificado cambios. |
Cuando se invoca un objeto de escucha, se le pasa el tipo de consentimiento que se envía y el nuevo valor de ese tipo de consentimiento:
Parámetro | Tipo | Descripción |
---|---|---|
consentType |
string | El tipo de consentimiento que se modificará. |
granted |
booleano | Un valor booleano que es verdadero si se cambia el tipo de consentimiento especificado que se debe otorgar. |
Permisos asociados
El permiso access_consent
con acceso de lectura para el tipo de consentimiento.
addEventCallback
La API de addEventCallback
te permite registrar una función de devolución de llamada que
invocarse al final de un evento. Se invocará la devolución de llamada cuando se hayan
se ejecutaron las etiquetas del evento o si se alcanza el tiempo de espera de un evento en la página.
La devolución de llamada recibe dos valores: el ID del contenedor que invoca la función.
y un objeto que contiene información sobre el evento.
Sintaxis
addEventCallback(callback)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
callback |
function | La función que se invocará al final del evento. |
El objeto eventData
contiene los siguientes datos:
Nombre de la clave | Tipo | Descripción |
---|---|---|
tags |
Matriz | Un array de objetos de datos de etiquetas. Cada etiqueta que se activó durante el evento
tendrá una entrada en este array. El objeto de datos de la etiqueta contiene las
ID de la etiqueta (id ), su estado de ejecución
(status ) y su tiempo de ejecución
(executionTime ). Los datos de la etiqueta también incluirán
metadatos de etiqueta que se configuraron en ella. |
Ejemplo
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Permisos asociados
aliasInWindow
La API de aliasInWindow
te permite crear un alias (p.ej., window.foo =
window.bar
), que ayuda a admitir ciertas etiquetas que requieren alias. Asigna
el valor en el objeto window
que se encuentra en fromPath
a la clave en
window
en toPath
. Muestra true
si se realiza correctamente, false
.
de lo contrario.
Sintaxis
aliasInWindow(toPath, fromPath)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
toPath |
string | Una ruta separada por puntos al objeto window , en la que un valor
a la que se debe copiar. Todos los componentes desde la ruta de acceso hasta el último componente
ya debe existir en el objeto window . |
fromPath |
string | Una ruta de acceso separada por puntos en window al valor que se copiará. Si
el valor no existe, la operación fallará. |
Ejemplo
aliasInWindow('foo.bar', 'baz.qux')
Permisos asociados
access_globals
es obligatorio para toPath
y fromPath
. toPath
requiere acceso de escritura, fromPath
requiere acceso de lectura.
callInWindow
Te permite llamar a funciones desde una ruta fuera del objeto window
, en una política.
y controlada. Llama a la función en la ruta de acceso determinada en window
con la
argumentos y muestra el valor. Si el tipo de datos que se muestra no se puede asignar directamente
un tipo compatible con JavaScript de zona de pruebas, se mostrará undefined
. El
ocho tipos admitidos en el JavaScript
de la zona de pruebas son null
, undefined
,
boolean
, number
, string
, Array
, Object
y function
. Si el valor proporcionado
ruta de acceso no existe o no hace referencia a una función, se undefined
que se devuelven.
Sintaxis
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
pathToFunction |
string | Una ruta de acceso separada por puntos a la función en window para
llamada. |
args |
* | Argumentos que se pasarán a la función. |
Permisos asociados
access_globals
con el permiso execute
habilitado.
callLater
Programa una llamada a una función para que ocurra de forma asíncrona. La función será
se llama después de que se devuelve el código actual. Esto equivale a lo siguiente:
setTimeout(<function>, 0)
Sintaxis
callLater(function)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
function |
function | La función a la que se llamará. |
copyFromDataLayer
Devuelve el valor asignado actualmente a la clave determinada en la capa de datos: la
valor que se encuentra en la clave determinada si es un objeto, una función o un tipo primitivo
literal, o undefined
de lo contrario.
Sintaxis
copyFromDataLayer(key[, dataLayerVersion])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
key |
string | La clave en el formato “a.b.c”. |
dataLayerVersion |
número | Los datos opcionales versión de la capa. El valor predeterminado es 2. No se recomienda usa el valor 1. |
Permisos asociados
copyFromWindow
Copia una variable del objeto window
. Si el valor de window
no se puede
asignado directamente a un tipo admitido en el código JavaScript de zona de pruebas, undefined
se
que se devuelven. Los ocho tipos admitidos en JavaScript de zona de pruebas son null
,
undefined
, boolean
, number
, string
, Array
, Object
y function
.
Muestra el valor recuperado (y forzado).
Sintaxis
copyFromWindow(key)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
key |
string | La clave en window de la que se copiará el valor. |
Permisos asociados
createArgumentsQueue
Crea una cola que se propaga con objetos de argumento para admitir etiquetas. soluciones que lo requieren.
Crea una función en alcance global (es decir, window
) con el argumento fnKey
.
(misma semántica que createQueue
). Después de crear la función, esta API
Crea un array en window
(si aún no existe) con arrayKey
.
argumento.
Cuando se llama a la función creada en fnKey
, se envían sus argumentos.
en el array creado con arrayKey
. El valor de retorno de la API es el
función creada en fnKey
.
Esta función requiere el parámetro de configuración de lectura y escritura para fnKey
y arrayKey
activados
el permiso access_globals
.
Ejemplo:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Sintaxis
createArgumentsQueue(fnKey, arrayKey)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
fnKey |
string | La ruta de acceso de window en la que se establece la función, si lo hace
que todavía no existen. Este argumento admite la notación de puntos estándar. Si el botón
la ruta de acceso de la clave no existe, se arroja una excepción. Es decir, si
fnKey es 'one.two' , arrojará una
excepción. |
arrayKey |
string | La ruta de acceso de window en la que se establece el array (si no lo hace)
ya existen. Este argumento admite la notación de puntos estándar. Si el botón
la ruta de acceso de la clave no existe, se arroja una excepción. Es decir, si
arrayKey es 'one.two' y no hay
un objeto global llamado 'one' , arrojará un
excepción. |
Permisos asociados
createQueue
Crea un array en window
(si aún no existe) y muestra un
que enviará los valores a ese array.
Esta función requiere el parámetro de configuración de lectura y escritura para arrayKey
en el
access_globals
.
Ejemplo:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Sintaxis
createQueue(arrayKey)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
arrayKey |
string | La clave en window en la que se establece el array, en caso de que no sea así
ya existen. Este argumento admite la notación de puntos estándar. Si el botón
la ruta de acceso de la clave no existe, se arroja una excepción. Por ejemplo,
arrayKey es 'one.two' y no hay
un objeto global llamado 'one' , arrojará un
excepción. |
Permisos asociados
decodeUri
Decodifica cualquier carácter codificado en el URI proporcionado. Muestra una string que
representa el URI decodificado. Muestra undefined
cuando se proporciona con un valor no válido
entrada.
Ejemplo:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintaxis
decodeUri(encoded_uri)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
encoded_uri |
string | Un URI codificado por
encodeUri()
o por otros medios. |
Permisos asociados
Ninguno
decodeUriComponent
Decodifica cualquier carácter codificado en el componente de URI proporcionado. Devuelve un
string que representa el componente del URI decodificado. Muestra undefined
cuando
con entradas no válidas.
Ejemplo:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintaxis
decodeUriComponent(encoded_uri_component)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
encoded_uri_component |
string | Un componente de URI que codificó
encodeUriComponent()
o por otros medios. |
Permisos asociados
Ninguno
encodeUri
Muestra un identificador uniforme de recursos (URI) codificado con un escape especial
caracteres. Muestra una string que representa la cadena proporcionada codificada como
un URI. Muestra undefined
cuando se proporciona con una entrada no válida (un subrogado único).
Ejemplo:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Sintaxis
encodeUri(uri)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
uri |
string | Un URI completo. |
Permisos asociados
Ninguno
encodeUriComponent
Muestra un identificador uniforme de recursos (URI) codificado con un escape especial
caracteres. Muestra una string que representa la cadena proporcionada codificada como
un URI. Muestra undefined
cuando se proporciona con una entrada no válida (un subrogado único).
Ejemplo:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Sintaxis
encodeUriComponent(str)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
str |
string | Es un componente de un URI. |
Permisos asociados
Ninguno
fromBase64
La API de fromBase64
te permite decodificar strings de su base64
para la representación
de los datos. Muestra undefined
cuando se proporciona con una entrada no válida.
Sintaxis
fromBase64(base64EncodedString)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
base64EncodedString |
string | String codificada en base64. |
Ejemplo
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Permisos asociados
Ninguno
generateRandom
Muestra un número aleatorio (número entero) dentro del rango especificado.
Sintaxis
generateRandom(min, max)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
min |
número | Valor potencial mínimo del número entero mostrado. |
max |
número | Valor potencial máximo del número entero que se muestra. |
Permisos asociados
Ninguno
getContainerVersion
Muestra un objeto que contiene datos sobre el contenedor actual. El valor devuelto tiene los siguientes campos:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Ejemplo
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);
}
}
Sintaxis
getContainerVersion();
Permisos asociados
getCookieValues
Muestra los valores de todas las cookies con el nombre dado.
Sintaxis
getCookieValues(name[, decode])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
name |
string | Nombre de la cookie. |
decode |
booleano | Controla si los valores de las cookies se deben decodificar con
JavaScript
decodeURIComponent() La configuración predeterminada es true . |
Permisos asociados
getQueryParameters
Muestra el primer o todos los parámetros del queryKey
de la URL actual.
Muestra el primer valor de queryKey
o un array de valores de la
queryKey
Sintaxis
getQueryParameters(queryKey[, retrieveAll])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
queryKey |
string | La clave para leer de los parámetros de consulta. |
retrieveAll |
booleano | Indica si se deben recuperar todos los valores. |
Por ejemplo, si la URL actual es
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
y, luego, sigue estos pasos:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Permisos asociados
get_url
debe permitir el componente query
y debe especificar el queryKey
en
las claves de consulta permitidas (o permitir cualquier clave de consulta).
getReferrerQueryParameters
La API de getReferrerQueryParameters
actúa de la misma manera que getQueryParameters
,
excepto que actúa sobre la URL de referencia y no en la URL actual. Muestra el primer o
todos los parámetros del queryKey
de la URL de referencia especificada Devuelve el primer
de queryKey
o un array de valores de queryKey
.
Sintaxis
getReferrerQueryParameters(queryKey[, retrieveAll])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
queryKey |
string | La clave para leer de los parámetros de consulta. |
retrieveAll |
booleano | Indica si se deben recuperar todos los valores. |
Por ejemplo, si la URL de referencia es
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
y, luego, sigue estos pasos:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Permisos asociados
get_referrer
debe permitir el componente query
y debe especificar la
queryKey
en las claves de consulta permitidas (o puedes permitir cualquier clave de consulta).
getReferrerUrl
A partir de un tipo de componente, la API lee el objeto del documento para la URL de referencia y devuelve una cadena que representa una parte de la URL de referencia. Si no se incluye ningún componente especificada, se devuelve la URL de referencia completa.
Sintaxis
getReferrerUrl([component])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
component |
string | El componente que se va a mostrar desde la URL. Puede ser una de las siguientes opciones:
protocol , host y port
path , query y extension . Si
component es undefined , null o
no coincide con uno de estos componentes, la URL completa será
que se devuelven. |
Permisos asociados
get_referrer
debe permitir el componente query
y debe especificar la
queryKey
en las claves de consulta permitidas (o puedes permitir cualquier clave de consulta).
getTimestamp
Obsoleto. Prefiere getTimestampMillis.
Muestra un número que representa el tiempo actual en milisegundos desde Unix
epoch, como lo muestra Date.now()
.
Sintaxis
getTimestamp();
Permisos asociados
Ninguno
getTimestampMillis
Muestra un número que representa el tiempo actual en milisegundos desde Unix
epoch, como lo muestra Date.now()
.
Sintaxis
getTimestampMillis();
Permisos asociados
Ninguno
getType
Muestra una string que describe el tipo del valor determinado. A diferencia de typeof
,
getType
diferencia entre array
y object
.
Sintaxis
getType(data.someField)
Notas
La siguiente tabla enumera las cadenas mostradas para cada valor de entrada.
Valor de entrada | Resultado |
---|---|
undefined |
'sin definir' |
null |
'null' [null] |
true |
"booleano" |
12 |
'número' |
'string' |
'cadena' |
{ a: 3 } |
"object" |
[ 1, 3 ] |
"array" |
(x) => x + 1 |
función |
Permisos asociados
Ninguno
getUrl
Muestra una string que representa toda o una parte de la URL actual, según un tipo de componente y algunos parámetros de configuración.
Sintaxis
getUrl(component)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
component |
string | El componente que se va a mostrar desde la URL. Debe ser uno de los siguientes:
protocol , host y port
path , query , extension ,
fragment Si el componente es undefined ,
null , o no coincide con uno de estos componentes, el
Se mostrará el valor href completo. |
Permisos asociados
gtagSet
Envía un comando gtag set a la capa de datos para que se procese lo antes posible. posible después de que finalicen el evento actual y las etiquetas que activó (o se alcanza el tiempo de espera de procesamiento de la etiqueta). La actualización está garantizada se procesarán en este contenedor antes que los elementos en cola en la capa de datos en la fila.
Por ejemplo, si lo llama una etiqueta activada en Inicialización de consentimiento, la
actualización se aplicará antes de que se procese el evento de inicialización. Ejemplos
sería ads_data_redaction
establecerse en true
o false
o url_passthrough
.
se establezca en true
o false
.
Ejemplos:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Sintaxis
gtagSet(object)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
Object |
objeto | Un objeto que actualiza el estado global de las propiedades que lo contienen. |
Permisos asociados
write_data_layer
verifica el permiso de escritura en dataLayer
para todos
las claves especificadas. Si la entrada a gtagSet
es un objeto sin formato, la API verificará
para el permiso de escritura a todas las claves acopladas dentro de ese objeto, p.ej., para
gtagSet({foo: {bar: 'baz'}})
, la API verificará la escritura
permiso a foo.bar
.
Si la entrada a gtagSet
es una clave y algún valor de objeto no plano, la API
verificar el permiso de escritura para esa clave, p.ej., para gtagSet('abc', true)
,
la API verificará el permiso de escritura en 'abc'
.
Ten en cuenta que, si hay un ciclo en el objeto de entrada, solo las claves antes de se verificará el mismo objeto.
injectHiddenIframe
Agrega un iframe invisible a la página.
Las devoluciones de llamada se proporcionan como instancias de función y se unen en JavaScript. funciones que las llaman.
Sintaxis
injectHiddenIframe(url, onSuccess)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
url |
string | La URL que se usará como valor del elemento src del iframe
. |
onSuccess |
function | Se llama cuando el fotograma se carga correctamente. |
Permisos asociados
injectScript
Agrega una etiqueta de secuencia de comandos a la página para cargar la URL dada de forma asíncrona. El las devoluciones de llamada se proporcionan como instancias de función y se unen en JavaScript funciones que las llaman.
Sintaxis
injectScript(url, onSuccess, onFailure[, cacheToken])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
url |
string | La dirección de la secuencia de comandos que se insertará. |
onSuccess |
function | Se llama cuando la secuencia de comandos se carga correctamente. |
onFailure |
function | Se llama cuando no se puede cargar la secuencia de comandos. |
cacheToken |
string | Cadena opcional que se usa para indicar que la URL determinada debe almacenarse en caché. Si
se especifica este valor, solo se creará un elemento de script para
solicitar el código JavaScript. Cualquier intento adicional de carga hará que el usuario
los métodos onSuccess y onFailure dados
en cola hasta que se cargue la secuencia de comandos. |
Permisos asociados
isConsentGranted
Muestra el valor true si se otorga el tipo de consentimiento especificado.
El consentimiento para un tipo de consentimiento específico se considera otorgado si el consentimiento El tipo se estableció como “granted”. o no está establecido. Si el tipo de consentimiento se establece en cualquier otro valor que se considerará no otorgado.
La interfaz de usuario de Tag Manager para la configuración de etiquetas
ofrece la opción de siempre
fuego. Si una etiqueta con la opción "Siempre activada" usa esta API, se considera el consentimiento
otorgada y se mostrará true
, independientemente del estado real de consentimiento.
Ejemplo:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Sintaxis
isConsentGranted(consentType)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
consentType |
string | Es el tipo de consentimiento del que se debe verificar el estado. |
Permisos asociados
El permiso access_consent
con acceso de lectura para el tipo de consentimiento.
JSON
Muestra un objeto que proporciona funciones JSON.
La función parse()
analiza una cadena JSON para construir el valor o el objeto.
que describe la cadena. Si el valor no se puede analizar (p.ej., tiene un formato JSON con formato incorrecto), haz lo siguiente:
la función mostrará undefined
. Si el valor de entrada no es una cadena, el
de entrada se convertirá en una cadena.
La función stringify()
convierte la entrada en una string JSON. Si el valor
no se puede analizar (p.ej., el objeto tiene un ciclo), el método mostrará
undefined
Sintaxis
JSON.parse(stringInput)
JSON.stringify(value);
Parámetros
JSON.parse
Parámetro | Tipo | Descripción |
---|---|---|
stringInput | cualquiera | Valor que se va a convertir. Si el valor no es una cadena, la entrada será se convierte en una cadena. |
JSON.stringify
Parámetro | Tipo | Descripción |
---|---|---|
valor | cualquiera | Valor que se va a convertir. |
Ejemplo
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
Muestra un objeto con métodos para acceder al almacenamiento local.
Sintaxis
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);
Permisos asociados
Ejemplo
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 argumentos en la consola del navegador.
Sintaxis
logToConsole(obj1 [, obj2,... objN])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
obj1 [, obj2,... objN] |
cualquiera | Argumentos |
Permisos asociados
makeInteger
Convierte el valor especificado en un número (número entero).
Sintaxis
makeInteger(value)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
value |
cualquiera | Valor que se va a convertir. |
Permisos asociados
Ninguno
makeNumber
Convierte el valor especificado en un número.
Sintaxis
makeNumber(value)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
value |
cualquiera | Valor que se va a convertir. |
Permisos asociados
Ninguno
makeString
Muestra el valor especificado como una string.
Sintaxis
makeString(value)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
value |
cualquiera | Valor que se va a convertir. |
Permisos asociados
Ninguno
makeTableMap
Convierte un objeto de tabla simple con dos columnas en un Map
. Esto se usa para
cambie un campo de plantilla SIMPLE_TABLE
de dos columnas por una columna más manejable
de un conjunto de datos
tengan un formato común.
Por ejemplo, esta función podría convertir un objeto de tabla:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
en un mapa:
{
'k1': 'v1',
'k2': 'v2'
}
Muestra un Object: El Map
convertido si se agregaron pares clave-valor a
o, de lo contrario, null
.
Sintaxis
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
tableObj |
Lista | El objeto de la tabla que se va a convertir. Es una lista de mapas en la que
Map representa una fila en la tabla. El nombre de cada propiedad en una
objeto de fila es el nombre de la columna y el valor de la propiedad es el nombre de la columna
de la fila. |
keyColumnName |
string | Nombre de la columna cuyos valores se convertirán en claves en la columna
Map |
valueColumnName |
string | Nombre de la columna cuyos valores se convertirán en valores
Map |
Permisos asociados
Ninguno
Math
Un objeto que proporciona funciones Math
.
Sintaxis
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);
Parámetros
Los parámetros de las funciones matemáticas se convierten en números.
Permisos asociados
Ninguno
Object
Muestra un objeto que proporciona métodos Object
.
El método keys()
proporciona la biblioteca estándar Object.keys()
el comportamiento de los usuarios. Muestra un array de la propiedad enumerable propia de un objeto determinado.
en el mismo orden en que lo haría un bucle for...in...
. Si el valor de entrada es
no es un objeto, se lo coercionará a uno.
El método values()
proporciona la biblioteca estándar Object.values().
el comportamiento de los usuarios. Muestra un array de los valores de propiedades enumerables propios de un objeto determinado.
en el mismo orden en que lo haría un bucle for...in...
. Si el valor de entrada no es un
objeto, se convertirá en un objeto.
El método entries()
proporciona la biblioteca estándar Object.entries().
el comportamiento de los usuarios. Muestra un array de la propiedad enumerable propia de un objeto determinado.
[key, value]
se vinculan en el mismo orden que lo haría un bucle for...in...
. Si el botón
el valor de entrada no es un objeto, se lo coercionará a un objeto.
El método freeze()
proporciona la biblioteca estándar Object.freeze().
el comportamiento de los usuarios. Ya no se puede cambiar un objeto inmovilizado. inmovilizar un objeto evita
para evitar que se agreguen propiedades nuevas, se quiten las existentes
y los valores de las propiedades existentes. freeze()
devuelve el
mismo objeto que se pasó. Un argumento primitivo o nulo se tratará como
si fuera un objeto inmovilizado, y se mostrarán.
El método delete()
proporciona el operador de eliminación de la biblioteca estándar.
el comportamiento de los usuarios. Quita la clave dada del objeto, a menos que este esté inmovilizado.
Al igual que el operador de eliminación de la biblioteca estándar, muestra true
si la primera entrada
valor (objectInput
) es un objeto que no está inmovilizado, incluso si la segunda entrada
valor (keyToDelete
) especifica una clave que no existe. Muestra false
en
todos los demás casos. Sin embargo, difiere del operador de eliminación de la biblioteca estándar.
de las siguientes maneras:
keyToDelete
no puede ser una string delimitada por puntos que especifica una clave anidada.- No se puede usar
delete()
para quitar elementos de un array. - No se puede usar
delete()
para quitar propiedades del permiso global.
Sintaxis
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parámetros
Object.keys
Parámetro | Tipo | Descripción |
---|---|---|
objectInput | cualquiera | El objeto cuyas claves se enumeran. Si la entrada no es un objeto, se convertirá en un objeto. |
Object.values
Parámetro | Tipo | Descripción |
---|---|---|
objectInput | cualquiera | El objeto cuyos valores se enumeran. Si la entrada no es un objeto, se convertirá en un objeto. |
Object.entries
Parámetro | Tipo | Descripción |
---|---|---|
objectInput | cualquiera | El objeto cuyos pares clave-valor se enumeran. Si la entrada no es una objeto, se convertirá en un objeto. |
Object.freeze
Parámetro | Tipo | Descripción |
---|---|---|
objectInput | cualquiera | El objeto que se inmovilizará. Si la entrada no es un objeto, se lo tratará como un objeto inmovilizado. |
Object.delete
Parámetro | Tipo | Descripción |
---|---|---|
objectInput | cualquiera | El objeto cuya clave se borrará. |
keyToDelete | string | La clave de nivel superior que se borrará. |
Ejemplo
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
Devuelve un objeto que contiene todas las partes componentes de una URL determinada, similar a
el objeto URL
.
Esta API mostrará undefined
para cualquier URL con formato incorrecto. Para un formato adecuado
Las URLs, los campos que no se encuentran en la cadena de URL tendrán el valor de una cadena vacía
o, en el caso de searchParams
, un objeto vacío.
El objeto que se muestra tendrá los siguientes campos:
{
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,
}
Ejemplo
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Sintaxis
parseUrl(url);
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
url |
string | La URL completa que se analizará. |
Permisos asociados
Ninguno
queryPermission
Consultar los permisos permitidos y reducidos Muestra un booleano: true
si un
permiso, false
de lo contrario.
Sintaxis
queryPermission(permission, functionArgs*)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
permission |
string | Es el nombre del permiso. |
functionArgs |
cualquiera | Los argumentos de función varían según el permiso que se consulta. Consulta Argumentos de la función a continuación. |
Argumentos de la función
sendPixel
, injectScript
, injectHiddenIframe
: El segundo parámetro
debe ser una cadena de URL.
writeGlobals
, readGlobals
: El segundo parámetro debe ser la clave
escribir o leer.
readUrl
: No se necesitan argumentos adicionales para consultar si toda
Se puede leer la URL. Para consultar si un componente determinado puede leerse, pasa el
componente como segundo argumento:
if (queryPermission('readUrl','port')) {
// read the port
}
Para comprobar si una clave de consulta específica es legible, pasa la clave de consulta como el Tercer parámetro:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Permisos asociados
Ninguno
readCharacterSet
Muestra el valor de document.characterSet
.
Sintaxis
readCharacterSet()
Parámetros
Ninguno
Permisos asociados
readTitle
Muestra el valor de document.title
.
Sintaxis
readTitle()
Parámetros
Ninguno
Permisos asociados
require
Importa una función integrada por nombre. Muestra una función o un objeto. a las que se puede llamar desde el programa. Muestra undefined cuando el navegador no admite la función integrada.
Sintaxis
require(name)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
name |
string | Es el nombre de la función que se importará. |
Ejemplo
const getUrl = require('getUrl');
const url = getUrl();
Permisos asociados
Ninguno
sendPixel
Realiza una solicitud GET a un extremo de URL especificado.
Sintaxis
sendPixel(url, onSuccess, onFailure)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
url |
string | A dónde enviar el píxel. |
onSuccess |
function | Se llama cuando el píxel se carga correctamente. Nota: incluso si la solicitud se envía correctamente, es posible que los navegadores requieran una respuesta de imagen válida para para que se ejecute onSuccess. |
onFailure |
function | Se llama cuando no se carga el píxel. Nota: incluso si la solicitud envía correctamente, onFailure se puede ejecutar si el servidor no devuelve un respuesta de imagen válida. |
Permisos asociados
setCookie
Establece o borra la cookie con el nombre, el valor y las opciones especificados.
Sintaxis
setCookie(name, value[, options, encode])
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
name |
string | Nombre de la cookie. |
value |
string | Valor de la cookie. |
options |
objeto | Especifica el Dominio, Atributos ruta, vencimiento, edad máxima, seguridad y SameSite (Consulta Opciones a continuación). |
encode |
booleano | Controla si el valor de la cookie se debe codificar con
JavaScript
encodeURIComponent()
La configuración predeterminada es true . |
- Dominio: Establecido por la propiedad
options['domain']
, si está presente. Establece este valor a'auto'
para intentar escribir la cookie con el dominio más amplio posible según la ubicación del documento. Si eso falla, se intentará de forma sucesiva subdominios más estrechos. Si todos fallan, intentará escribir la cookie sin un dominio. Si no se establece ningún valor, se intentará escribir la cookie sin un dominio especificado. Nota: Cuando una cookie sin un dominio especificado se se escribe endocument.cookie
, el usuario-agente establecerá el dominio de la cookie de forma predeterminada al host de la ubicación actual del documento. - Ruta de acceso: Establecida por
options['path']
, si está presente. Cuando una cookie sin una ruta de acceso especificado se escribe endocument.cookie
, el usuario-agente usará la la ruta de acceso de la cookie a la ruta de la ubicación del documento actual. - Max-Age: Se establece por
options['max-age']
, si está presente. - Vencimiento: establecido por
options['expires']
, si está presente. Si está presente, debe ser una cadena de fecha con formato UTC. Se puede usarDate.toUTCString()
para formatear unDate
para este parámetro. - Seguro: Establecido por
options['secure']
, si está presente. - SameSite: Establecido por
options['samesite']
, si está presente
Permisos asociados
setDefaultConsentState
Envía una actualización del consentimiento predeterminada a la capa de datos para que se procese en cuanto posible después de que finalicen el evento actual y las etiquetas que activó (o se alcanza el tiempo de espera de procesamiento de la etiqueta). La actualización está garantizada se procesarán en este contenedor antes que los elementos en cola en la capa de datos. Obtén más información sobre el consentimiento.
Ejemplo:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Sintaxis
setDefaultConsentState(consentSettings)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
consentSettings |
objeto | Un objeto que define el estado predeterminado del consentimiento especificado de tipos de datos. |
El objeto consentSettings
es una asignación de cadenas de tipos de consentimiento arbitrarias a
'granted'
o 'denied'
. Admite los siguientes valores:
Nombre de la clave | Tipo | Descripción |
---|---|---|
consentType |
string | Se puede establecer el valor de cada tipo de consentimiento como "granted" o "denied". Cualquier valor distinto de `'granted'` se tratará como `'denied'`. Parámetro de configuración el valor a "undefined" no tendrá ningún efecto en su valor anterior. |
region |
Matriz | Un array opcional de códigos regionales que especifica la región a la que del consentimiento al que se aplican. Los códigos regionales se expresan por país o subdivisiones en formato ISO 3166-2. |
wait_for_update |
número | Especifica un valor en milisegundos para controlar cuánto tiempo esperar antes de que los datos enviado. Se usa con herramientas de consentimiento que se cargan de forma asíncrona. |
Permisos asociados
el permiso access_consent
con acceso de escritura para todos los tipos de consentimiento en el
consentSettings.
setInWindow
Establece el valor dado en window
en la clave determinada. De forma predeterminada, este método no
establece el valor en window
si ya hay un valor presente. Definir
overrideExisting
por true
para establecer el valor en window
, sin importar la
de un valor existente. Muestra un booleano: true
si el valor era
se configuró correctamente; de lo contrario, false
.
Sintaxis
setInWindow(key, value, overrideExisting)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
key |
string | Es la clave de window en la que se debe colocar el valor. |
value |
* | Es el valor que se debe establecer en window . |
overrideExisting |
booleano | La marca que indica que el valor se debe establecer en window .
sin importar si hay un valor allí o no. |
Permisos asociados
sha256
Calcula el resumen SHA-256 de la entrada e invoca una devolución de llamada con el
codificado en base64, a menos que el objeto options
especifique un
codificación de salida.
Ejemplo:
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'});
Sintaxis
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
input |
string | Cadena para la que se calculará el hash. |
onSuccess |
function | Se llama con el resumen resultante, codificado en base64, a menos que el
El objeto options especifica una codificación de salida diferente. |
onFailure |
function | Se llama si se produce un error al calcular el resumen o si el navegador no tiene compatibilidad nativa con SHA256. Se llama a la devolución de llamada con un objeto que contiene el nombre del error y el mensaje. |
options |
objeto | Optional para especificar la codificación de salida. Si
especificado, el objeto debe contener la clave outputEncoding
con un valor como base64 o hex . |
Permisos asociados
Ninguno
templateStorage
Muestra un objeto con métodos para acceder al almacenamiento de plantillas. Plantilla permite compartir datos entre ejecuciones de una sola plantilla. Datos almacenadas en el almacenamiento de plantillas persisten durante el ciclo de vida de la página.
Sintaxis
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Permisos asociados
Ejemplo
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
La API de toBase64
te permite codificar una cadena en una representación en base64.
Sintaxis
toBase64(input)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
input |
string | Cadena que se codificará. |
Ejemplo
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Permisos asociados
Ninguno
updateConsentState
Envía una actualización del consentimiento a la capa de datos para que se procese lo antes posible. después de que terminen de procesarse el evento actual y las etiquetas que activó (o se alcanza el tiempo de espera de procesamiento de la etiqueta). Se garantiza que la actualización y se procesan en este contenedor antes que los elementos en cola de la capa de datos. Más información sobre el consentimiento.
Ejemplo:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Sintaxis
updateConsentState(consentSettings)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
consentSettings |
objeto | Un objeto que actualiza el estado para los tipos de consentimiento especificados. |
El objeto consentSettings
es una asignación de cadenas de tipos de consentimiento arbitrarias a
'granted'
o 'denied'
. Admite los siguientes valores:
Nombre de la clave | Tipo | Descripción |
---|---|---|
consentType |
string | El valor de cada tipo de consentimiento se puede establecer como “granted”. o “rechazada”. Cualquier valor distinto de “granted” se tratará como “rechazado”. Parámetro de configuración el valor a 'undefined' no tendrá ningún efecto en su valor anterior. |
Permisos asociados
el permiso access_consent
con acceso de escritura para todos los tipos de consentimiento en el
consentSettings.
APIs de prueba
Estas APIs funcionan con pruebas de JavaScript en zonas de pruebas a fin de crear pruebas para código
plantillas en Google Tag Manager. Estas APIs de prueba no necesitan un require()
declaración. Obtén más información sobre las pruebas de plantillas personalizadas.
assertApi
Devuelve un objeto comparador que puede usarse para realizar aserciones con fluidez sobre el API determinada.
Sintaxis
assertApi(apiName)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
apiName |
string | El nombre de la API que se verificará. misma cadena que se pasa a
require()
|
Comparadores
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Ejemplos
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
La API de assertThat
se basa en el modelo de la biblioteca [Truth] de Google. Muestra un
que puede usarse para hacer aserciones con fluidez sobre el valor de un sujeto. Los
una falla de aserción detendrá de inmediato la prueba y la marcará como fallida. Sin embargo,
si falla una prueba, no se verán afectados otros casos de prueba.
Sintaxis
assertThat(actual, opt_message)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
actual |
cualquiera | El valor a usar en las verificaciones de fluidez. |
opt_message |
string | Mensaje opcional para imprimir si falla la aserción. |
Comparadores
Matcher | Descripción |
---|---|
isUndefined() |
Afirma que el sujeto es undefined . |
isDefined() |
Afirma que el sujeto no es undefined . |
isNull() |
Afirma que el sujeto es null . |
isNotNull() |
Afirma que el sujeto no es null . |
isFalse() |
Afirma que el sujeto es false . |
isTrue() |
Afirma que el sujeto es true . |
isFalsy() |
Afirmar que el tema es falso. Los valores falsos son
undefined , null y false
NaN , 0 y '' (cadena vacía). |
isTruthy() |
Afirmar que el tema es veraz. Los valores falsos son
undefined , null y false
NaN , 0 y '' (cadena vacía). |
isNaN() |
Afirma que el sujeto es el valor NaN. |
isNotNaN() |
Afirma que el sujeto es cualquier valor además de NaN. |
isInfinity() |
Afirma que el sujeto es infinito positivo o negativo. |
isNotInfinity() |
Afirmar que el sujeto es cualquier valor que no sea positivo o negativo Infinito. |
isEqualTo(expected) |
Afirma que el sujeto es igual al valor dado. Este es un valor una comparación, no una comparación de referencia. El contenido de objetos y arrays se comparan de forma recursiva. |
isNotEqualTo(expected) |
Afirma que el sujeto no es igual al valor dado. Este es un de valores, no de referencia. El contenido de los objetos y los arrays se comparan de forma recursiva. |
isAnyOf(...expected) |
Afirma que el sujeto es igual a uno de los valores especificados. Este es un de valores, no de referencia. El contenido de los objetos y los arrays se comparan de forma recursiva. |
isNoneOf(...expected) |
Afirma que el sujeto no es igual a ninguno de los valores especificados. Esta es una comparación de valores, no una comparación de referencia. El contenido de los objetos y las matrices se comparan de forma recursiva. |
isStrictlyEqualTo(expected) |
Afirma que el sujeto es estrictamente igual (=== ) al
un valor determinado. |
isNotStrictlyEqualTo(expected) |
Afirmar que el sujeto no es estrictamente igual (!== ) a
el valor dado. |
isGreaterThan(expected) |
Afirma que el sujeto es mayor que (> ) el valor especificado
valor en una comparación ordenada. |
isGreaterThanOrEqualTo(expected) |
Afirmar que el sujeto es mayor o igual que
(>= ) es el valor dado en una comparación ordenada. |
isLessThan(expected) |
Afirma que el sujeto es menor que (< ) el valor especificado
valor en una comparación ordenada. |
isLessThanOrEqualTo(expected) |
Afirmar que el sujeto es menor o igual que (<= )
el valor dado en una comparación ordenada. |
contains(...expected) |
Afirma que el sujeto es un array o una cadena que contiene todos los valores dados en cualquier orden. Esta es una comparación de valores, no una referencia comparación. Se compara el contenido de los objetos y los arrays de forma recursiva. |
doesNotContain(...expected) |
Afirma que el sujeto es un array o una cadena que no contiene los valores dados. Esta es una comparación de valores, no una comparación de referencia. El contenido de los objetos y las matrices se compara de manera recursiva. |
containsExactly(...expected) |
Afirma que el sujeto es un array que contiene todos los datos valores en cualquier orden y ningún otro. Esta es una comparación de valores, no un comparación de referencias. Se compara el contenido de los objetos y los arrays de forma recursiva. |
doesNotContainExactly(...expected) |
Afirma que el sujeto es un array que contiene un conjunto diferente. de valores a partir de los valores dados en cualquier orden. Esta es una comparación de valores, no es una comparación de referencia. El contenido de los objetos y arrays se comparar de forma recursiva. |
hasLength(expected) |
Afirma que el sujeto es un array o una cadena con una longitud determinada. La aserción siempre falla si el valor no es un array o una cadena. |
isEmpty() |
Afirma que el sujeto es una matriz o una cadena vacía (longitud = 0). La aserción siempre falla si el valor no es un array o una cadena vacía. |
isNotEmpty() |
Afirmar que el sujeto es un array o una cadena que no está vacío. (longitud > 0). La aserción siempre falla si el valor no es un array. o cadena. |
isArray() |
Afirma que el tipo del sujeto es un array. |
isBoolean() |
Afirma que el tipo del sujeto es booleano. |
isFunction() |
Afirma que el tipo del sujeto es una función. |
isNumber() |
Afirma que el tipo de sujeto es un número. |
isObject() |
Afirma que el tipo de sujeto es un objeto. |
isString() |
Afirma que el tipo del sujeto es una cadena. |
Ejemplos
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
Falla de inmediato en la prueba actual y, además, imprime el mensaje dado, si se lo suministró.
Sintaxis
fail(opt_message);
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
opt_message |
string | Texto del mensaje de error opcional. |
Ejemplo
fail('This test has failed.');
mock
La API de mock
te permite anular el comportamiento de las APIs de zona de pruebas. La simulación
Es seguro usar la API en el código de plantilla, pero solo funciona en modo de prueba.
Las simulaciones se restablecen antes de ejecutar cada prueba.
Sintaxis
mock(apiName, returnValue);
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
apiName |
string | El nombre de la API que se simulará; misma cadena que se pasa a
require() |
returnValue |
cualquiera | El valor que se devuelve para la API o una función a la que se llama en lugar del
en la API de Cloud. Si returnValue es una función, se llama a esa función en
lugar de la API de Sandboxed si returnValue es otra cosa
que una función, se devuelve el valor en lugar del entorno
en la API de Cloud. |
Ejemplos
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
La API de mockObject
te permite anular el comportamiento de las APIs de zona de pruebas que
devolver un objeto. Es seguro usar la API en el código de plantilla, pero está operativa
solo en modo de prueba. Las simulaciones se restablecen antes de ejecutar cada prueba.
Sintaxis
mockObject(apiName, objectMock);
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
apiName |
string | El nombre de la API que se simulará; misma cadena que se pasa a
require() |
objectMock |
objeto | El valor que se devuelve para la API o una función a la que se llama en lugar del en la API de Cloud. Debe ser un objeto. |
Ejemplos
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Ejecuta el código para la plantilla, es decir, el contenido de la pestaña Code, en el entorno de pruebas actual con un objeto de datos de entrada determinado.
Sintaxis
runCode(data)
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
data |
objeto | Es el objeto de datos que se usará en la prueba. |
Valor que se muestra
Muestra el valor de una variable para plantillas de variables; muestra undefined
por
todos los demás tipos de plantillas.
Ejemplo
runCode({field1: 123, field2: 'value'});