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
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
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
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
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
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
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
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
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
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
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
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
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
readTitle
Menampilkan nilai document.title
.
Sintaksis
readTitle()
Parameter
Tidak ada.
Izin terkait
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
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 . |
- 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 kedocument.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 kedocument.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 memformatDate
untuk parameter ini. - Secure: ditetapkan oleh
options['secure']
, jika ada. - SameSite: ditetapkan oleh
options['samesite']
, jika ada.
Izin terkait
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
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
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'});