API template kustom

API Inti

API ini berfungsi bersama JavaScript dengan sandbox untuk membuat template kustom di Google Tag Manager. Setiap API ditambahkan dengan pernyataan require(), misalnya:

const myAPI = require('myAPI');

addConsentListener

Mendaftarkan fungsi pemroses untuk dieksekusi saat status jenis izin yang ditentukan berubah.

Pemroses yang diberikan akan dipanggil setiap kali status untuk jenis izin yang ditentukan berubah dari ditolak menjadi diberikan atau dari diberikan menjadi ditolak. Jenis izin tanpa status akan dianggap diberikan, sehingga pemroses tidak akan dipanggil jika jenis izin yang tidak ditetapkan diperbarui menjadi diberikan. Fungsi pemroses akan bertanggung jawab untuk memastikan kodenya berjalan dengan frekuensi yang sesuai.

Contoh:

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);
  });
}

Sintaksis

addConsentListener(consentType, listener)

Parameter

Parameter Jenis Deskripsi
consentType string Jenis izin untuk memproses perubahan status.
listener fungsi Fungsi yang akan dijalankan saat status jenis izin yang ditentukan berubah.

Saat pemroses dipanggil, jenis izin yang diubah dan nilai yang baru dari jenis izin tersebut akan diteruskan:

Parameter Jenis Deskripsi
consentType string Jenis izin yang diubah.
granted boolean Boolean yang bernilai true (benar) jika jenis izin yang ditentukan diubah menjadi diberikan.

Izin terkait

Izin access_consent dengan akses baca untuk jenis izin.


addEventCallback

API addEventCallback memungkinkan Anda mendaftarkan fungsi callback yang akan dipanggil di akhir peristiwa. Callback akan dipanggil saat semua tag untuk peristiwa telah dieksekusi, atau jika waktu tunggu peristiwa dalam halaman tercapai. Callback mendapatkan dua nilai yang diteruskan, yaitu ID penampung yang memanggil fungsi dan sebuah objek yang berisi informasi tentang peristiwa.

Sintaksis

addEventCallback(callback)

Parameter

Parameter Jenis Deskripsi
callback fungsi Fungsi yang akan dipanggil di akhir peristiwa.

Objek eventData berisi data berikut:

Nama Kunci Jenis Deskripsi
tags Array Array objek data tag. Setiap tag yang diaktifkan selama peristiwa akan memiliki entri dalam array ini. Objek data tag berisi ID tag (id), status eksekusinya (status), dan waktu eksekusinya (executionTime). Data tag juga akan menyertakan metadata tag tambahan yang dikonfigurasi di tag.

Contoh

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

Izin terkait

read_event_metadata


aliasInWindow

API aliasInWindow memungkinkan Anda membuat alias (misalnya, window.foo = window.bar), yang membantu mendukung tag tertentu yang memerlukan alias. Menetapkan nilai dalam objek window yang ditemukan di fromPath ke kunci dalam objek window di toPath. Menampilkan true jika berhasil, false jika tidak.

Sintaksis

aliasInWindow(toPath, fromPath)

Parameter

Parameter Jenis Deskripsi
toPath string Jalur yang dipisahkan titik menuju objek window tempat nilai akan disalin. Semua komponen dalam jalur hingga komponen terakhir harus sudah ada dalam objek window.
fromPath string Jalur yang dipisahkan titik menuju window ke nilai yang akan disalin. Jika nilainya tidak ada, operasi akan gagal.

Contoh

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

Izin terkait

access_globals diperlukan untuk toPath dan fromPath; toPath memerlukan akses tulis, fromPath memerlukan akses baca.


callInWindow

Memungkinkan Anda memanggil fungsi dari jalur di luar objek window, dengan cara yang dikontrol kebijakan. Memanggil fungsi di jalur yang diberikan di window dengan argumen yang diberikan dan menampilkan nilainya. Jika jenis nilai yang ditampilkan tidak dapat dipetakan langsung ke jenis yang didukung di JavaScript dengan sandbox, undefined akan ditampilkan. Delapan jenis nilai yang didukung dalam JavaScript dengan sandbox adalah null, undefined, boolean, number, string, Array, Object, dan function. Jika jalur yang diberikan tidak ada, atau tidak mereferensikan sebuah fungsi, undefined akan ditampilkan.

Sintaksis

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

Parameter

Parameter Jenis Deskripsi
pathToFunction string Jalur yang dipisahkan titik ke fungsi di window yang akan dipanggil.
args * Argumen yang akan diteruskan ke fungsi.

Izin terkait

access_globals dengan izin execute diaktifkan.


callLater

Menjadwalkan panggilan ke fungsi agar terjadi secara asinkron. Fungsi ini akan dipanggil setelah kode saat ini ditampilkan. Fungsi ini setara dengan setTimeout(<function>, 0).

Sintaksis

callLater(function)

Parameter

Parameter Jenis Deskripsi
function fungsi Fungsi yang akan dipanggil.

copyFromDataLayer

Menampilkan nilai yang sedang ditetapkan ke kunci yang diberikan dalam lapisan data: Nilai yang ditemukan pada kunci yang diberikan jika berupa jenis primitif, fungsi, atau literal objek, atau undefined jika tidak.

Sintaksis

copyFromDataLayer(key[, dataLayerVersion])

Parameter

Parameter Jenis Deskripsi
key string Kunci dalam format "a.b.c".
dataLayerVersion angka Versi lapisan data opsional. Nilai defaultnya adalah 2. Sangat tidak dianjurkan untuk menggunakan nilai 1.

Izin terkait

read_data_layer


copyFromWindow

Menyalin variabel dari objek window. Jika nilai dalam window tidak dapat dipetakan secara langsung ke jenis yang didukung dalam JavaScript dengan sandbox, undefined akan ditampilkan. Delapan jenis yang didukung dalam JavaScript dengan sandbox adalah null, undefined, boolean, number, string, Array, Object, dan function. Menampilkan nilai yang diambil (dan dikonversi).

Sintaksis

copyFromWindow(key)

Parameter

Parameter Jenis Deskripsi
key string Kunci di window untuk menyalin nilainya.

Izin terkait

access_globals


createArgumentsQueue

Membuat antrean yang diisi dengan objek argumen, untuk mendukung solusi tag yang memerlukannya.

Membuat fungsi dalam cakupan global (yaitu window), menggunakan argumen fnKey (semantik yang sama dengan createQueue). Setelah fungsi tersebut dibuat, API ini kemudian akan membuat array di window (jika belum ada) menggunakan argumen arrayKey.

Saat fungsi yang dibuat pada fnKey dipanggil, objek argumennya akan didorong ke array yang dibuat pada arrayKey. Nilai yang ditampilkan API adalah fungsi yang dibuat di fnKey.

Fungsi ini memerlukan setelan baca dan tulis untuk fnKey dan arrayKey pada izin access_globals.

Contoh:

const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});

Sintaksis

createArgumentsQueue(fnKey, arrayKey)

Parameter

Parameter Jenis Deskripsi
fnKey string Jalur di window tempat fungsi ditetapkan, jika belum ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan menampilkan pengecualian. Artinya, jika fnKey adalah 'one.two', pengecualian akan ditampilkan.
arrayKey string Jalur di window tempat array ditetapkan, jika belum ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan menampilkan pengecualian. Artinya, jika arrayKey adalah 'one.two', dan tidak ada objek global bernama 'one', parameter akan menampilkan pengecualian.

Izin terkait

access_globals


createQueue

Membuat array dalam window (jika belum ada) dan menampilkan fungsi yang akan mengirim nilai ke array tersebut.

Fungsi ini memerlukan setelan baca dan tulis untuk arrayKey pada izin access_globals.

Contoh:

const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});

Sintaksis

createQueue(arrayKey)

Parameter

Parameter Jenis Deskripsi
arrayKey string Kunci di window tempat array ditetapkan, jika belum ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan menampilkan pengecualian. Misalnya, jika arrayKey adalah 'one.two', dan tidak ada objek global bernama 'one', parameter akan menampilkan pengecualian.

Izin terkait

access_globals


decodeUri

Mendekode karakter apa pun yang dienkode dalam URI yang disediakan. Menampilkan string yang mewakili URI yang didekode. Menampilkan undefined jika disediakan dengan input yang tidak valid.

Contoh:

const decode = require('decodeUri');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Sintaksis

decodeUri(encoded_uri)

Parameter

Parameter Jenis Deskripsi
encoded_uri string URI yang telah dienkode oleh encodeUri() atau dengan cara lain.

Izin terkait

Tidak ada.


decodeUriComponent

Mendekode karakter apa pun yang dienkode dalam komponen URI yang disediakan. Menampilkan string yang mewakili komponen URI yang didekode. Menampilkan undefined jika disediakan dengan input yang tidak valid.

Contoh:

const decode = require('decodeUriComponent');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Sintaksis

decodeUriComponent(encoded_uri_component)

Parameter

Parameter Jenis Deskripsi
encoded_uri_component string Komponen URI yang telah dienkode oleh encodeUriComponent() atau dengan cara lain.

Izin terkait

Tidak ada.


encodeUri

Menampilkan Uniform Resource Identifier (URI) yang dienkode dengan meng-escape karakter khusus. Menampilkan string yang mewakili string yang disediakan yang dienkode sebagai URI. Menampilkan undefined jika disediakan dengan input yang tidak valid (surrogate tunggal).

Contoh:

sendPixel('https://www.example.com/' + encodeUri(pathInput));

Sintaksis

encodeUri(uri)

Parameter

Parameter Jenis Deskripsi
uri string URI lengkap.

Izin terkait

Tidak ada.


encodeUriComponent

Menampilkan Uniform Resource Identifier (URI) yang dienkode dengan meng-escape karakter khusus. Menampilkan string yang mewakili string yang disediakan yang dienkode sebagai URI. Menampilkan undefined jika disediakan dengan input yang tidak valid (surrogate tunggal).

Contoh:

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

Sintaksis

encodeUriComponent(str)

Parameter

Parameter Jenis Deskripsi
str string Komponen URI.

Izin terkait

Tidak ada.


fromBase64

API fromBase64 memungkinkan Anda mendekode string dari representasi base64. Menampilkan undefined jika disediakan dengan input yang tidak valid.

Sintaksis

fromBase64(base64EncodedString)

Parameter

Parameter Jenis Deskripsi
base64EncodedString string String berenkode base64.

Contoh

const fromBase64 = require('fromBase64');

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

Izin terkait

Tidak ada


generateRandom

Menampilkan angka (bilangan bulat) acak dalam rentang yang diberikan.

Sintaksis

generateRandom(min, max)

Parameter

Parameter Jenis Deskripsi
min angka Nilai potensial minimum bilangan bulat yang ditampilkan.
max angka Nilai potensial maksimum bilangan bulat yang ditampilkan.

Izin terkait

Tidak ada.


getContainerVersion

Menampilkan objek yang berisi data tentang penampung saat ini. Objek yang ditampilkan memiliki kolom berikut:

{
  containerId: string,
  debugMode: boolean,
  environmentName: string,
  environmentMode: boolean,
  previewMode: boolean,
  version: string,
}

Contoh

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);
  }
}

Sintaksis

getContainerVersion();

Izin terkait

read_container_data


getCookieValues

Menampilkan nilai semua cookie dengan nama yang diberikan.

Sintaksis

getCookieValues(name[, decode])

Parameter

Parameter Jenis Deskripsi
name string Nama cookie.
decode boolean Mengontrol apakah nilai cookie harus didekode dengan decodeURIComponent() JavaScript. Nilai defaultnya adalah true.

Izin terkait

get_cookies


getQueryParameters

Menampilkan bagian pertama atau seluruh parameter untuk queryKey URL saat ini. Menampilkan nilai pertama dari queryKey atau Array nilai dari queryKey.

Sintaksis

getQueryParameters(queryKey[, retrieveAll])

Parameter

Parameter Jenis Deskripsi
queryKey string Kunci untuk membaca dari parameter kueri.
retrieveAll boolean Apakah akan mengambil semua nilai.

Misalnya, jika URL saat ini adalah https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, maka:

  • getQueryParameters('var') == 'foo'
  • getQueryParameters('var', false) == 'foo'
  • getQueryParameters('var', null) == 'foo'
  • getQueryParameters('var', true) == ['foo', 'foo2', 'foo']

Izin terkait

get_url harus mengizinkan komponen query, dan harus menentukan queryKey dalam kunci kueri yang diizinkan (atau mengizinkan semua kunci kueri).


getReferrerQueryParameters

API getReferrerQueryParameters bertindak dengan cara yang sama seperti getQueryParameters, tetapi bertindak pada perujuk, bukan URL saat ini. Menampilkan bagian pertama atau seluruh parameter untuk queryKey perujuk yang diberikan. Menampilkan nilai pertama dari queryKey atau Array nilai dari queryKey.

Sintaksis

getReferrerQueryParameters(queryKey[, retrieveAll])

Parameter

Parameter Jenis Deskripsi
queryKey string Kunci untuk membaca dari parameter kueri.
retrieveAll boolean Apakah akan mengambil semua nilai.

Misalnya, jika URL perujuk adalah https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, maka:

  • getReferrerQueryParameters('var') == 'foo'
  • getReferrerQueryParameters('var', false) == 'foo'
  • getReferrerQueryParameters('var', null) == 'foo'
  • getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']

Izin terkait

get_referrer harus mengizinkan komponen query, dan harus menentukan queryKey dalam kunci kueri yang diizinkan (atau mengizinkan semua kunci kueri).


getReferrerUrl

Dengan mempertimbangkan jenis komponen, API membaca objek dokumen untuk perujuk dan menampilkan string yang mewakili sebagian perujuk. Jika tidak ada komponen yang ditentukan, URL perujuk lengkap akan ditampilkan.

Sintaksis

getReferrerUrl([component])

Parameter

Parameter Jenis Deskripsi
component string Komponen yang akan ditampilkan dari URL. Dapat berupa salah satu dari hal berikut: protocol, host, port, path, query, extension. Jika component adalah undefined, null, atau tidak cocok dengan salah satu komponen ini, seluruh URL akan ditampilkan.

Izin terkait

get_referrer harus mengizinkan komponen query, dan harus menentukan queryKey dalam kunci kueri yang diizinkan (atau mengizinkan semua kunci kueri).


getTimestamp

Tidak digunakan lagi. Pilih getTimestampMillis.

Menampilkan angka yang mewakili waktu saat ini dalam milidetik sejak epoch Unix, seperti yang ditampilkan oleh Date.now().

Sintaksis

getTimestamp();

Izin terkait

Tidak ada.


getTimestampMillis

Menampilkan angka yang mewakili waktu saat ini dalam milidetik sejak epoch Unix, seperti yang ditampilkan oleh Date.now().

Sintaksis

getTimestampMillis();

Izin terkait

Tidak ada.


getType

Menampilkan string yang mendeskripsikan jenis nilai yang diberikan. Tidak seperti typeof, getType membedakan antara array dan object.

Sintaksis

getType(data.someField)

Catatan

Tabel berikut mencantumkan string yang ditampilkan untuk setiap nilai input.

Nilai Input Hasil
undefined 'undefined'
null 'null'
true 'boolean'
12 'number'
'string' 'string'
{ a: 3 } 'object'
[ 1, 3 ] 'array'
(x) => x + 1 'function'

Izin terkait

Tidak ada.


getUrl

Menampilkan string yang mewakili semua atau sebagian dari URL saat ini, yang diberi jenis komponen, dan beberapa parameter konfigurasi.

Sintaksis

getUrl(component)

Parameter

Parameter Jenis Deskripsi
component string Komponen yang akan ditampilkan dari URL. Harus berupa salah satu dari: protocol, host, port, path, query, extension, fragment. Jika komponennya adalah undefined, null, atau tidak cocok dengan salah satu komponen ini, seluruh nilai href akan ditampilkan.

Izin terkait

get_url


gtagSet

Mendorong perintah set gtag ke lapisan data, untuk diproses sesegera mungkin setelah peristiwa yang aktif dan semua tag yang dipicunya selesai diproses (atau waktu tunggu pemrosesan tag habis). Pembaruan dijamin akan diproses dalam penampung ini sebelum item dalam antrean di antrean lapisan data.

Misalnya, jika dipanggil oleh tag yang diaktifkan saat Inisialisasi Izin, pembaruan akan diterapkan sebelum peristiwa Inisialisasi diproses. Contohnya adalah ads_data_redaction ditetapkan ke true atau false atau url_passthrough ditetapkan ke true atau false.

Contoh:

const gtagSet = require('gtagSet');

gtagSet({
  'ads_data_redaction': true,
  'url_passthrough': true,
});

Sintaksis

gtagSet(object)

Parameter

Parameter Jenis Deskripsi
Object objek Objek yang memperbarui status global untuk properti penampungnya.

Izin terkait

write_data_layer akan memeriksa izin tulis ke dataLayer untuk semua kunci yang ditentukan. Jika input untuk gtagSet adalah objek biasa, API akan memeriksa izin tulis untuk semua kunci yang disatukan di dalam objek tersebut, misalnya, untuk gtagSet({foo: {bar: 'baz'}}), API akan memeriksa izin tulis untuk foo.bar.

Jika input untuk gtagSet adalah kunci dan beberapa nilai objek tidak biasa, API akan memeriksa izin tulis untuk kunci tersebut, misalnya, untuk gtagSet('abc', true) , API akan memeriksa izin tulis untuk 'abc'.

Perlu diketahui bahwa jika ada siklus dalam objek input, hanya kunci yang belum mencapai objek yang sama yang akan diperiksa.


injectHiddenIframe

Menambahkan iframe tak terlihat ke halaman.

Callback diberikan sebagai instance fungsi, dan digabungkan dalam fungsi JavaScript yang memanggilnya.

Sintaksis

injectHiddenIframe(url, onSuccess)

Parameter

Parameter Jenis Deskripsi
url string URL yang akan digunakan sebagai nilai atribut src iframe.
onSuccess fungsi Dipanggil saat frame berhasil dimuat.

Izin terkait

inject_hidden_iframe


injectScript

Menambahkan tag skrip ke halaman untuk memuat URL yang diberikan secara asinkron. Callback diberikan sebagai instance fungsi, dan digabungkan dalam fungsi JavaScript yang memanggilnya.

Sintaksis

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

Parameter

Parameter Jenis Deskripsi
url string Alamat skrip yang akan dimasukkan.
onSuccess fungsi Dipanggil saat skrip berhasil dimuat.
onFailure fungsi Dipanggil saat skrip gagal dimuat.
cacheToken string String opsional yang digunakan untuk menunjukkan URL yang diberikan harus disimpan dalam cache. Jika nilai ini ditentukan, hanya satu elemen skrip yang akan dibuat untuk meminta JavaScript. Setiap percobaan tambahan untuk memuat skrip akan menyebabkan metode onSuccess dan onFailure yang diberikan dimasukkan ke dalam antrean sampai skrip dimuat.

Izin terkait

inject_script


isConsentGranted

Menampilkan true (benar) jika jenis izin yang ditentukan diberikan.

Izin untuk jenis izin tertentu dianggap diberikan jika jenis izin tersebut telah ditetapkan ke 'granted' (diberikan) atau tidak ditetapkan sama sekali. Jika ditetapkan ke nilai lain, jenis izin akan dianggap tidak diberikan.

Antarmuka pengguna Tag Manager untuk setelan tag akan menawarkan opsi untuk selalu diaktifkan. Jika tag dengan pemicu selalu diaktifkan menggunakan API ini, izin dianggap sudah diberikan dan true akan ditampilkan, terlepas dari status izin yang sebenarnya.

Contoh:

const isConsentGranted = require('isConsentGranted');

if (isConsentGranted('ad_storage')) {
  sendFullPixel();
} else {
  sendPixelWithoutCookies();
}

Sintaksis

isConsentGranted(consentType)

Parameter

Parameter Jenis Deskripsi
consentType string Jenis izin untuk memeriksa status.

Izin terkait

Izin access_consent dengan akses baca untuk jenis izin.


JSON

Menampilkan objek yang menyediakan fungsi JSON.

Fungsi parse() akan mengurai string JSON untuk membuat nilai atau objek yang dijelaskan oleh string. Jika nilainya tidak dapat diuraikan (misalnya, format JSON salah), fungsi ini akan menampilkan undefined. Jika nilai input bukan berupa string, input tersebut akan dikonversi menjadi string.

Fungsi stringify() mengonversi input menjadi string JSON. Jika nilai tidak dapat diuraikan (misalnya, objek memiliki siklus), metode akan menampilkan undefined.

Sintaksis

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

Parameter

JSON.parse

Parameter Jenis Deskripsi
stringInput apa pun Nilai yang akan dikonversi. Jika nilai bukan berupa string, input tersebut akan dikonversi menjadi string.

JSON.stringify

Parameter Jenis Deskripsi
value apa pun Nilai yang akan dikonversi.

Contoh

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

Menampilkan objek dengan metode untuk mengakses penyimpanan lokal.

Sintaksis

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);

Izin terkait

access_local_storage

Contoh

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

Mencatat argumen ke konsol browser.

Sintaksis

logToConsole(obj1 [, obj2,... objN])

Parameter

Parameter Jenis Deskripsi
obj1 [, obj2,... objN] apa pun Argumen

Izin terkait

logging


makeInteger

Mengonversi nilai yang diberikan ke sebuah angka (bilangan bulat).

Sintaksis

makeInteger(value)

Parameter

Parameter Jenis Deskripsi
value apa pun Nilai yang akan dikonversi.

Izin terkait

Tidak ada.


makeNumber

Mengonversi nilai yang diberikan ke sebuah angka.

Sintaksis

makeNumber(value)

Parameter

Parameter Jenis Deskripsi
value apa pun Nilai yang akan dikonversi.

Izin terkait

Tidak ada.


makeString

Menampilkan nilai yang diberikan sebagai string.

Sintaksis

makeString(value)

Parameter

Parameter Jenis Deskripsi
value apa pun Nilai yang akan dikonversi.

Izin terkait

Tidak ada.


makeTableMap

Mengonversi objek tabel sederhana dengan dua kolom menjadi Map. API ini digunakan untuk mengubah kolom template SIMPLE_TABLE dengan dua kolom menjadi format yang lebih mudah dikelola.

Misalnya, fungsi ini dapat mengonversi objek tabel:

[
  {'key': 'k1', 'value': 'v1'},
  {'key': 'k2', 'value': 'v2'}
]

menjadi Peta:

{
  'k1': 'v1',
  'k2': 'v2'
}

Menampilkan Objek: Map yang dikonversi jika pasangan nilai kunci telah ditambahkan ke sini atau null jika tidak.

Sintaksis

makeTableMap(tableObj, keyColumnName, valueColumnName)

Parameter

Parameter Jenis Deskripsi
tableObj Daftar Objek tabel yang akan dikonversi. Parameter ini adalah daftar peta dengan setiap Map mewakili baris dalam tabel. Setiap nama properti dalam objek baris adalah nama kolom, dan nilai properti adalah nilai kolom dalam baris.
keyColumnName string Nama kolom yang nilainya akan menjadi kunci dalam Map yang dikonversi.
valueColumnName string Nama kolom yang nilainya akan menjadi nilai dalam Map yang dikonversi.

Izin terkait

Tidak ada.


Math

Objek yang menyediakan fungsi Math.

Sintaksis

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);

Parameter

Parameter fungsi matematika dikonversi menjadi angka.

Izin terkait

Tidak ada.


Object

Menampilkan objek yang menyediakan metode Object.

Metode keys() menyediakan perilaku Object.keys() Library Standar. Metode ini menampilkan array nama properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in.... Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.

Metode values() menyediakan perilaku Object.values() Library Standar. Metode ini menampilkan array nilai properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in.... Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.

Metode entries() menyediakan perilaku Object.entries() Library Standar. Metode ini menampilkan array pasangan [key, value] properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in.... Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.

Metode freeze() menyediakan perilaku Object.freeze() Library Standar. Objek beku tidak dapat diubah lagi; pembekuan objek akan mencegah penambahan properti baru ke dalamnya, penghapusan properti yang ada, dan pengubahan nilai properti yang ada. freeze() menampilkan objek yang sama yang diteruskan. Argumen primitif atau null akan diperlakukan seolah-olah merupakan objek yang dibekukan, dan akan ditampilkan.

Metode delete() menyediakan perilaku operator 'delete' Library Standar. Metode ini akan menghapus kunci yang diberikan dari objek kecuali jika objek dibekukan. Seperti operator 'delete' Library Standar, metode ini akan menampilkan true jika nilai input pertama (objectInput) adalah objek yang tidak dibekukan meskipun jika nilai input kedua (keyToDelete) menentukan kunci yang tidak ada. Metode ini akan menampilkan false dalam semua kasus lainnya. Namun ada perbedaan dengan operator 'delete' Library Standar dalam hal berikut:

  • keyToDelete tidak boleh berupa string yang dipisahkan titik yang menentukan kunci bertingkat.
  • delete() tidak boleh digunakan untuk menghapus elemen dari array.
  • delete() tidak boleh digunakan untuk menghapus properti dari cakupan global.

Sintaksis

Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)

Parameter

Object.keys

Parameter Jenis Deskripsi
objectInput apa pun Objek yang kuncinya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek.

Object.values

Parameter Jenis Deskripsi
objectInput apa pun Objek yang nilainya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek.

Object.entries

Parameter Jenis Deskripsi
objectInput apa pun Objek yang pasangan nilai kuncinya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek.

Object.freeze

Parameter Jenis Deskripsi
objectInput apa pun Objek yang akan dibekukan. Jika bukan objek, input akan diperlakukan sebagai objek yang dibekukan.

Object.delete

Parameter Jenis Deskripsi
objectInput apa pun Objek yang kuncinya akan dihapus.
keyToDelete string Kunci level atas yang akan dihapus.

Contoh

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

Menampilkan objek yang berisi semua bagian komponen URL tertentu, mirip dengan objek URL.

API ini akan menampilkan undefined untuk URL dengan format yang salah. Untuk URL yang diformat dengan benar, kolom yang tidak ada dalam string URL akan memiliki nilai string kosong, atau objek kosong untuk searchParams.

Objek yang ditampilkan akan memiliki kolom berikut:

{
  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,
}

Contoh

const parseUrl = require('parseUrl');

const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');

Sintaksis

parseUrl(url);

Parameter

Parameter Jenis Deskripsi
url string URL lengkap yang akan diuraikan.

Izin terkait

Tidak ada.


queryPermission

Mengkueri izin yang diperbolehkan dan dipersempit. Menampilkan boolean: true jika izin diberikan, false jika tidak.

Sintaksis

queryPermission(permission, functionArgs*)

Parameter

Parameter Jenis Deskripsi
permission string Nama izin.
functionArgs apa pun Argumen fungsi bervariasi berdasarkan izin yang sedang dikueri. Lihat Argumen Fungsi di bawah.

Argumen Fungsi

sendPixel, injectScript, injectHiddenIframe: Parameter kedua harus berupa string URL.

writeGlobals, readGlobals: Parameter kedua harus berupa kunci yang ditulis atau dibaca.

readUrl: Tidak ada argumen tambahan yang diperlukan untuk mengkueri apakah seluruh URL dapat dibaca atau tidak. Untuk mengkueri apakah komponen tertentu dapat dibaca, teruskan nama komponen sebagai argumen kedua:

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

Untuk memeriksa apakah kunci kueri tertentu dapat dibaca, teruskan kunci kueri sebagai parameter ketiga:

if (queryPermission('readUrl','query','key')) {
  getUrlComponent(...);
}

Izin terkait

Tidak ada.


readCharacterSet

Menampilkan nilai document.characterSet.

Sintaksis

readCharacterSet()

Parameter

Tidak ada.

Izin terkait

read_character_set


readTitle

Menampilkan nilai document.title.

Sintaksis

readTitle()

Parameter

Tidak ada.

Izin terkait

read_title


require

Mengimpor fungsi bawaan berdasarkan nama. Menampilkan fungsi atau objek yang dapat dipanggil dari program Anda. Menampilkan undefined saat browser tidak mendukung fungsi bawaan.

Sintaksis

require(name)

Parameter

Parameter Jenis Deskripsi
name string Nama fungsi yang akan diimpor.

Contoh

const getUrl = require('getUrl');
const url = getUrl();

Izin terkait

Tidak ada.


sendPixel

Membuat permintaan GET ke endpoint URL yang ditentukan.

Sintaksis

sendPixel(url, onSuccess, onFailure)

Parameter

Parameter Jenis Deskripsi
url string Tujuan pengiriman piksel.
onSuccess fungsi Dipanggil saat piksel berhasil dimuat. Catatan: meskipun jika permintaan berhasil dikirim, browser mungkin memerlukan respons gambar yang valid agar dapat menjalankan onSuccess.
onFailure fungsi Dipanggil saat piksel gagal dimuat. Catatan: meskipun jika permintaan berhasil dikirim, onFailure dapat berjalan jika server tidak menampilkan respons gambar yang valid.

Izin terkait

send_pixel


setCookie

Menetapkan atau menghapus cookie dengan nama, nilai, dan opsi yang ditentukan.

Sintaksis

setCookie(name, value[, options, encode])

Parameter

Parameter Jenis Deskripsi
name string Nama cookie.
value string Nilai cookie.
options objek Menentukan atribut Domain, Path, Expires, Max-Age, Secure, dan SameSite. (Lihat Opsi, di bawah).
encode boolean Mengontrol apakah nilai cookie dienkode dengan encodeURIComponent() JavaScript. Nilai defaultnya adalah true.

Opsi

  • Domain: ditetapkan oleh properti options['domain'], jika ada. Tetapkan nilai ini ke 'auto' untuk mencoba menulis cookie menggunakan domain seluas mungkin, berdasarkan lokasi dokumen. Jika gagal, opsi ini akan mencoba subdomain yang lebih sempit secara berurutan. Jika semua upaya di atas tidak berhasil, cookie akan dicoba untuk ditulis tanpa domain. Jika nilai tidak ditetapkan, opsi ini akan mencoba menulis cookie tanpa domain yang ditentukan. Catatan: Jika cookie tanpa domain yang ditentukan ditulis ke document.cookie, agen pengguna akan menetapkan domain cookie tersebut secara default ke host lokasi dokumen yang aktif.
  • Path: ditetapkan oleh options['path'], jika ada. Jika cookie tanpa jalur yang ditentukan ditulis ke document.cookie, agen pengguna akan menetapkan jalur cookie tersebut secara default ke jalur lokasi dokumen yang aktif.
  • Max-Age: ditetapkan oleh options['max-age'], jika ada.
  • Expires: ditetapkan oleh options['expires'], jika ada. Jika ada, string ini harus berupa string tanggal berformat UTC. Date.toUTCString() dapat digunakan untuk memformat Date untuk parameter ini.
  • Secure: ditetapkan oleh options['secure'], jika ada.
  • SameSite: ditetapkan oleh options['samesite'], jika ada.

Izin terkait

set_cookies


setDefaultConsentState

Mengirim pembaruan izin default ke lapisan data, untuk diproses sesegera mungkin setelah peristiwa yang aktif dan semua tag yang dipicu telah selesai diproses (atau waktu tunggu pemrosesan tag tercapai). Pembaruan dijamin akan diproses dalam penampung ini sebelum item dalam antrean di lapisan data. Pelajari izin lebih lanjut.

Contoh:

const setDefaultConsentState = require('setDefaultConsentState');

setDefaultConsentState({
  'ad_storage': 'denied',
  'analytics_storage': 'granted',
  'third_party_storage': 'denied',
  'region': ['US-CA'],
  'wait_for_update': 500
});

Sintaksis

setDefaultConsentState(consentSettings)

Parameter

Parameter Jenis Deskripsi
consentSettings objek Objek yang menentukan status default untuk jenis izin yang ditentukan.

Objek consentSettings adalah pemetaan string jenis izin arbitrer ke salah satu dari 'granted' atau 'denied'. Kode ini mendukung nilai berikut:

Nama Kunci Jenis Deskripsi
consentType string Nilai untuk setiap jenis izin dapat ditetapkan ke `'granted'` atau `'denied'`. Setiap nilai selain `'granted'` akan diperlakukan sebagai `'denied'`. Menetapkan nilai ke `undefined` tidak akan memengaruhi nilai sebelumnya.
region Array Array opsional dari kode wilayah yang menentukan wilayah tempat setelan izin diterapkan. Kode wilayah diekspresikan menggunakan negara dan/atau subdivisi dalam format ISO 3166-2.
wait_for_update angka Menentukan nilai milidetik untuk mengontrol durasi tunggu sebelum data dikirim. Digunakan dengan alat izin yang dimuat secara asinkron.

Izin terkait

Izin access_consent dengan akses tulis untuk semua jenis izin di objek consentSettings.


setInWindow

Menetapkan nilai yang diberikan dalam window pada kunci yang diberikan. Secara default, metode ini tidak akan menetapkan nilai dalam window jika sudah ada nilai. Tetapkan overrideExisting ke true untuk menetapkan nilai di window, terlepas dari apakah sudah ada nilainya atau belum. Menampilkan boolean: true jika nilainya berhasil ditetapkan, dan false jika tidak.

Sintaksis

setInWindow(key, value, overrideExisting)

Parameter

Parameter Jenis Deskripsi
key string Kunci dalam window untuk menempatkan nilai.
value * Nilai yang ditetapkan dalam window.
overrideExisting boolean Tanda yang menunjukkan bahwa nilai harus ditetapkan dalam window, terlepas dari apakah sudah ada nilainya atau belum.

Izin terkait

access_globals


sha256

Menghitung digest SHA-256 input dan memanggil callback dengan digest yang dienkode dalam base64, kecuali jika objek options menyatakan encoding output yang berbeda.

Contoh:

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'});

Sintaksis

sha256(input, onSuccess, onFailure = undefined, options = undefined)

Parameter

Parameter Jenis Deskripsi
input string String untuk menghitung hash.
onSuccess fungsi Dipanggil dengan digest yang dihasilkan, dienkode dalam base64, kecuali jika objek options menentukan encoding output yang berbeda.
onFailure fungsi Dipanggil jika terjadi error saat menghitung digest, atau jika browser tidak memiliki dukungan native untuk sha256. Callback dipanggil dengan objek yang berisi nama error, dan pesan.
options objek Objek opsi Opsional untuk menentukan encoding output. Jika ditentukan, objek ini harus berisi kunci outputEncoding dengan nilai sebagai salah satu dari base64 atau hex.

Izin terkait

Tidak ada.


templateStorage

Menampilkan objek dengan metode untuk mengakses penyimpanan template. Dengan penyimpanan template, data dapat dibagikan di seluruh eksekusi dalam satu template. Data yang disimpan di penyimpanan template akan tetap ada di sepanjang waktu halaman.

Sintaksis

const templateStorage = require('templateStorage');

templateStorage.getItem(key);

templateStorage.setItem(key, value);

templateStorage.removeItem(key);

// Deletes all stored values for the template.
templateStorage.clear();

Izin terkait

access_template_storage

Contoh

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 memungkinkan Anda mengenkode string ke dalam representasi base64.

Sintaksis

toBase64(input)

Parameter

Parameter Jenis Deskripsi
input string String yang akan dienkode.

Contoh

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

Izin terkait

Tidak ada


updateConsentState

Mengirim pembaruan izin ke lapisan data, untuk diproses sesegera mungkin setelah peristiwa yang aktif dan semua tag yang dipicunya selesai diproses (atau waktu tunggu pemrosesan tag habis). Pembaruan dijamin akan diproses dalam penampung ini sebelum item dalam antrean di lapisan data. Pelajari izin lebih lanjut.

Contoh:

const updateConsentState = require('updateConsentState');

updateConsentState({
  'ad_storage': 'granted',
  'analytics_storage': 'denied',
  'third_party_storage': 'granted',
});

Sintaksis

updateConsentState(consentSettings)

Parameter

Parameter Jenis Deskripsi
consentSettings objek Objek yang memperbarui status untuk jenis izin yang ditentukan.

Objek consentSettings adalah pemetaan string jenis izin arbitrer ke salah satu dari 'granted' atau 'denied'. Kode ini mendukung nilai berikut:

Nama Kunci Jenis Deskripsi
consentType string Nilai untuk setiap jenis izin dapat ditetapkan ke 'granted' atau 'denied'. Setiap nilai selain 'granted' akan diperlakukan sebagai 'denied'. Menetapkan nilai ke 'undefined' memengaruhi nilai sebelumnya.

Izin terkait

Izin access_consent dengan akses tulis untuk semua jenis izin di objek consentSettings.


API Pengujian

API ini berfungsi bersama pengujian JavaScript dengan sandbox untuk membuat pengujian bagi template kustom di Google Tag Manager. API pengujian ini tidak memerlukan pernyataan require(). Pelajari pengujian template kustom lebih lanjut.


assertApi

Menampilkan objek matcher yang dapat digunakan untuk membuat pernyataan secara lancar tentang API tertentu.

Sintaksis

assertApi(apiName)

Parameter

Parameter Jenis Deskripsi
apiName string Nama API yang akan diperiksa; string yang sama seperti yang diteruskan ke require().

Matcher

  • Subject.wasCalled()
  • Subject.wasNotCalled()
  • Subject.wasCalledWith(...expected)
  • Subject.wasNotCalledWith(...expected)

Contoh

assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');

assertThat

API assertThat dibuat sesuai model library [Truth] Google. API ini menampilkan objek yang dapat digunakan untuk membuat pernyataan secara lancar tentang nilai subjek. Kegagalan pernyataan akan segera menghentikan pengujian dan menandainya sebagai gagal. Namun, kegagalan dalam satu pengujian tidak akan memengaruhi kasus pengujian lainnya.

Sintaksis

assertThat(actual, opt_message)

Parameter

Parameter Jenis Deskripsi
actual apa pun Nilai yang akan digunakan dalam pemeriksaan yang lancar.
opt_message string Pesan opsional yang akan dicetak jika pernyataan gagal.

Matcher

Matcher Deskripsi
isUndefined() Menyatakan bahwa subjek adalah undefined.
isDefined() Menyatakan bahwa subjek bukan undefined.
isNull() Menyatakan bahwa subjek adalah null.
isNotNull() Menyatakan bahwa subjek bukan null.
isFalse() Menyatakan bahwa subjek adalah false.
isTrue() Menyatakan bahwa subjek adalah true.
isFalsy() Menyatakan bahwa subjek falsy (bersifat salah). Nilai falsy adalah undefined, null, false, NaN, 0, dan '' (string kosong).
isTruthy() Menyatakan bahwa subjek truthy (bersifat benar). Nilai falsy adalah undefined, null, false, NaN, 0, dan '' (string kosong).
isNaN() Menyatakan bahwa subjek adalah nilai NaN.
isNotNaN() Menyatakan bahwa subjek adalah nilai apa pun selain NaN.
isInfinity() Menyatakan bahwa subjek adalah nilai tak terbatas positif atau negatif.
isNotInfinity() Menyatakan bahwa subjek adalah nilai apa pun selain nilai tak terbatas positif atau negatif.
isEqualTo(expected) Menyatakan bahwa subjek sama dengan nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
isNotEqualTo(expected) Menyatakan bahwa subjek tidak sama dengan nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
isAnyOf(...expected) Menyatakan bahwa subjek sama dengan salah satu nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
isNoneOf(...expected) Menyatakan bahwa subjek tidak sama dengan salah satu nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
isStrictlyEqualTo(expected) Menyatakan bahwa subjek sama persis (===) dengan nilai yang diberikan.
isNotStrictlyEqualTo(expected) Menyatakan bahwa subjek tidak sama persis (!==) dengan nilai yang diberikan.
isGreaterThan(expected) Menyatakan bahwa subjek lebih besar dari (>) nilai yang diberikan dalam perbandingan yang diurutkan.
isGreaterThanOrEqualTo(expected) Menyatakan bahwa subjek lebih besar dari atau sama dengan (>=) nilai yang diberikan dalam perbandingan yang diurutkan.
isLessThan(expected) Menyatakan bahwa subjek lebih kecil dari (<) nilai yang diberikan dalam perbandingan yang diurutkan.
isLessThanOrEqualTo(expected) Menyatakan bahwa subjek lebih kecil dari atau sama dengan (<=) nilai yang diberikan dalam perbandingan yang diurutkan.
contains(...expected) Menyatakan bahwa subjek adalah array atau string yang berisi semua nilai yang diberikan dalam urutan apa pun. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
doesNotContain(...expected) Menyatakan bahwa subjek adalah array atau string yang tidak berisi nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
containsExactly(...expected) Menyatakan bahwa subjek adalah array yang berisi semua nilai yang diberikan dalam urutan apa pun dan tidak ada nilai lain. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
doesNotContainExactly(...expected) Menyatakan bahwa subjek adalah array yang berisi kumpulan nilai yang berbeda dari nilai yang diberikan dalam urutan apa pun. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif.
hasLength(expected) Menyatakan bahwa subjek adalah array atau string dengan panjang yang diberikan. Pernyataan selalu gagal jika nilainya bukan array atau string.
isEmpty() Menyatakan bahwa subjek adalah array atau string yang kosong (panjang = 0). Pernyataan selalu gagal jika nilainya bukan array atau string.
isNotEmpty() Menyatakan bahwa subjek adalah array atau string yang tidak kosong (panjang > 0). Pernyataan selalu gagal jika nilainya bukan array atau string.
isArray() Menyatakan bahwa jenis subjek adalah array.
isBoolean() Menyatakan bahwa jenis subjek adalah boolean.
isFunction() Menyatakan bahwa jenis subjek adalah fungsi.
isNumber() Menyatakan bahwa jenis subjek adalah angka.
isObject() Menyatakan bahwa jenis subjek adalah objek.
isString() Menyatakan bahwa jenis subjek adalah string.

Contoh

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

Segera menggagalkan pengujian yang aktif dan mencetak pesan yang diberikan, jika disediakan.

Sintaksis

fail(opt_message);

Parameter

Parameter Jenis Deskripsi
opt_message string Teks pesan error opsional.

Contoh

fail('This test has failed.');

mock

API mock memungkinkan Anda mengganti perilaku API dengan sandbox. API tiruan ini aman digunakan dalam kode template, tetapi tidak beroperasi saat tidak dalam mode pengujian. Model direset sebelum setiap pengujian dijalankan.

Sintaksis

mock(apiName, returnValue);

Parameter

Parameter Jenis Deskripsi
apiName string Nama API yang akan ditiru; string yang sama seperti yang diteruskan ke require()
returnValue apa pun Nilai yang akan ditampilkan untuk API atau fungsi yang dipanggil sebagai pengganti API. Jika returnValue adalah fungsi, fungsi tersebut dipanggil sebagai pengganti API dengan sandbox; jika returnValue adalah sesuatu selain fungsi, nilai tersebut akan ditampilkan sebagai pengganti API dengan sandbox.

Contoh

mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
    onSuccess();
});

runCode

Menjalankan kode untuk template, yaitu konten tab Kode, di lingkungan pengujian saat ini dengan objek data input tertentu.

Sintaksis

runCode(data)

Parameter

Parameter Jenis Deskripsi
data objek Objek data yang akan digunakan dalam pengujian.

Nilai Hasil

Menampilkan nilai variabel untuk template variabel; menampilkan undefined untuk semua jenis template lainnya.

Contoh

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