Основные API
Эти API работают с изолированным JavaScript для создания пользовательских шаблонов в Диспетчере тегов Google. Каждый API добавляется с помощью оператора require()
, например:
const myAPI = require('myAPI');
addConsentListener
Регистрирует функцию прослушивателя, которая будет выполняться при изменении состояния указанного типа согласия.
Указанный прослушиватель будет вызываться каждый раз, когда состояние указанного типа согласия меняется с «отказано» на «предоставлено» или с «предоставлено» на «отказано». Тип согласия без состояния считается предоставленным, поэтому прослушиватель не будет вызван, если неустановленный тип согласия изменится на «предоставлено». Функции прослушивателя будут отвечать за обеспечение необходимого количества запусков своего кода.
Пример:
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);
});
}
Синтаксис
addConsentListener(consentType, listener)
Параметры
Параметр | Тип | Описание |
---|---|---|
consentType | нить | Тип согласия для отслеживания изменений состояния. |
listener | функция | Функция, которая запускается при изменении состояния указанного типа согласия. |
При вызове прослушивателя ему будет передан тип согласия, который изменяется, и новое значение этого типа согласия:
Параметр | Тип | Описание |
---|---|---|
consentType | нить | Тип согласия, который изменяется. |
granted | булев | Логическое значение, которое принимает значение true, если указанный тип согласия изменяется на предоставленный. |
Связанные разрешения
разрешение access_consent
с доступом на чтение для типа согласия.
addEventCallback
API addEventCallback
позволяет зарегистрировать функцию обратного вызова, которая будет вызвана в конце события. Функция обратного вызова будет вызвана после выполнения всех тегов события или по достижении тайм-аута внутристраничного события. В функцию обратного вызова передаются два значения: идентификатор контейнера, вызывающего функцию, и объект, содержащий информацию о событии.
Синтаксис
addEventCallback(callback)
Параметры
Параметр | Тип | Описание |
---|---|---|
callback | функция | Функция, вызываемая в конце события. |
Объект eventData
содержит следующие данные:
Имя ключа | Тип | Описание |
---|---|---|
tags | Множество | Массив объектов данных тега. Каждый тег, сработавший во время события, будет иметь запись в этом массиве. Объект данных тега содержит идентификатор тега ( id ), статус его выполнения ( status ) и время выполнения ( executionTime ). Данные тега также будут включать дополнительные метаданные тега, настроенные для этого тега. |
Пример
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Связанные разрешения
aliasInWindow
API aliasInWindow
позволяет создать псевдоним (например, window.foo = window.bar
), который обеспечивает поддержку некоторых тегов, требующих псевдонимов. Присваивает значение объекта window
, найденного в fromPath
, ключу объекта window
указанному в toPath
. Возвращает true
в случае успешного выполнения, false
в противном случае.
Синтаксис
aliasInWindow(toPath, fromPath)
Параметры
Параметр | Тип | Описание |
---|---|---|
toPath | нить | Путь к объекту window , разделенный точками, куда необходимо скопировать значение. Все компоненты пути, вплоть до последнего, должны уже существовать в объекте window . |
fromPath | нить | window к копируемому значению, разделённый точками. Если значение не существует, операция завершится ошибкой. |
Пример
aliasInWindow('foo.bar', 'baz.qux')
Связанные разрешения
access_globals
требуется как для toPath
, так и fromPath
; toPath
требует права записи, fromPath
требует права чтения.
callInWindow
Позволяет вызывать функции из пути вне объекта window
с использованием политики. Вызывает функцию по указанному пути в window
с заданными аргументами и возвращает значение. Если возвращаемый тип не может быть напрямую сопоставлен с типом, поддерживаемым в изолированном JavaScript, будет возвращено undefined
. В изолированном JavaScript поддерживаются восемь типов: null
, undefined
, boolean
, number
, string
, Array
, Object
и function
. Если указанный путь не существует или не ссылается на функцию, будет возвращено undefined
.
Синтаксис
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Параметры
Параметр | Тип | Описание |
---|---|---|
pathToFunction | нить | Разделенный точками путь к вызываемой функции в window . |
args | * | Аргументы, передаваемые функции. |
Связанные разрешения
access_globals
с включенным разрешением execute
.
callLater
Планирует асинхронный вызов функции. Функция будет вызвана после завершения текущего кода. Это эквивалентно setTimeout(<function>, 0)
.
Синтаксис
callLater(function)
Параметры
Параметр | Тип | Описание |
---|---|---|
function | функция | Функция для вызова. |
copyFromDataLayer
Возвращает значение, назначенное в данный момент заданному ключу на уровне данных: значение, найденное по заданному ключу, если это примитивный тип, функция или литерал объекта, в противном случае — undefined
.
Синтаксис
copyFromDataLayer(key[, dataLayerVersion])
Параметры
Параметр | Тип | Описание |
---|---|---|
key | нить | Ключ в формате "abc". |
dataLayerVersion | число | Необязательная версия уровня данных . Значение по умолчанию — 2. Настоятельно не рекомендуется использовать значение 1. |
Связанные разрешения
copyFromWindow
Копирует переменную из объекта window
. Если значение в window
не может быть напрямую сопоставлено с типом, поддерживаемым в изолированном JavaScript, будет возвращено значение undefined
. В изолированном JavaScript поддерживаются восемь типов: null
, undefined
, boolean
, number
, string
, Array
, Object
и function
. Возвращает извлеченное (и приведённое) значение.
Синтаксис
copyFromWindow(key)
Параметры
Параметр | Тип | Описание |
---|---|---|
key | нить | Ключ в window для копирования значения. |
Связанные разрешения
createArgumentsQueue
Создает очередь, заполненную объектами аргументов, для поддержки решений тегов, которым это необходимо.
Создаёт функцию в глобальной области видимости (например, window
), используя аргумент fnKey
(та же семантика, что и createQueue
). После создания функции этот API создаёт массив в window
(если он ещё не существует), используя аргумент arrayKey
.
При вызове функции, созданной в fnKey
, она помещает объект своих аргументов в массив, созданный в arrayKey
. Возвращаемым значением API является функция, созданная в fnKey
.
Для этой функции требуются настройки чтения и записи для fnKey
и arrayKey
в разрешении access_globals
.
Пример:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Синтаксис
createArgumentsQueue(fnKey, arrayKey)
Параметры
Параметр | Тип | Описание |
---|---|---|
fnKey | нить | Путь в window , где установлена функция, если он ещё не существует. Этот аргумент поддерживает стандартную точечную нотацию. Если путь к ключу не существует, генерируется исключение. То есть, если fnKey равен 'one.two' , будет сгенерировано исключение. |
arrayKey | нить | Путь в window , где задан массив, если он ещё не существует. Этот аргумент поддерживает стандартную точечную нотацию. Если путь к ключу не существует, генерируется исключение. То есть, если arrayKey равен 'one.two' и глобального объекта с именем 'one' нет, будет сгенерировано исключение. |
Связанные разрешения
createQueue
Создает массив в window
(если он еще не существует) и возвращает функцию, которая помещает значения в этот массив.
Для этой функции требуются настройки чтения и записи для arrayKey
в разрешении access_globals
.
Пример:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Синтаксис
createQueue(arrayKey)
Параметры
Параметр | Тип | Описание |
---|---|---|
arrayKey | нить | Ключ в window , где задан массив, если он ещё не существует. Этот аргумент поддерживает стандартную точечную нотацию. Если путь к ключу не существует, генерируется исключение. Например, если arrayKey равен 'one.two' и глобального объекта с именем 'one' нет, будет сгенерировано исключение. |
Связанные разрешения
decodeUri
Декодирует все закодированные символы в предоставленном URI. Возвращает строку , представляющую декодированный URI. Возвращает значение undefined
если введены недопустимые данные.
Пример:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Синтаксис
decodeUri(encoded_uri)
Параметры
Параметр | Тип | Описание |
---|---|---|
encoded_uri | нить | URI, закодированный с помощью encodeUri() или другими способами. |
Связанные разрешения
Никто.
decodeUriComponent
Декодирует все закодированные символы в предоставленном компоненте URI. Возвращает строку , представляющую декодированный компонент URI. Возвращает значение undefined
если предоставлены недопустимые входные данные.
Пример:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Синтаксис
decodeUriComponent(encoded_uri_component)
Параметры
Параметр | Тип | Описание |
---|---|---|
encoded_uri_component | нить | Компонент URI, закодированный с помощью encodeUriComponent() или другими способами. |
Связанные разрешения
Никто.
encodeUri
Возвращает закодированный унифицированный идентификатор ресурса (URI) путем экранирования специальных символов. Возвращает строку , представляющую предоставленную строку, закодированную как URI. Возвращает значение undefined
если введены недопустимые данные (один суррогат).
Пример:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Синтаксис
encodeUri(uri)
Параметры
Параметр | Тип | Описание |
---|---|---|
uri | нить | Полный URI. |
Связанные разрешения
Никто.
encodeUriComponent
Возвращает закодированный унифицированный идентификатор ресурса (URI) путем экранирования специальных символов. Возвращает строку , представляющую предоставленную строку, закодированную как URI. Возвращает значение undefined
если введены недопустимые данные (один суррогат).
Пример:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Синтаксис
encodeUriComponent(str)
Параметры
Параметр | Тип | Описание |
---|---|---|
str | нить | Компонент URI. |
Связанные разрешения
Никто.
fromBase64
API fromBase64
позволяет декодировать строки из их представления в формате base64. Возвращает undefined
при недопустимых входных данных.
Синтаксис
fromBase64(base64EncodedString)
Параметры
Параметр | Тип | Описание |
---|---|---|
base64EncodedString | нить | Строка в кодировке Base64. |
Пример
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Связанные разрешения
Никто
generateRandom
Возвращает случайное число (целое) в заданном диапазоне.
Синтаксис
generateRandom(min, max)
Параметры
Параметр | Тип | Описание |
---|---|---|
min | число | Минимально возможное значение возвращаемого целого числа. |
max | число | Максимально возможное значение возвращаемого целого числа. |
Связанные разрешения
Никто.
getContainerVersion
Возвращает объект , содержащий данные о текущем контейнере. Возвращаемый объект имеет следующие поля:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Пример
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);
}
}
Синтаксис
getContainerVersion();
Связанные разрешения
getCookieValues
Возвращает значения всех файлов cookie с заданным именем.
Синтаксис
getCookieValues(name[, decode])
Параметры
Параметр | Тип | Описание |
---|---|---|
name | нить | Имя файла cookie. |
decode | булев | Управляет декодированием значений cookie с помощью метода JavaScript decodeURIComponent() . Значение по умолчанию — true . |
Связанные разрешения
getQueryParameters
Возвращает первый или все параметры queryKey
текущего URL-адреса. Возвращает первое значение queryKey
или массив значений queryKey
.
Синтаксис
getQueryParameters(queryKey[, retrieveAll])
Параметры
Параметр | Тип | Описание |
---|---|---|
queryKey | нить | Ключ для чтения из параметров запроса. |
retrieveAll | булев | Нужно ли извлекать все значения. |
Например, если текущий URL-адрес — 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']
Связанные разрешения
get_url
должен разрешать компонент query
и должен указывать queryKey
в разрешенных ключах запроса (или разрешать любой ключ запроса).
getReferrerQueryParameters
API getReferrerQueryParameters
действует так же, как getQueryParameters
, но воздействует на реферер, а не на текущий URL. Возвращает первый или все параметры для queryKey
заданного реферера. Возвращает первое значение из queryKey
или массив значений из queryKey
.
Синтаксис
getReferrerQueryParameters(queryKey[, retrieveAll])
Параметры
Параметр | Тип | Описание |
---|---|---|
queryKey | нить | Ключ для чтения из параметров запроса. |
retrieveAll | булев | Нужно ли извлекать все значения. |
Например, если URL-адрес реферера — https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, то:
-
getReferrerQueryParameters('var') == 'foo'
-
getReferrerQueryParameters('var', false) == 'foo'
-
getReferrerQueryParameters('var', null) == 'foo'
-
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Связанные разрешения
get_referrer
должен разрешать компонент query
и должен указывать queryKey
в разрешенных ключах запроса (или разрешать любой ключ запроса).
getReferrerUrl
При наличии компонента API считывает объект документа для реферера и возвращает строку, представляющую его часть. Если компонент не указан, возвращается полный URL реферера.
Синтаксис
getReferrerUrl([component])
Параметры
Параметр | Тип | Описание |
---|---|---|
component | нить | Компонент, возвращаемый из URL-адреса. Может быть одним из следующих: protocol , host , port , path , query , extension . Если component undefined , null или не соответствует ни одному из этих компонентов, будет возвращён весь URL-адрес. |
Связанные разрешения
get_referrer
должен разрешать компонент query
и должен указывать queryKey
в разрешенных ключах запроса (или разрешать любой ключ запроса).
getTimestamp
Устарело. Предпочтительнее getTimestampMillis .
Возвращает число , представляющее текущее время в миллисекундах с момента появления Unix, возвращаемое функцией Date.now()
.
Синтаксис
getTimestamp();
Связанные разрешения
Никто.
getTimestampMillis
Возвращает число , представляющее текущее время в миллисекундах с момента появления Unix, возвращаемое функцией Date.now()
.
Синтаксис
getTimestampMillis();
Связанные разрешения
Никто.
getType
Возвращает строку , описывающую тип заданного значения. В отличие от typeof
, getType
различает array
и object
.
Синтаксис
getType(data.someField)
Примечания
В следующей таблице перечислены строки, возвращаемые для каждого входного значения.
Входное значение | Результат |
---|---|
undefined | 'неопределенный' |
null | 'нулевой' |
true | «булев» |
12 | 'число' |
'string' | 'нить' |
{ a: 3 } | 'объект' |
[ 1, 3 ] | 'множество' |
(x) => x + 1 | «функция» |
Связанные разрешения
Никто.
getUrl
Возвращает строку , представляющую весь текущий URL-адрес или его часть, с учетом типа компонента и некоторых параметров конфигурации.
Синтаксис
getUrl(component)
Параметры
Параметр | Тип | Описание |
---|---|---|
component | нить | Компонент, возвращаемый из URL-адреса. Должен быть одним из следующих: protocol , host , port , path , query , extension , fragment . Если компонент undefined , null или не соответствует ни одному из этих компонентов, будет возвращено полное значение href . |
Связанные разрешения
gtagSet
Передаёт команду gtag set на уровень данных для обработки как можно скорее после завершения обработки текущего события и всех вызванных им тегов (или истечения времени ожидания обработки тега). Обновление гарантированно будет обработано в этом контейнере до обработки любых элементов, находящихся в очереди уровня данных.
Например, если тег вызывается при инициализации согласия , обновление будет применено до обработки события инициализации. Примерами могут служить значения true
или false
ads_data_redaction
или значения true
или false
url_passthrough
.
Примеры:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Синтаксис
gtagSet(object)
Параметры
Параметр | Тип | Описание |
---|---|---|
Object | объект | Объект, который обновляет глобальное состояние содержащихся в нем свойств. |
Связанные разрешения
write_data_layer
проверяет разрешение на запись в dataLayer
для всех указанных ключей. Если входные данные gtagSet
— простой объект, API проверит разрешение на запись для всех преобразованных ключей внутри этого объекта, например, для gtagSet({foo: {bar: 'baz'}})
API проверит разрешение на запись в foo.bar
.
Если входные данные для gtagSet
представляют собой ключ и некоторое не простое значение объекта, API проверит наличие разрешения на запись для этого ключа, например, для gtagSet('abc', true)
API проверит наличие разрешения на запись для 'abc'
.
Обратите внимание, что если во входном объекте есть цикл, то будут проверяться только ключи, предшествующие тому же объекту.
injectHiddenIframe
Добавляет на страницу невидимый iframe.
Обратные вызовы предоставляются как экземпляры функций и помещаются в функции JavaScript, которые к ним обращаются.
Синтаксис
injectHiddenIframe(url, onSuccess)
Параметры
Параметр | Тип | Описание |
---|---|---|
url | нить | URL-адрес, который будет использоваться в качестве значения атрибута src iframe. |
onSuccess | функция | Вызывается при успешной загрузке фрейма. |
Связанные разрешения
injectScript
Добавляет тег скрипта на страницу для асинхронной загрузки указанного URL. Обратные вызовы предоставляются как экземпляры функций и обёрнуты в функции JavaScript, которые к ним обращаются.
Синтаксис
injectScript(url, onSuccess, onFailure[, cacheToken])
Параметры
Параметр | Тип | Описание |
---|---|---|
url | нить | Адрес скрипта, который будет внедрен. |
onSuccess | функция | Вызывается при успешной загрузке скрипта. |
onFailure | функция | Вызывается, когда скрипт не загружается. |
cacheToken | нить | Необязательная строка, указывающая, что заданный URL-адрес следует кэшировать. Если это значение указано, будет создан только один элемент скрипта для запроса JavaScript. Любые дополнительные попытки загрузки приведут к тому, что указанные методы onSuccess и onFailure будут помещены в очередь до полной загрузки скрипта. |
Связанные разрешения
isConsentGranted
Возвращает значение true, если указанный тип согласия предоставлен.
Согласие на конкретный тип согласия считается предоставленным, если для типа согласия установлено значение «предоставлено» или оно не установлено вообще. Если для типа согласия установлено любое другое значение, оно будет считаться не предоставленным.
Пользовательский интерфейс Менеджера тегов для настройки тегов будет предлагать параметр «Всегда срабатывать». Если тег с включённым параметром «Всегда срабатывать» использует этот API, согласие считается предоставленным, и будет возвращено значение true
, независимо от фактического состояния согласия.
Пример:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Синтаксис
isConsentGranted(consentType)
Параметры
Параметр | Тип | Описание |
---|---|---|
consentType | нить | Тип согласия, состояние которого необходимо проверить. |
Связанные разрешения
разрешение access_consent
с доступом на чтение для типа согласия.
JSON
Возвращает объект, предоставляющий функции JSON.
Функция parse()
анализирует строку JSON для создания значения или объекта, описанного этой строкой. Если значение не может быть проанализировано (например, JSON некорректен), функция вернёт undefined
. Если входное значение не является строкой, оно будет преобразовано в строку.
Функция stringify()
преобразует входные данные в строку JSON. Если значение не может быть проанализировано (например, объект содержит цикл), метод вернёт undefined
.
Синтаксис
JSON.parse(stringInput)
JSON.stringify(value);
Параметры
JSON.parse
Параметр | Тип | Описание |
---|---|---|
stringInput | любой | Значение для преобразования. Если значение не является строкой, входные данные будут преобразованы в строку. |
JSON.stringify
Параметр | Тип | Описание |
---|---|---|
ценить | любой | Значение для преобразования. |
Пример
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
Возвращает объект с методами доступа к локальному хранилищу.
Синтаксис
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);
Связанные разрешения
Пример
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
Регистрирует аргументы в консоли браузера.
Синтаксис
logToConsole(obj1 [, obj2,... objN])
Параметры
Параметр | Тип | Описание |
---|---|---|
obj1 [, obj2,... objN] | любой | Аргументы |
Связанные разрешения
makeInteger
Преобразует заданное значение в число (целое).
Синтаксис
makeInteger(value)
Параметры
Параметр | Тип | Описание |
---|---|---|
value | любой | Значение для преобразования. |
Связанные разрешения
Никто.
makeNumber
Преобразует заданное значение в число .
Синтаксис
makeNumber(value)
Параметры
Параметр | Тип | Описание |
---|---|---|
value | любой | Значение для преобразования. |
Связанные разрешения
Никто.
makeString
Возвращает заданное значение в виде строки .
Синтаксис
makeString(value)
Параметры
Параметр | Тип | Описание |
---|---|---|
value | любой | Значение для преобразования. |
Связанные разрешения
Никто.
makeTableMap
Преобразует простой табличный объект с двумя столбцами в Map
. Используется для преобразования поля шаблона SIMPLE_TABLE
с двумя столбцами в более удобный формат.
Например, эта функция может преобразовать табличный объект:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
на карту:
{
'k1': 'v1',
'k2': 'v2'
}
Возвращает объект : преобразованную Map
, если к ней были добавлены пары ключ-значение, или null
в противном случае.
Синтаксис
makeTableMap(tableObj, keyColumnName, valueColumnName)
Параметры
Параметр | Тип | Описание |
---|---|---|
tableObj | Список | Объект таблицы для преобразования. Это список карт, где каждая Map представляет строку таблицы. Имя каждого свойства в объекте строки — это имя столбца, а значение свойства — это значение столбца в строке. |
keyColumnName | нить | Имя столбца, значения которого станут ключами в преобразованной Map . |
valueColumnName | нить | Имя столбца, значения которого станут значениями в преобразованной Map . |
Связанные разрешения
Никто.
Math
Объект, предоставляющий Math
функции.
Синтаксис
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);
Параметры
Параметры математических функций преобразуются в числа.
Связанные разрешения
Никто.
Object
Возвращает объект, предоставляющий методы Object
.
Метод keys()
реализует поведение Object.keys() стандартной библиотеки. Он возвращает массив имён собственных перечисляемых свойств заданного объекта в том же порядке, что и цикл for...in...
Если входное значение не является объектом, оно будет приведено к объекту.
Метод values()
реализует поведение Object.values() стандартной библиотеки. Он возвращает массив значений перечисляемых свойств заданного объекта в том же порядке, что и цикл for...in...
Если входное значение не является объектом, оно будет приведено к объекту.
Метод entries()
реализует поведение Object.entries() стандартной библиотеки. Он возвращает массив пар перечисляемых свойств [key, value]
заданного объекта в том же порядке, что и цикл for...in...
Если входное значение не является объектом, оно будет приведено к объекту.
Метод freeze()
реализует поведение объекта стандартной библиотеки Object.freeze() . Замороженный объект больше не может быть изменён; заморозка объекта предотвращает добавление к нему новых свойств, удаление существующих свойств и изменение значений существующих свойств. freeze()
возвращает тот же объект, который был передан. Аргумент-примитив или null будет обработан как замороженный объект и будет возвращён.
Метод delete()
реализует поведение оператора удаления Стандартной библиотеки. Он удаляет заданный ключ из объекта, если объект не заморожен. Как и оператор удаления Стандартной библиотеки, он возвращает true
если первое входное значение ( objectInput
) является объектом, который не заморожен, даже если второе входное значение ( keyToDelete
) указывает на несуществующий ключ. Во всех остальных случаях он возвращает false
. Однако он отличается от оператора удаления Стандартной библиотеки следующим:
-
keyToDelete
не может быть строкой, разделенной точками, которая указывает вложенный ключ. -
delete()
нельзя использовать для удаления элементов из массива. -
delete()
нельзя использовать для удаления каких-либо свойств из глобальной области действия.
Синтаксис
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Параметры
Object.keys
Параметр | Тип | Описание |
---|---|---|
objectInput | любой | Объект, ключи которого перечисляются. Если входные данные не являются объектом, они будут приведены к объекту. |
Объектные значения
Параметр | Тип | Описание |
---|---|---|
objectInput | любой | Объект, значения которого необходимо перечислить. Если входные данные не являются объектом, они будут приведены к объекту. |
Объект.записи
Параметр | Тип | Описание |
---|---|---|
objectInput | любой | Объект, пары ключ/значение которого нужно перечислить. Если входные данные не являются объектом, они будут приведены к объекту. |
Объект.заморозка
Параметр | Тип | Описание |
---|---|---|
objectInput | любой | Объект для заморозки. Если входные данные не являются объектом, они будут рассматриваться как замороженные. |
Объект.удалить
Параметр | Тип | Описание |
---|---|---|
objectInput | любой | Объект, ключ которого необходимо удалить. |
keyToDelete | нить | Ключ верхнего уровня для удаления. |
Пример
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
Возвращает объект, содержащий все составные части заданного URL-адреса, аналогично объекту URL
.
Этот API вернёт undefined
для любого некорректного URL. Для правильно отформатированных URL поля, отсутствующие в строке URL, будут иметь значение пустой строки или, в случае searchParams
, пустой объект.
Возвращаемый объект будет иметь следующие поля:
{
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,
}
Пример
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Синтаксис
parseUrl(url);
Параметры
Параметр | Тип | Описание |
---|---|---|
url | нить | Полный URL, который будет проанализирован. |
Связанные разрешения
Никто.
queryPermission
Запрос разрешенных и ограниченных разрешений. Возвращает логическое значение : true
если разрешение предоставлено, false
в противном случае.
Синтаксис
queryPermission(permission, functionArgs*)
Параметры
Параметр | Тип | Описание |
---|---|---|
permission | нить | Название разрешения. |
functionArgs | любой | Аргументы функции различаются в зависимости от запрашиваемого разрешения. См. раздел «Аргументы функции» ниже. |
Аргументы функции
sendPixel
, injectScript
, injectHiddenIframe
: Второй параметр должен быть строкой URL.
writeGlobals
, readGlobals
: второй параметр должен быть ключом, который записывается или считывается.
readUrl
: Для запроса возможности чтения всего URL-адреса дополнительные аргументы не требуются. Чтобы запросить возможность чтения заданного компонента, передайте имя компонента в качестве второго аргумента:
if (queryPermission('readUrl','port')) {
// read the port
}
Чтобы проверить, доступен ли для чтения определенный ключ запроса, передайте ключ запроса в качестве третьего параметра:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Связанные разрешения
Никто.
readAnalyticsStorage
Извлекает данные, сохраненные для аналитики, и возвращает объект с client_id
и sessions
.
-
client_id
: строка, представляющая идентификатор клиента, используемый для аналитики. -
sessions
: массив объектов, содержащий информацию о текущих сеансах. Каждый объект включает:-
measurement_id
: строка, представляющая идентификатор измерения для пункта назначения Analytics. -
session_id
: строка, представляющая метку времени, идентифицирующую текущий сеанс. -
session_number
: число, представляющее количество сеансов, которые пользователь начал до текущего сеанса.
-
Синтаксис
const readAnalyticsStorage = require('readAnalyticsStorage');
const cookieOptions = {
cookie_prefix: "xyz",
cookie_domain: "google.com",
cookie_path: "/",
};
readAnalyticsStorage(cookieOptions);
Параметры
Параметр | Тип | Описание |
---|---|---|
cookieOptions | объект | Дополнительные параметры для чтения файлов cookie с определенными cookie_prefix , cookie_domain или cookie_path . |
Связанные разрешения
Пример
const readAnalyticsStorage = require('readAnalyticsStorage');
const analyticsStorageData = readAnalyticsStorage();
sendOfflineEvent(analyticsStorageData.client_id, "tutorial_begin");
readCharacterSet
Возвращает значение document.characterSet
.
Синтаксис
readCharacterSet()
Параметры
Никто.
Связанные разрешения
readTitle
Возвращает значение document.title
.
Синтаксис
readTitle()
Параметры
Никто.
Связанные разрешения
require
Импортирует встроенную функцию по имени. Возвращает функцию или объект , которые можно вызвать из вашей программы. Возвращает undefined , если браузер не поддерживает встроенную функцию.
Синтаксис
require(name)
Параметры
Параметр | Тип | Описание |
---|---|---|
name | нить | Имя импортируемой функции. |
Пример
const getUrl = require('getUrl');
const url = getUrl();
Связанные разрешения
Никто.
sendPixel
Выполняет GET-запрос к указанной конечной точке URL.
Синтаксис
sendPixel(url, onSuccess, onFailure)
Параметры
Параметр | Тип | Описание |
---|---|---|
url | нить | Куда отправить пиксель. |
onSuccess | функция | Вызывается при успешной загрузке пикселя. Примечание: даже если запрос успешно отправлен, браузерам может потребоваться корректный ответ изображения для выполнения onSuccess. |
onFailure | функция | Вызывается, когда пиксель не загружается. Примечание: даже при успешной отправке запроса onFailure может сработать, если сервер не вернул корректный ответ с изображением. |
Связанные разрешения
setCookie
Устанавливает или удаляет cookie-файл с указанным именем, значением и параметрами.
Синтаксис
setCookie(name, value[, options, encode])
Параметры
Параметр | Тип | Описание |
---|---|---|
name | нить | Имя файла cookie. |
value | нить | Значение cookie-файла. |
options | объект | Указывает атрибуты «Домен», «Путь», «Истекает», «Максимальный возраст», «Безопасный» и «SameSite» . (См. раздел «Параметры» ниже.) |
encode | булев | Управляет кодированием значения cookie с помощью метода JavaScript encodeURIComponent() . Значение по умолчанию — true . |
- Домен: задаётся свойством
options['domain']
, если оно задано. Установите это значение на'auto'
, чтобы попытаться записать cookie-файл, используя максимально широкий домен в зависимости от расположения документа. Если это не удастся, будут последовательно перебраны более узкие поддомены. Если все эти попытки окажутся неудачными, будет предпринята попытка записать cookie-файл без домена. Если значение не задано, будет предпринята попытка записать cookie-файл без указания домена. Примечание: при записи cookie-файла без указания домена вdocument.cookie
пользовательский агент по умолчанию установит домен cookie-файла на хост текущего расположения документа. - Путь: задаётся параметром
options['path']
, если он указан. При записи cookie-файла без указанного пути вdocument.cookie
пользовательский агент по умолчанию использует путь к текущему расположению документа. - Max-Age: задается
options['max-age']
, если они присутствуют. - Срок действия: задаётся параметром
options['expires']
, если он указан. Если он указан, это должна быть строка даты в формате UTC. Для форматированияDate
для этого параметра можно использоватьDate.toUTCString()
. - Безопасно: задается с помощью
options['secure']
, если присутствует. - SameSite: задается с помощью
options['samesite']
, если присутствует.
Связанные разрешения
setDefaultConsentState
Отправляет обновление согласия по умолчанию на уровень данных для обработки как можно скорее после завершения обработки текущего события и всех вызванных им тегов (или истечения времени ожидания обработки тега). Обновление гарантированно будет обработано в этом контейнере до обработки любых элементов в очереди на уровне данных. Подробнее о согласии .
Пример:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Синтаксис
setDefaultConsentState(consentSettings)
Параметры
Параметр | Тип | Описание |
---|---|---|
consentSettings | объект | Объект, определяющий состояние по умолчанию для указанных типов согласия. |
Объект consentSettings
представляет собой сопоставление строк произвольного типа согласия с одним из значений 'granted'
или 'denied'
. Он поддерживает следующие значения:
Имя ключа | Тип | Описание |
---|---|---|
consentType | нить | Для каждого типа согласия можно задать значение «предоставлено» или «отказано». Любое значение, отличное от «предоставлено», будет рассматриваться как «отказано». Установка значения «не определено» не повлияет на его предыдущее значение. |
region | Множество | Необязательный массив кодов регионов, указывающий, к какому региону применяются настройки согласия. Коды регионов указываются с использованием названий стран и/или подразделений в формате ISO 3166-2. |
wait_for_update | число | Задаёт значение в миллисекундах для управления временем ожидания отправки данных. Используется с инструментами получения согласия, которые загружаются асинхронно. |
Связанные разрешения
Разрешение access_consent
с доступом на запись для всех типов согласия в объекте consentSettings.
setInWindow
Устанавливает заданное значение в window
по заданному ключу. По умолчанию этот метод не устанавливает значение в window
если оно уже существует. Установите overrideExisting
в true
, чтобы установить значение в window
независимо от наличия существующего значения. Возвращает логическое значение : true
, если значение было успешно установлено, и false
в противном случае.
Синтаксис
setInWindow(key, value, overrideExisting)
Параметры
Параметр | Тип | Описание |
---|---|---|
key | нить | Ключ в window , в которое нужно поместить значение. |
value | * | Значение, которое нужно установить в window . |
overrideExisting | булев | Флаг, указывающий, что значение должно быть установлено в window , независимо от того, есть там значение или нет. |
Связанные разрешения
sha256
Вычисляет дайджест SHA-256 входных данных и вызывает обратный вызов с дайджестом, закодированным в base64, если объект options
не указывает другую кодировку выходных данных.
Пример:
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'});
Синтаксис
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Параметры
Параметр | Тип | Описание |
---|---|---|
input | нить | Строка, для которой необходимо вычислить хеш. |
onSuccess | функция | Вызывается с полученным дайджестом, закодированным в base64, если объект options не указывает другую выходную кодировку. |
onFailure | функция | Вызывается, если при вычислении дайджеста произошла ошибка или если браузер не поддерживает SHA256. Обратный вызов выполняется с объектом, содержащим имя ошибки и сообщение. |
options | объект | Необязательный объект options для указания кодировки выходных данных. Если он указан, объект должен содержать ключ outputEncoding со значением base64 или hex . |
Связанные разрешения
Никто.
templateStorage
Возвращает объект с методами доступа к хранилищу шаблонов. Хранилище шаблонов позволяет использовать данные совместно при выполнении одного шаблона. Данные, хранящиеся в хранилище шаблонов, сохраняются на протяжении всего жизненного цикла страницы.
Синтаксис
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Связанные разрешения
Пример
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
API toBase64
позволяет кодировать строку в представление base64.
Синтаксис
toBase64(input)
Параметры
Параметр | Тип | Описание |
---|---|---|
input | нить | Строка для кодирования. |
Пример
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Связанные разрешения
Никто
updateConsentState
Отправляет обновление согласия на уровень данных для обработки как можно скорее после завершения обработки текущего события и всех вызванных им тегов (или истечения времени ожидания обработки тега). Обновление гарантированно будет обработано в этом контейнере до обработки любых элементов, находящихся в очереди на уровне данных. Подробнее о согласии .
Пример:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Синтаксис
updateConsentState(consentSettings)
Параметры
Параметр | Тип | Описание |
---|---|---|
consentSettings | объект | Объект, который обновляет состояние для указанных типов согласия. |
Объект consentSettings
представляет собой сопоставление строк произвольного типа согласия с одним из значений 'granted'
или 'denied'
. Он поддерживает следующие значения:
Имя ключа | Тип | Описание |
---|---|---|
consentType | нить | Для каждого типа согласия можно задать значение «предоставлено» или «отказано». Любое значение, отличное от «предоставлено», будет считаться «отказано». Установка значения «не определено» не повлияет на его предыдущее значение. |
Связанные разрешения
Разрешение access_consent
с доступом на запись для всех типов согласия в объекте consentSettings.
Тестовые API
Эти API работают с изолированными тестами JavaScript для создания тестов для пользовательских шаблонов в Диспетчере тегов Google. Этим API не требуется оператор require()
. Подробнее о тестах пользовательских шаблонов читайте здесь .
assertApi
Возвращает объект сопоставления, который можно использовать для быстрого создания утверждений о заданном API.
Синтаксис
assertApi(apiName)
Параметры
Параметр | Тип | Описание |
---|---|---|
apiName | нить | Имя API для проверки; та же строка, что передана в require() . |
Матчеры
-
Subject.wasCalled()
-
Subject.wasNotCalled()
-
Subject.wasCalledWith(...expected)
-
Subject.wasNotCalledWith(...expected)
Примеры
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
API assertThat
создан по образцу библиотеки Google [Truth]. Он возвращает объект, который можно использовать для быстрого формирования утверждений о значении объекта. Невыполнение утверждения немедленно остановит тест и пометит его как проваленный. Однако сбой в одном тесте не повлияет на другие тестовые случаи.
Синтаксис
assertThat(actual, opt_message)
Параметры
Параметр | Тип | Описание |
---|---|---|
actual | любой | Значение, которое следует использовать в проверках плавности. |
opt_message | нить | Необязательное сообщение для печати, если утверждение не выполняется. |
Матчеры
Сопоставитель | Описание |
---|---|
isUndefined() | Утверждает, что субъект undefined . |
isDefined() | Утверждает, что субъект не является undefined . |
isNull() | Утверждает, что субъект имеет значение null . |
isNotNull() | Утверждает, что субъект не является null . |
isFalse() | Утверждает, что субъект является false . |
isTrue() | Утверждает, что предмет является true . |
isFalsy() | Утверждает, что объект является ложным. Ложными значениями являются undefined , null , false , NaN , 0 и '' (пустая строка). |
isTruthy() | Утверждает, что объект является истинным. Ложными значениями являются undefined , null , false , NaN , 0 и '' (пустая строка). |
isNaN() | Утверждает, что объект имеет значение NaN. |
isNotNaN() | Утверждает, что объект имеет любое значение, кроме NaN. |
isInfinity() | Утверждает, что субъект является положительной или отрицательной Бесконечностью. |
isNotInfinity() | Утверждает, что субъект имеет любое значение, кроме положительной или отрицательной бесконечности. |
isEqualTo(expected) | Утверждает, что объект равен заданному значению. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
isNotEqualTo(expected) | Утверждает, что объект не равен заданному значению. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
isAnyOf(...expected) | Утверждает, что объект равен одному из заданных значений. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
isNoneOf(...expected) | Утверждает, что объект не равен ни одному из заданных значений. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
isStrictlyEqualTo(expected) | Утверждает, что объект строго равен ( === ) заданному значению. |
isNotStrictlyEqualTo(expected) | Утверждает, что объект не строго равен ( !== ) заданному значению. |
isGreaterThan(expected) | Утверждает, что объект больше ( > ) заданного значения в упорядоченном сравнении. |
isGreaterThanOrEqualTo(expected) | Утверждает, что объект больше или равен ( >= ) заданному значению в упорядоченном сравнении. |
isLessThan(expected) | Утверждает, что объект меньше ( < ) заданного значения в упорядоченном сравнении. |
isLessThanOrEqualTo(expected) | Утверждает, что объект меньше или равен ( <= ) заданному значению в упорядоченном сравнении. |
contains(...expected) | Утверждает, что объект — это массив или строка, содержащая все заданные значения в любом порядке. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
doesNotContain(...expected) | Утверждает, что объект является массивом или строкой, не содержащей ни одного из заданных значений. Это сравнение значений, а не ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
containsExactly(...expected) | Утверждает, что объект — массив, содержащий все заданные значения в любом порядке и не содержащий других значений. Это сравнение значений, а не сравнение ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
doesNotContainExactly(...expected) | Утверждает, что объект — массив, содержащий набор значений, отличный от заданного, в любом порядке. Это сравнение значений, а не сравнение ссылок. Содержимое объектов и массивов сравнивается рекурсивно. |
hasLength(expected) | Утверждает, что объект является массивом или строкой заданной длины. Утверждение всегда ложно, если значение не является массивом или строкой. |
isEmpty() | Утверждает, что объект является пустым массивом или строкой (длина = 0). Утверждение всегда ложно, если значение не является массивом или строкой. |
isNotEmpty() | Утверждает, что объект является массивом или строкой, которая не является пустой (длина > 0). Утверждение всегда ложно, если значение не является массивом или строкой. |
isArray() | Утверждает, что тип субъекта — массив. |
isBoolean() | Утверждает, что тип субъекта — логический. |
isFunction() | Утверждает, что тип субъекта — функция. |
isNumber() | Утверждает, что типом субъекта является число. |
isObject() | Утверждает, что типом субъекта является объект. |
isString() | Утверждает, что тип субъекта — строка. |
Примеры
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
Немедленно проваливает текущий тест и выводит указанное сообщение, если оно указано.
Синтаксис
fail(opt_message);
Параметры
Параметр | Тип | Описание |
---|---|---|
opt_message | нить | Дополнительный текст сообщения об ошибке. |
Пример
fail('This test has failed.');
mock
API- mock
позволяет переопределять поведение изолированных API. API-заглушки безопасно использовать в шаблонном коде, но он работает только в тестовом режиме. Настройки API-заглушек сбрасываются перед каждым запуском теста.
Синтаксис
mock(apiName, returnValue);
Параметры
Параметр | Тип | Описание |
---|---|---|
apiName | нить | Имя API для имитации; та же строка, что передана в require() |
returnValue | любой | Значение, возвращаемое для API или функции, вызываемой вместо API. Если returnValue — функция, эта функция вызывается вместо изолированного API; если returnValue — что-то иное, кроме функции, это значение возвращается вместо изолированного API. |
Примеры
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
API mockObject
позволяет переопределять поведение изолированных API, возвращающих объект. API можно безопасно использовать в шаблонном коде, но он работает только в тестовом режиме. Моки сбрасываются перед каждым запуском теста.
Синтаксис
mockObject(apiName, objectMock);
Параметры
Параметр | Тип | Описание |
---|---|---|
apiName | нить | Имя API для имитации; та же строка, что передана в require() |
objectMock | объект | Значение для возврата для API или функции, вызванной вместо API. Должен быть объект. |
Примеры
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Запускает код для шаблона, то есть содержимое вкладки кода , в текущей среде тестирования с данным объектом входных данных.
Синтаксис
runCode(data)
Параметры
Параметр | Тип | Описание |
---|---|---|
data | объект | Объект данных, который будет использоваться в тесте. |
Возвращаемое значение
Возвращает значение переменной для переменных шаблонов; Возвращает undefined
для всех других типов шаблонов.
Пример
runCode({field1: 123, field2: 'value'});